summaryrefslogtreecommitdiffstats
path: root/src/cppc4group.cpp
diff options
context:
space:
mode:
authorMarkus Mittendrein <git@maxmitti.tk>2019-08-17 22:36:37 +0200
committerMarkus Mittendrein <git@maxmitti.tk>2019-08-19 18:56:58 +0200
commitf40a21f5a6ca674d93905269bcb4b21f92c41800 (patch)
tree79eb145e8828fdd2131f2a1251bc1f9133cedabc /src/cppc4group.cpp
parent9f6da4965422b9f32c6a92b03b662bde025cc72c (diff)
downloadcc4group-f40a21f5a6ca674d93905269bcb4b21f92c41800.tar.gz
cc4group-f40a21f5a6ca674d93905269bcb4b21f92c41800.zip
Add cc4group.addFromDisk with according cc4group.AllowEntryTypes
Diffstat (limited to 'src/cppc4group.cpp')
-rw-r--r--src/cppc4group.cpp26
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());