reSIProcate/rutil  9694
Public Member Functions | Private Attributes
resip::FileSystem::Directory::iterator Class Reference

#include <FileSystem.hxx>

Collaboration diagram for resip::FileSystem::Directory::iterator:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 iterator (const Directory &dir)
 iterator ()
 ~iterator ()
iteratoroperator++ ()
bool operator!= (const iterator &rhs) const
bool operator== (const iterator &rhs) const
const Dataoperator* () const
const Dataoperator-> () const

Private Attributes

DIR * mNixDir
struct dirent * mDirent
Data mFile

Detailed Description

Definition at line 38 of file FileSystem.hxx.


Constructor & Destructor Documentation

FileSystem::Directory::iterator::iterator ( const Directory dir)

Definition at line 26 of file FileSystem.cxx.

References resip::Data::c_str(), resip::Data::empty(), and resip::FileSystem::Directory::getPath().

{
   assert(!dir.getPath().empty());   
   //InfoLog(<< "FileSystem::Directory::iterator::iterator: " << dir.getPath());   
   if ((mNixDir = opendir( dir.getPath().c_str() )))
   {
      mDirent = readdir(mNixDir);
      if (mDirent)
      {
         //InfoLog(<< "FileSystem::Directory::iterator::iterator, first file " << mFile);   
         mFile = mDirent->d_name;
      }
   }
   else
   {
      mDirent = 0;
   }
}

Here is the call graph for this function:

FileSystem::Directory::iterator::iterator ( )

Definition at line 21 of file FileSystem.cxx.

                                      : mNixDir(0), mDirent(0)
{
}
FileSystem::Directory::iterator::~iterator ( )

Definition at line 46 of file FileSystem.cxx.

{
   if (mNixDir)
   {
      closedir(mNixDir);
   }
}

Member Function Documentation

bool FileSystem::Directory::iterator::operator!= ( const iterator rhs) const

Definition at line 72 of file FileSystem.cxx.

{
   return !(*this == rhs);
}
const Data & FileSystem::Directory::iterator::operator* ( ) const

Definition at line 91 of file FileSystem.cxx.

{
   return mFile;
}
FileSystem::Directory::iterator & FileSystem::Directory::iterator::operator++ ( )

Definition at line 56 of file FileSystem.cxx.

{
   if (mDirent)
   {
      mDirent = readdir(mNixDir);
      if (mDirent)
      {
         mFile = mDirent->d_name;
         //InfoLog(<< "FileSystem::Directory::iterator::iterator, next file " << mFile);   
      }
   }
   return *this;
}
const Data * FileSystem::Directory::iterator::operator-> ( ) const

Definition at line 98 of file FileSystem.cxx.

{
   return &mFile;
}
bool FileSystem::Directory::iterator::operator== ( const iterator rhs) const

Definition at line 79 of file FileSystem.cxx.

References mDirent.

{
   if (mDirent && rhs.mDirent)
   {
      return **this == *rhs;
   }

   return mDirent == rhs.mDirent;
}

Member Data Documentation

Definition at line 55 of file FileSystem.hxx.

Referenced by operator==().

Definition at line 57 of file FileSystem.hxx.

Definition at line 54 of file FileSystem.hxx.


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