MCPcopy Create free account
hub / github.com/OpenDDS/OpenDDS / Directory

Method Directory

dds/DCPS/FileSystemStorage.cpp:759–782  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

757}
758
759Directory::Directory(const ACE_TString& dirname, const ACE_TString& logical,
760 const Directory::Ptr& parent)
761 : parent_(parent)
762 , physical_dirname_(dirname)
763 , logical_dirname_(logical)
764{
765 add_slash(physical_dirname_);
766
767 bool ok(true);
768 DDS_Dirent dir;
769
770 if (dir.open(physical_dirname_.c_str()) == -1) {
771 ok = false;
772
773 if (errno == ENOENT && dds_mkdir(physical_dirname_.c_str()) != -1
774 && dir.open(physical_dirname_.c_str()) != -1) {
775 ok = true;
776 }
777 }
778
779 if (!ok) throw std::runtime_error("Can't open or create directory");
780
781 scan_dir(ACE_TEXT(""), dir, 0);
782}
783
784void Directory::scan_dir(const ACE_TString& relative, DDS_Dirent& dir,
785 unsigned int overflow_index)

Callers

nothing calls this directly

Calls 3

add_slashFunction · 0.85
dds_mkdirFunction · 0.85
openMethod · 0.45

Tested by

no test coverage detected