12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- //
- // Created by Иван_Архипов on 31.10.2017.
- //
- #ifndef LOTRO_DAT_PATCHER_DATFILE_H
- #define LOTRO_DAT_PATCHER_DATFILE_H
- #ifdef LOTRO_DAT_EXPORTS
- #define LOTRO_DAT_API __declspec(dllexport)
- #else
- #define LOTRO_DAT_API __declspec(dllimport)
- #endif
- #include <bits/unique_ptr.h>
- #include "DatSubsystems/DatBackupManager.h"
- #include "DatSubsystems/DatExporter.h"
- #include "DatSubsystems/DatFileSystem.h"
- #include "DatSubsystems/DatIO.h"
- #include "DatSubsystems/DatLocaleManager.h"
- #include "DatSubsystems/DatPatcher.h"
- // Dat file names definitions
- extern "C++"
- {
- namespace LOTRO_DAT {
- enum FILE_TYPE : int {
- TEXT,
- JPG,
- DDS,
- WAV,
- OGG,
- FONT,
- UNKNOWN
- };
- class DatFile {
- friend class DatIO;
- friend class DatFileSystem;
- friend class DatLocaleManager;
- friend class DatPatcher;
- friend class DatExporter;
- friend class DatBackupManager;
- public:
- DatFile();
- DatFile(const DatFile &other) = delete;
- DatFile(DatFile &&other) = default;
- DatFile &operator=(const DatFile &other) = delete;
- DatFile &operator=(DatFile &&other) = default;
- DatLocaleManager &getLocaleManager();
- DatExporter &getExporter();
- DatPatcher &getPatcher();
- DatBackupManager &getBackupManager();
- DatIO &getIO();
- DatFileSystem &getFileSystem();
- private:
- std::unique_ptr<DatIO> io_;
- std::unique_ptr<DatFileSystem> fileSystem_;
- std::unique_ptr<DatLocaleManager> localeManager_;
- std::unique_ptr<DatPatcher> patcher_;
- std::unique_ptr<DatExporter> exporter_;
- std::unique_ptr<DatBackupManager> backupManager_;
- };
- }
- }
- #endif //LOTRO_DAT_PATCHER_DATFILE_H
|