zipios::DirectoryCollection Class Reference

DirectoryCollection is a FileCollection that obtains its entries from a directory. More...

`#include <dircoll.h>`

Inheritance diagram for zipios::DirectoryCollection:
[legend]

## Public Member Functions

| DirectoryCollection ()
| Default Constructor.
| DirectoryCollection (const string &path, bool recursive=true, bool load_now=false)
| Constructor.
virtual void | close ()
| Closes the FileCollection.
virtual ConstEntries | entries () const
| Returns a vector of const pointers to the entries in the FileCollection.
virtual ConstEntryPointer | getEntry (const string &name, MatchPath matchpath=MATCH) const
| Returns a ConstEntryPointer to a FileEntry object for the entry with the specified name.
virtual istream * | getInputStream (const ConstEntryPointer &entry)
| Returns a pointer to an opened istream for the specified FileEntry.
virtual istream * | getInputStream (const string &entry_name, MatchPath matchpath=MATCH)
| Returns a pointer to an opened istream for the specified entry name.
virtual int | size () const
| Returns the number of entries in the FileCollection.
virtual FileCollection * | clone () const
| Create a heap allocated clone of the object this method is called for.
virtual | ~DirectoryCollection ()
| Destructor.
Public Member Functions inherited from zipios::FileCollection
| FileCollection ()
| FileCollection constructor.
| FileCollection (const FileCollection &src)
| Copy constructor.
const FileCollection & | operator= (const FileCollection &src)
| Copy assignment operator.
virtual string | getName () const
| Returns the name of the FileCollection.
bool | isValid () const
| The member function returns true if the collection is valid.
virtual | ~FileCollection ()
| FileCollection destructor.

## Protected Member Functions

void | loadEntries () const
void | load (bool recursive, const FilePath &subdir=FilePath())

## Protected Attributes

bool | _entries_loaded
bool | _recursive
FilePath | _filepath
Protected Attributes inherited from zipios::FileCollection
string | _filename
Entries | _entries
bool | _valid

## Additional Inherited Members

Public Types inherited from zipios::FileCollection
enum | MatchPath { IGNORE , MATCH }

## Detailed Description

DirectoryCollection is a FileCollection that obtains its entries from a directory.

Definition at line 19 of file dircoll.h.

## Constructor & Destructor Documentation

## DirectoryCollection() [1/2]

zipios::DirectoryCollection::DirectoryCollection | ( |  | ) |

inline explicit

Default Constructor.

Definition at line 23 of file dircoll.h.

## DirectoryCollection() [2/2]

zipios::DirectoryCollection::DirectoryCollection | ( | const string & | path,
|  | bool | recursive = true,
|  | bool | load_now = false )

explicit

Constructor.

Parameters

  path | A directory path name. If the name is not a valid directory the created DirectoryCollection will be invalid.
  load_now | Load directory into memory now. Otherwise it will be done when it is first needed.

Definition at line 21 of file dircoll.cpp.

## ~DirectoryCollection()

zipios::DirectoryCollection::~DirectoryCollection | ( |  | ) |

virtual

Destructor.

Definition at line 119 of file dircoll.cpp.

## Member Function Documentation

## clone()

FileCollection * zipios::DirectoryCollection::clone | ( |  | ) | const

virtual

Create a heap allocated clone of the object this method is called for.

The caller is responsible for deallocating the clone when he is done with it.

Returns
  A heap allocated copy of the object this method is called for.

Implements zipios::FileCollection.

Definition at line 115 of file dircoll.cpp.

## close()

void zipios::DirectoryCollection::close | ( |  | ) |

virtual

Closes the FileCollection.

Implements zipios::FileCollection.

Definition at line 34 of file dircoll.cpp.

## entries()

ConstEntries zipios::DirectoryCollection::entries | ( |  | ) | const

virtual

Returns a vector of const pointers to the entries in the FileCollection.

Returns
  a ConstEntries containing the entries of the FileCollection.

Exceptions

  InvalidStateException | Thrown if the collection is invalid.

Reimplemented from zipios::FileCollection.

Definition at line 39 of file dircoll.cpp.

## getEntry()

ConstEntryPointer zipios::DirectoryCollection::getEntry | ( | const string & | name,
|  | MatchPath | matchpath = MATCH ) const

virtual

Returns a ConstEntryPointer to a FileEntry object for the entry with the specified name.

To ignore the path part of the filename in search of a match, specify FileCollection::IGNORE as the second argument.

Parameters

  name | A string containing the name of the entry to get.
  matchpath | Speficy MATCH, if the path should match as well, specify IGNORE, if the path should be ignored.

Returns
  A ConstEntryPointer to the found entry. The returned pointer equals zero if no entry is found.

Exceptions

  InvalidStateException | Thrown if the collection is invalid.

Reimplemented from zipios::FileCollection.

Definition at line 50 of file dircoll.cpp.

## getInputStream() [1/2]

istream * zipios::DirectoryCollection::getInputStream | ( | const ConstEntryPointer & | entry | ) |

virtual

Returns a pointer to an opened istream for the specified FileEntry.

It is the callers responsibility to delete the stream when he is done with it. Returns 0, if there is no such FileEntry in the FileCollection.

Parameters

  entry | A ConstEntryPointer to the FileEntry to get an istream to.

Returns
  an open istream for the specified entry. The istream is allocated on heap and it is the users responsibility to delete it when he is done with it.

Exceptions

  InvalidStateException | Thrown if the collection is invalid.

Implements zipios::FileCollection.

Definition at line 69 of file dircoll.cpp.

## getInputStream() [2/2]

istream * zipios::DirectoryCollection::getInputStream | ( | const string & | entry_name,
|  | MatchPath | matchpath = MATCH )

virtual

Returns a pointer to an opened istream for the specified entry name.

It is the callers responsibility to delete the stream when he is done with it. Returns 0, if there is no entry with the specified name in the FileCollection.

Parameters

  matchpath | Speficy MATCH, if the path should match as well, specify IGNORE, if the path should be ignored.

Returns
  an open istream for the specified entry. The istream is allocated on heap and it is the users responsibility to delete it when he is done with it.

Exceptions

  InvalidStateException | Thrown if the collection is invalid.

Implements zipios::FileCollection.

Definition at line 77 of file dircoll.cpp.

## load()

void zipios::DirectoryCollection::load | ( | bool | recursive,
|  | const FilePath & | subdir = FilePath() )

protected

Definition at line 132 of file dircoll.cpp.

## loadEntries()

void zipios::DirectoryCollection::loadEntries | ( |  | ) | const

protected

Definition at line 122 of file dircoll.cpp.

## size()

int zipios::DirectoryCollection::size | ( |  | ) | const

virtual

Returns the number of entries in the FileCollection.

Returns
  the number of entries in the FileCollection.

Exceptions

  InvalidStateException | Thrown if the collection is invalid.

Reimplemented from zipios::FileCollection.

Definition at line 107 of file dircoll.cpp.

## Member Data Documentation

## _entries_loaded

bool zipios::DirectoryCollection::_entries_loaded

mutable protected

Definition at line 59 of file dircoll.h.

## _filepath

FilePath zipios::DirectoryCollection::_filepath

protected

Definition at line 61 of file dircoll.h.

## _recursive

bool zipios::DirectoryCollection::_recursive

protected

Definition at line 60 of file dircoll.h.

The documentation for this class was generated from the following files:

- dircoll.h
- dircoll.cpp