Skip to content
Snippets Groups Projects
Commit 12a35d3a authored by Carsten Patzke's avatar Carsten Patzke
Browse files

Fixed windows SystemIO

parent 95491704
Branches
Tags
No related merge requests found
......@@ -68,9 +68,6 @@ class IO {
/*
* Special
*/
virtual FileData GetDataFromFile(const std::string& fname, uint64_t fsize, IOErrors* err) const = 0;
virtual std::vector<FileInfo> FilesInFolder (const std::string& folder, IOErrors* err) const = 0;
virtual std::thread* NewThread (std::function<void()> function) const = 0;
/*
......@@ -108,7 +105,13 @@ class IO {
virtual size_t Read (FileDescriptor fd, void* buf, size_t length, IOErrors* err) const = 0;
virtual size_t Write (FileDescriptor fd, const void* buf, size_t length, IOErrors* err) const = 0;
virtual void CreateDirectory(const std::string& directory_name, hidra2::IOErrors* err) const = 0;
virtual void CreateDirectory (const std::string& directory_name, hidra2::IOErrors* err) const = 0;
virtual FileData GetDataFromFile (const std::string& fname, uint64_t fsize, IOErrors* err) const = 0;
virtual void CollectFileInformationRecursivly (const std::string& path, std::vector<FileInfo>* files, IOErrors* err) const = 0;
virtual std::vector<FileInfo> FilesInFolder (const std::string& folder, IOErrors* err) const = 0;
};
}
......
......@@ -13,10 +13,10 @@ class SystemIO final : public IO {
* Special
*/
std::thread* NewThread(std::function<void()> function) const;
FileData GetDataFromFile(const std::string& fname, uint64_t fsize, IOErrors* err) const;
// this is not standard function - to be implemented differently in windows and linux
std::vector<FileInfo> FilesInFolder (const std::string& folder, IOErrors* err) const;
std::vector<FileInfo> FilesInFolder(const std::string& folder, IOErrors* err) const;
/*
* Network
......@@ -47,6 +47,8 @@ class SystemIO final : public IO {
size_t Read(FileDescriptor fd, void* buf, size_t length, IOErrors* err) const;
size_t Write(FileDescriptor fd, const void* buf, size_t length, IOErrors* err) const;
void CreateDirectory(const std::string& directory_name, hidra2::IOErrors* err) const;
FileData GetDataFromFile(const std::string& fname, uint64_t fsize, IOErrors* err) const;
void CollectFileInformationRecursivly(const std::string& path, std::vector<FileInfo>* files, IOErrors* err) const;
};
}
......
......@@ -158,8 +158,9 @@ void ProcessFileEntity(const struct dirent* entity, const std::string& path,
files->push_back(file_info);
}
void CollectFileInformationRecursivly(const std::string& path,
std::vector<FileInfo>* files, IOErrors* err) {
void SystemIO::CollectFileInformationRecursivly(const std::string &path,
std::vector<FileInfo>* files,
IOErrors* err) const {
auto dir = opendir((path).c_str());
if (dir == nullptr) {
*err = IOErrorsFromErrno();
......
......@@ -8,8 +8,6 @@ namespace hidra2 {
class MockIO : public IO {
public:
MOCK_CONST_METHOD3(GetDataFromFile, FileData(const std::string& fname, uint64_t fsize, IOErrors* err));
MOCK_CONST_METHOD2(FilesInFolder, std::vector<FileInfo>(const std::string& folder, IOErrors* err));
MOCK_CONST_METHOD1(NewThread, std::thread * (std::function<void()> function));
MOCK_CONST_METHOD4(CreateSocket, FileDescriptor(AddressFamilies address_family, SocketTypes socket_type,
SocketProtocols socket_protocol, IOErrors* err));
......@@ -33,6 +31,9 @@ class MockIO : public IO {
MOCK_CONST_METHOD4(Read, size_t(FileDescriptor fd, void* buf, size_t length, IOErrors* err));
MOCK_CONST_METHOD4(Write, size_t(FileDescriptor fd, const void* buf, size_t length, IOErrors* err));
MOCK_CONST_METHOD2(CreateDirectory, void(const std::string& directory_name, hidra2::IOErrors* err));
MOCK_CONST_METHOD3(GetDataFromFile, FileData(const std::string& fname, uint64_t fsize, IOErrors* err));
MOCK_CONST_METHOD2(FilesInFolder, std::vector<FileInfo>(const std::string& folder, IOErrors* err));
MOCK_CONST_METHOD3(CollectFileInformationRecursivly, void(const std::string& path, std::vector<FileInfo>* files, IOErrors* err));
};
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment