3 #ifndef DATA_DEDUPLICATION_SERVICE_FILEUTILS_H
4 #define DATA_DEDUPLICATION_SERVICE_FILEUTILS_H
9 #include <unordered_set>
11 #include "expected.hpp"
19 namespace fs = std::filesystem;
76 namespace fs = std::filesystem;
79 template<
typename T,
typename A>
80 requires std::is_same_v<T, A> ||
81 std::is_same_v<T, typename std::remove_const<A>::type> ||
82 std::is_same_v<A, typename std::remove_const<T>::type>
85 for (
int arrElem = 0; arrElem < size; ++arrElem) {
86 error += arr[arrElem] != arr2[arrElem];
102 std::array<size_t, 4>
compareFiles(
const fs::path &file1,
const fs::path &file2,
size_t segmentSize);
115 std::array<size_t, 4>
compareDirectories(
const fs::path &file1,
const fs::path &file2,
size_t segmentSize);
file services namespace
Definition: FileService.h:14
std::array< size_t, 4 > compareDirectories(const fs::path &file1, const fs::path &file2, size_t segmentSize)
Definition: fileUtils.cpp:6
rootDirectoryHandlingStrategy
Definition: fileUtils.h:55
@ NoCreateMain
will return an error code
Definition: fileUtils.h:57
@ CreateMain
will create this directory using create_directories
Definition: fileUtils.h:59
dataRetrievalStrategy
Definition: fileUtils.h:45
@ Remove
will delete requested data from database
Definition: fileUtils.h:49
@ Persist
will leave data as is
Definition: fileUtils.h:47
tl::expected< std::string, int > checkFileExistence(std::string_view filePath)
Definition: fileUtils.cpp:101
dataInsetionStrategy
Definition: fileUtils.h:35
@ PreserveOld
will ignore files that already exist
Definition: fileUtils.h:37
@ ReplaceWithNew
will replace file contents
Definition: fileUtils.h:39
tl::expected< std::string, int > checkDirectoryExistence(std::string_view dirPath)
Definition: fileUtils.cpp:123
requires std::is_same_v< T, A > std::is_same_v< T, typename std::remove_const< A >::type > std::is_same_v< A, typename std::remove_const< T >::type > int compareBlock(size_t size, T *arr, A *arr2)
Definition: fileUtils.h:83
dbUsageStrategy
Definition: fileUtils.h:25
@ create
create new database if it doesn't exist
Definition: fileUtils.h:29
@ use
if database exist connection will be established
Definition: fileUtils.h:27
std::array< size_t, 4 > compareFiles(const fs::path &file1, const fs::path &file2, size_t segmentSize)
Definition: fileUtils.cpp:53
fs::path getNormalAbs(const fs::path &path)
char symbolType
Definition: myConcepts.h:20
clockType gClk
Definition: myConcepts.cpp:9