diff options
Diffstat (limited to 'src/cppc4group.cpp')
| -rw-r--r-- | src/cppc4group.cpp | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/src/cppc4group.cpp b/src/cppc4group.cpp index 5e8225b..bacf1f7 100644 --- a/src/cppc4group.cpp +++ b/src/cppc4group.cpp @@ -151,15 +151,30 @@ const CppC4Group::MemoryManagement CppC4Group::MemoryManagement::Copy{reinterpre const CppC4Group::MemoryManagement CppC4Group::MemoryManagement::Reference{reinterpret_cast<MemoryManagement::MemoryManagementStrategy>(cc4group.MemoryManagement.Reference)}; namespace { + int convertAllowedEntryTypes(const CppC4Group::AllowedEntryTypes allowedEntryTypes) + { + int result = 0; + if(allowedEntryTypes & CppC4Group::AllowedEntryTypes::File) + { + result |= cc4group.AllowedEntryTypes.File; + } + if(allowedEntryTypes & CppC4Group::AllowedEntryTypes::Directory) + { + result |= cc4group.AllowedEntryTypes.Directory; + } + // All is handled by the above two + return result; + } + CC4Group_TmpMemoryStrategy convertTmpMemoryStrategy(const CppC4Group::TmpMemoryStrategy strategy) { switch(strategy) { - case CppC4Group::Auto: + case CppC4Group::TmpMemoryStrategy::Auto: return cc4group.TmpMemoryStrategies.Auto; - case CppC4Group::File: + case CppC4Group::TmpMemoryStrategy::File: return cc4group.TmpMemoryStrategies.File; - case CppC4Group::Memory: + case CppC4Group::TmpMemoryStrategy::Memory: return cc4group.TmpMemoryStrategies.Memory; } return cc4group.TmpMemoryStrategies.Auto; @@ -403,6 +418,11 @@ bool CppC4Group::renameEntry(const std::string& oldPath, const std::string& newP return cc4group.renameEntry(p->g, oldPath.c_str(), newPath.c_str()); } +bool CppC4Group::addFromDisk(const std::string& path, const std::string& targetPath, const CppC4Group::AllowedEntryTypes allowedEntryTypes) +{ + return cc4group.addFromDisk(p->g, path.c_str(), targetPath.c_str(), convertAllowedEntryTypes(allowedEntryTypes)); +} + bool CppC4Group::createDirectory(const std::string& path) { return cc4group.createDirectory(p->g, path.c_str()); |
