OpenDDS::FileSystemStorage::Directory Class Reference

#include <FileSystemStorage.h>

Inheritance diagram for OpenDDS::FileSystemStorage::Directory:

Inheritance graph
[legend]
Collaboration diagram for OpenDDS::FileSystemStorage::Directory:

Collaboration graph
[legend]
List of all members.

Public Types

typedef RcHandle< DirectoryPtr
typedef Iterator< FileFileIterator
typedef Iterator< DirectoryDirectoryIterator

Public Member Functions

FileIterator begin_files ()
FileIterator end_files ()
RcHandle< Fileget_file (const char *name)
RcHandle< Filecreate_next_file ()
 assumes all files in this dir are created with this API
DirectoryIterator begin_dirs ()
DirectoryIterator end_dirs ()
Directory::Ptr get_dir (const std::vector< std::string > &path)
Directory::Ptr get_subdir (const char *name)
Directory::Ptr create_next_dir ()
 assumes all subdirectories in this dir are created with this API
void remove ()
std::string name () const
Directory::Ptr parent () const

Static Public Member Functions

static Ptr create (const char *root_path)

Private Types

typedef std::map< ACE_TString,
ACE_TString > 
Map

Private Member Functions

ACE_TString full_path (const ACE_TString &relative) const
 Directory (const ACE_TString &root_path, const ACE_TString &logical, Directory *parent)
void scan_dir (const ACE_TString &relative, DDS_Dirent &dir, unsigned int overflow_index)
RcHandle< Filemake_new_file (const ACE_TString &t_name)
void removing (const ACE_TString &logical_child, bool file)
Directory::Ptr make_new_subdir (const ACE_TString &logical)
ACE_TString add_entry ()

Private Attributes

Directory::Ptr parent_
ACE_TString physical_dirname_
ACE_TString logical_dirname_
std::map< unsigned int, unsigned
int > 
overflow_
Map files_
Map dirs_
std::map< ACE_TString, unsigned
int > 
long_names_

Friends

class File

Classes

class  Iterator

Member Typedef Documentation

typedef Iterator<Directory> OpenDDS::FileSystemStorage::Directory::DirectoryIterator

typedef Iterator<File> OpenDDS::FileSystemStorage::Directory::FileIterator

typedef std::map<ACE_TString, ACE_TString> OpenDDS::FileSystemStorage::Directory::Map [private]

typedef RcHandle<Directory> OpenDDS::FileSystemStorage::Directory::Ptr


Constructor & Destructor Documentation

OpenDDS::FileSystemStorage::Directory::Directory ( const ACE_TString &  root_path,
const ACE_TString &  logical,
Directory parent 
) [private]


Member Function Documentation

ACE_TString OpenDDS::FileSystemStorage::Directory::add_entry (  )  [private]

Directory::DirectoryIterator OpenDDS::FileSystemStorage::Directory::begin_dirs (  ) 

Directory::FileIterator OpenDDS::FileSystemStorage::Directory::begin_files (  ) 

Directory::Ptr OpenDDS::FileSystemStorage::Directory::create ( const char *  root_path  )  [static]

If root_path is relative it is up to the application to make sure the current directory is not changed while this object or any of its "child" objects are still alive.

Directory::Ptr OpenDDS::FileSystemStorage::Directory::create_next_dir (  ) 

assumes all subdirectories in this dir are created with this API

File::Ptr OpenDDS::FileSystemStorage::Directory::create_next_file (  ) 

assumes all files in this dir are created with this API

Directory::DirectoryIterator OpenDDS::FileSystemStorage::Directory::end_dirs (  ) 

Directory::FileIterator OpenDDS::FileSystemStorage::Directory::end_files (  ) 

ACE_TString OpenDDS::FileSystemStorage::Directory::full_path ( const ACE_TString &  relative  )  const [private]

Directory::Ptr OpenDDS::FileSystemStorage::Directory::get_dir ( const std::vector< std::string > &  path  ) 

File::Ptr OpenDDS::FileSystemStorage::Directory::get_file ( const char *  name  ) 

Directory::Ptr OpenDDS::FileSystemStorage::Directory::get_subdir ( const char *  name  ) 

File::Ptr OpenDDS::FileSystemStorage::Directory::make_new_file ( const ACE_TString &  t_name  )  [private]

Directory::Ptr OpenDDS::FileSystemStorage::Directory::make_new_subdir ( const ACE_TString &  logical  )  [private]

std::string OpenDDS::FileSystemStorage::Directory::name (  )  const

Directory::Ptr OpenDDS::FileSystemStorage::Directory::parent (  )  const [inline]

void OpenDDS::FileSystemStorage::Directory::remove (  ) 

void OpenDDS::FileSystemStorage::Directory::removing ( const ACE_TString &  logical_child,
bool  file 
) [private]

void OpenDDS::FileSystemStorage::Directory::scan_dir ( const ACE_TString &  relative,
DDS_Dirent &  dir,
unsigned int  overflow_index 
) [private]


Friends And Related Function Documentation

friend class File [friend]


Member Data Documentation

Map OpenDDS::FileSystemStorage::Directory::dirs_ [private]

Map OpenDDS::FileSystemStorage::Directory::files_ [private]

ACE_TString OpenDDS::FileSystemStorage::Directory::logical_dirname_ [private]

std::map<ACE_TString, unsigned int> OpenDDS::FileSystemStorage::Directory::long_names_ [private]

std::map<unsigned int, unsigned int> OpenDDS::FileSystemStorage::Directory::overflow_ [private]

Directory::Ptr OpenDDS::FileSystemStorage::Directory::parent_ [private]

ACE_TString OpenDDS::FileSystemStorage::Directory::physical_dirname_ [private]


The documentation for this class was generated from the following files:
Generated on Wed Nov 16 15:29:33 2011 for OpenDDS by  doxygen 1.4.7