DatFile.cpp 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. //
  2. // Created by Иван_Архипов on 31.10.2017.
  3. //
  4. #define NOMINMAX
  5. #include "DatFile.h"
  6. #include <EasyLogging++/easylogging++.h>
  7. #define ELPP_FEATURE_CRASH_LOG
  8. INITIALIZE_EASYLOGGINGPP
  9. #ifdef WIN32
  10. #define fseek _fseeki64
  11. #define ftell _ftelli64
  12. #endif
  13. extern "C++"
  14. {
  15. namespace LOTRO_DAT {
  16. //------------------------------------------------//
  17. // INIT SECTION
  18. //------------------------------------------------//
  19. DatFile::DatFile() {
  20. el::Configurations defaultConf;
  21. defaultConf.setToDefault();
  22. defaultConf.setGlobally(el::ConfigurationType::Format,
  23. "%datetime %level %fbase (line %line) : %msg (function: %func)");
  24. defaultConf.setGlobally(el::ConfigurationType::ToFile, "true");
  25. defaultConf.setGlobally(el::ConfigurationType::Filename, "dat_library.log");
  26. defaultConf.setGlobally(el::ConfigurationType::ToStandardOutput, "true");
  27. defaultConf.setGlobally(el::ConfigurationType::PerformanceTracking, "true");
  28. defaultConf.setGlobally(el::ConfigurationType::MaxLogFileSize, "5242880"); // 5MB
  29. defaultConf.setGlobally(el::ConfigurationType::LogFlushThreshold, "1"); // Flush after every one log
  30. defaultConf.set(el::Level::Debug, el::ConfigurationType::Enabled, "false");
  31. defaultConf.set(el::Level::Debug, el::ConfigurationType::Filename, "dat_library_debug.log");
  32. el::Loggers::reconfigureAllLoggers(defaultConf);
  33. LOG(INFO) << "==================================================================";
  34. LOG(INFO) << "Starting new DatFile class instance";
  35. io_ = std::make_unique<DatIO>(this);
  36. fileSystem_ = std::make_unique<DatFileSystem>(this);
  37. localeManager_ = std::make_unique<DatLocaleManager>(this);
  38. exporter_ = std::make_unique<DatExporter>(this);
  39. patcher_ = std::make_unique<DatPatcher>(this);
  40. backupManager_ = std::make_unique<DatBackupManager>(this);
  41. }
  42. LOTRO_DAT::DatLocaleManager &DatFile::getLocaleManager() {
  43. return *localeManager_;
  44. }
  45. DatExporter &DatFile::getExporter() {
  46. return *exporter_;
  47. }
  48. LOTRO_DAT::DatPatcher &DatFile::getPatcher() {
  49. return *patcher_;
  50. }
  51. DatBackupManager &DatFile::getBackupManager() {
  52. return *backupManager_;
  53. }
  54. DatIO &DatFile::getIO() {
  55. return *io_;
  56. }
  57. DatFileSystem &DatFile::getFileSystem() {
  58. return *fileSystem_;
  59. }
  60. }
  61. }