datfile.h 904 B

123456789101112131415161718192021222324252627282930313233343536
  1. #include "datexportapi.h"
  2. #include "database.h"
  3. #include "subfile.h"
  4. #include <string>
  5. namespace LOTRO_DAT {
  6. class DatFile {
  7. public:
  8. DatFile(int file_handle);
  9. ~DatFile();
  10. bool Init(const std::string& filename);
  11. void Deinit();
  12. size_t GetFilesNumInDatFile();
  13. size_t PatchAllFilesFromDatabase(Database& db);
  14. void PatchFile(SubfileData file_data);
  15. void PatchFile(int file_id, FILE_TYPE type, std::string path_to_file);
  16. void ExportFilesByTypeToDatabase(FILE_TYPE type, Database& db);
  17. void ExportFilesByTypeToDirectory(FILE_TYPE type, std::string path_to_directory);
  18. void ExportFileById(int file_id, std::string target_file_path);
  19. void ExportFileByIdToDatabase(int file_id, Database& db);
  20. private:
  21. static DatExportApi api_;
  22. int file_handle_;
  23. bool initialized_;
  24. BinaryData export_data_buf_;
  25. };
  26. } // namespace LOTRO_DAT