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

Function cleanup_directory

dds/DCPS/DataDurabilityCache.cpp:37–55  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

35namespace {
36
37void cleanup_directory(const OPENDDS_VECTOR(OPENDDS_STRING) & path,
38 const OpenDDS::DCPS::String& data_dir)
39{
40 if (path.empty()) return;
41
42 using OpenDDS::FileSystemStorage::Directory;
43 Directory::Ptr dir = Directory::create(data_dir.c_str());
44 dir = dir->get_dir(path);
45 Directory::Ptr parent = dir->parent();
46 dir->remove();
47
48 // clean up empty directories
49 while (!parent.is_nil() &&
50 (parent->begin_dirs() == parent->end_dirs())) {
51 Directory::Ptr to_delete = parent;
52 parent = parent->parent();
53 to_delete->remove();
54 }
55}
56
57/**
58 * @class Cleanup_Handler

Callers 2

handle_timeoutMethod · 0.85
get_dataMethod · 0.85

Calls 7

get_dirMethod · 0.80
begin_dirsMethod · 0.80
end_dirsMethod · 0.80
emptyMethod · 0.45
parentMethod · 0.45
removeMethod · 0.45
is_nilMethod · 0.45

Tested by

no test coverage detected