12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- #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"
- extern "C++"
- {
- namespace LOTRO_DAT {
- enum FILE_TYPE : int {
- TEXT = 0,
- JPG = 1,
- DDS = 2,
- WAV = 3,
- OGG = 4,
- FONT = 5,
- UNKNOWN = 6
- };
- 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();
- DatIO &getIO();
- DatFileSystem &getFileSystem();
- DatOperationResult<> Initialise(const std::string &filename);
- DatOperationResult<> GatherInformation(const std::string &output_filename);
- DatOperationResult<> Deinitialize();
- bool Initialized();
- private:
- std::unique_ptr<DatIO> io_;
- std::unique_ptr<DatFileSystem> fileSystem_;
- std::unique_ptr<DatLocaleManager> localeManager_;
- bool initialized_;
- };
- }
- }
- #endif
|