zipios
2.1.0
Zipios++ – a small C++ library that provides easy access to .zip files.
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
zipios
directorycollection.hpp
Go to the documentation of this file.
1
#pragma once
2
#ifndef ZIPIOS_DIRECTORYCOLLECTION_HPP
3
#define ZIPIOS_DIRECTORYCOLLECTION_HPP
4
5
/*
6
Zipios++ - a small C++ library that provides easy access to .zip files.
7
8
Copyright (C) 2000-2007 Thomas Sondergaard
9
Copyright (C) 2015 Made to Order Software Corporation
10
11
This library is free software; you can redistribute it and/or
12
modify it under the terms of the GNU Lesser General Public
13
License as published by the Free Software Foundation; either
14
version 2 of the License, or (at your option) any later version.
15
16
This library is distributed in the hope that it will be useful,
17
but WITHOUT ANY WARRANTY; without even the implied warranty of
18
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19
Lesser General Public License for more details.
20
21
You should have received a copy of the GNU Lesser General Public
22
License along with this library; if not, write to the Free Software
23
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24
*/
25
33
#include "
zipios/filecollection.hpp
"
34
#include "
zipios/directoryentry.hpp
"
35
36
37
namespace
zipios
38
{
39
40
41
class
DirectoryCollection
:
public
FileCollection
42
{
43
public
:
44
DirectoryCollection
();
45
DirectoryCollection
(std::string
const
& path,
bool
recursive =
true
);
46
virtual
pointer_t
clone
()
const override
;
47
virtual
~DirectoryCollection
()
override
;
48
49
virtual
void
close
()
override
;
50
virtual
FileEntry::vector_t
entries
()
const override
;
51
virtual
FileEntry::pointer_t
getEntry
(std::string
const
& name,
MatchPath
matchpath =
MatchPath::MATCH
)
const override
;
52
virtual
stream_pointer_t
getInputStream
(std::string
const
& entry_name,
MatchPath
matchpath =
MatchPath::MATCH
)
override
;
53
54
protected
:
55
void
loadEntries
()
const
;
56
void
load
(
FilePath
const
& subdir);
57
58
mutable
bool
m_entries_loaded
=
false
;
59
bool
m_recursive
=
true
;
60
FilePath
m_filepath
;
61
};
62
63
64
}
// zipios namespace
65
66
// Local Variables:
67
// mode: cpp
68
// indent-tabs-mode: nil
69
// c-basic-offset: 4
70
// tab-width: 4
71
// End:
72
73
// vim: ts=4 sw=4 et
74
#endif
zipios::FileCollection::pointer_t
std::shared_ptr< FileCollection > pointer_t
Definition:
filecollection.hpp:43
zipios::DirectoryCollection::entries
virtual FileEntry::vector_t entries() const override
Retrieve a vector to the collection entries.
Definition:
directorycollection.cpp:144
zipios::DirectoryCollection::loadEntries
void loadEntries() const
This is an internal function that loads the file entries.
Definition:
directorycollection.cpp:238
zipios::DirectoryCollection::m_entries_loaded
bool m_entries_loaded
Definition:
directorycollection.hpp:58
zipios::FileCollection::stream_pointer_t
std::shared_ptr< std::istream > stream_pointer_t
A shared pointer to an input stream.
Definition:
filecollection.hpp:45
zipios::DirectoryCollection::m_filepath
FilePath m_filepath
Definition:
directorycollection.hpp:60
zipios::DirectoryCollection
A collection generated from reading a directory.
Definition:
directorycollection.hpp:41
filecollection.hpp
Define the zipios::FileCollection class.
zipios::DirectoryCollection::close
virtual void close() override
Close the directory collection.
Definition:
directorycollection.cpp:120
zipios::DirectoryCollection::clone
virtual pointer_t clone() const override
Create another DirectoryCollection.
Definition:
directorycollection.cpp:225
zipios::DirectoryCollection::DirectoryCollection
DirectoryCollection()
Initialize a DirectoryCollection object.
Definition:
directorycollection.cpp:65
directoryentry.hpp
Define the zipios::DirectoryEntry class.
zipios::DirectoryCollection::load
void load(FilePath const &subdir)
This is the function loading all the file entries.
Definition:
directorycollection.cpp:280
zipios::FilePath
Handle a file path and name and its statistics.
Definition:
filepath.hpp:46
zipios::DirectoryCollection::m_recursive
bool m_recursive
Definition:
directorycollection.hpp:59
zipios::DirectoryCollection::~DirectoryCollection
virtual ~DirectoryCollection() override
Clean up a DirectoryCollection object.
Definition:
directorycollection.cpp:109
zipios::FileCollection
Base class for various file collections.
Definition:
filecollection.hpp:40
zipios::FileCollection::MatchPath
MatchPath
Definition:
filecollection.hpp:47
zipios::DirectoryCollection::getInputStream
virtual stream_pointer_t getInputStream(std::string const &entry_name, MatchPath matchpath=MatchPath::MATCH) override
Retrieve pointer to an istream.
Definition:
directorycollection.cpp:205
zipios::DirectoryCollection::getEntry
virtual FileEntry::pointer_t getEntry(std::string const &name, MatchPath matchpath=MatchPath::MATCH) const override
Get an entry from the collection.
Definition:
directorycollection.cpp:172
zipios::FileEntry::pointer_t
std::shared_ptr< FileEntry > pointer_t
Definition:
fileentry.hpp:77
zipios::FileCollection::MatchPath::MATCH
zipios::FileEntry::vector_t
std::vector< pointer_t > vector_t
Definition:
fileentry.hpp:78
Generated on Tue May 5 2015 16:56:26 for zipios by
1.8.6