8 #ifndef OPENDDS_DCPS_FILESYSTEMSTORAGE_H 9 #define OPENDDS_DCPS_FILESYSTEMSTORAGE_H 11 #ifndef OPENDDS_SAFETY_PROFILE 27 #if !defined (ACE_LACKS_PRAGMA_ONCE) 34 #ifndef OPENDDS_FILESYSTEMSTORAGE_MAX_FILES_PER_DIR 35 #define OPENDDS_FILESYSTEMSTORAGE_MAX_FILES_PER_DIR 512 41 namespace FileSystemStorage {
63 #if defined ACE_WIN32 || defined ACE_USES_WCHAR 88 #else // non-Win32 non-uses-wchar 89 # define DDS_DIRENT ACE_DIRENT 90 # define DDS_Dirent ACE_Dirent 105 static Ptr create(
const char* root_path);
111 template <
typename Item>
158 if (item_.is_nil()) {
159 item_ = OpenDDS::DCPS::make_rch<Item>(outer_->full_path(delegate_->second),
160 delegate_->first, outer_);
175 FileIterator begin_files();
176 FileIterator end_files();
183 DirectoryIterator begin_dirs();
184 DirectoryIterator end_dirs();
201 template <
typename T,
typename U0,
typename U1,
typename U2>
207 unsigned int overflow_index);
209 void removing(
const ACE_TString& logical_child,
bool file);
228 bool write(std::ofstream& stream);
229 bool read(std::ifstream& stream);
238 template <
typename T,
typename U0,
typename U1,
typename U2>
ACE_TString b32h_encode(const ACE_TCHAR *decoded)
Directory::Ptr parent() const
Iterator< File > FileIterator
#define OpenDDS_Dcps_Export
std::ptrdiff_t difference_type
bool operator!=(const Iterator &rhs) const
ACE_TString physical_dirname_
int close(ACE_HANDLE handle)
Iterator< Directory > DirectoryIterator
Item::Ptr operator*() const
ACE_HANDLE open(const char *filename, int mode, mode_t perms=ACE_DEFAULT_OPEN_PERMS, LPSECURITY_ATTRIBUTES sa=0)
bool operator==(const Iterator &rhs) const
Iterator(const IterDelegate &del, const Directory::Ptr &outer)
ACE_TString physical_file_
Item::Ptr operator->() const
std::input_iterator_tag iterator_category
RcHandle< Directory > Ptr
ssize_t read(ACE_HANDLE handle, void *buf, size_t len)
Directory::Ptr parent() const
#define OPENDDS_MAP(K, V)
Map::iterator IterDelegate
#define OPENDDS_VECTOR(T)
ACE_TString b32h_decode(const ACE_TCHAR *encoded)
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
::DDS::ReturnCode_t write(in<%SCOPED%> instance_data, in ::DDS::InstanceHandle_t handle)
sequence<<%SCOPED%><%TYPE%><%SEQ%> local interface<%TYPE%> out string encoded
The Internal API and Implementation of OpenDDS.