FileManager v1.7.0
Manage access to files with async model
Loading...
Searching...
No Matches
FileHandle.h
1#pragma once
2
3#include <fstream>
4
5#include "Utility.h"
6
7namespace file_manager
8{
9 class FILE_MANAGER_API FileHandle
10 {
11 protected:
12 std::filesystem::path filePath;
13 std::fstream file;
14 std::ios_base::openmode mode;
15 bool isNotifyOnDestruction;
16
17 protected:
18 FileHandle(const std::filesystem::path& filePath, std::ios_base::openmode mode);
19
20 FileHandle(FileHandle&& other) noexcept;
21
22 FileHandle& operator = (FileHandle&& other) noexcept;
23
24 public:
25 FileHandle(const FileHandle&) = delete;
26
27 FileHandle& operator = (const FileHandle&) = delete;
28
29 uint64_t getFileSize() const;
30
31 const std::filesystem::path& getPathToFile() const;
32
33 std::filesystem::path getFileName() const;
34
35 virtual ~FileHandle();
36
37 friend class FileManager;
38 };
39}
Provides files accessing from multiple threads. Singleton.
Definition FileManager.h:25