OpenDDS  Snapshot(2023/04/28-20:55)
Classes | Namespaces | Macros | Functions
FileSystemStorage.h File Reference
#include "dcps_export.h"
#include "DirentWrapper.h"
#include "RcHandle_T.h"
#include "RcObject.h"
#include "ace/Synch_Traits.h"
#include "ace/SString.h"
#include <iosfwd>
#include "PoolAllocator.h"
#include <iterator>
Include dependency graph for FileSystemStorage.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  OpenDDS::FileSystemStorage::Directory
 
class  OpenDDS::FileSystemStorage::Directory::Iterator< Item >
 
class  OpenDDS::FileSystemStorage::File
 

Namespaces

 OpenDDS
 The Internal API and Implementation of OpenDDS.
 
 OpenDDS::FileSystemStorage
 

Macros

#define OPENDDS_FILESYSTEMSTORAGE_MAX_FILES_PER_DIR   512
 
#define DDS_DIRENT   ACE_DIRENT
 
#define DDS_Dirent   ACE_Dirent
 

Functions

ACE_TString OpenDDS::FileSystemStorage::b32h_encode (const ACE_TCHAR *decoded)
 
ACE_TString OpenDDS::FileSystemStorage::b32h_decode (const ACE_TCHAR *encoded)
 

Macro Definition Documentation

◆ DDS_DIRENT

#define DDS_DIRENT   ACE_DIRENT

See $DDS_ROOT/docs/design/persistence.txt General usage notes for FileSystemStorage:

  • Start by calling Directory::create() to get a handle on a new or existing directory. All of its files and subdirectories must be managed by this library. The file and directory names will be encoded so the application doesn't need to be aware of filesystem limitations regarding special characters or length limits (for directory names).
  • File names are limited to 150 characters, but directory names are unlimited.
  • The get_*() functions always create the file/dir if it doesn't exist.
  • The application must take care not to create two objects representing the same node in the filesystem (for example via get_file() and via iteration) because their state will not be kept consistent if one is modified.
  • Locking is the responsibility of the application.
  • These classes will throw std::runtime_error if there is a problem with the underlying file system (out of space, bad permissions, etc.) or other unexpected/irregular condition.

Definition at line 89 of file FileSystemStorage.h.

Referenced by OpenDDS::FileSystemStorage::Directory::scan_dir().

◆ DDS_Dirent

#define DDS_Dirent   ACE_Dirent

◆ OPENDDS_FILESYSTEMSTORAGE_MAX_FILES_PER_DIR

#define OPENDDS_FILESYSTEMSTORAGE_MAX_FILES_PER_DIR   512