Clone of PhatAC @ https://github.com/floaterxk/PhatAC

Database.h 929B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #pragma once
  2. #include <sql.h>
  3. #include <sqlext.h>
  4. class CAccountDatabase;
  5. class CCharacterDatabase;
  6. class CDatabase : public CKillable
  7. {
  8. friend class CAccountDatabase;
  9. friend class CCharacterDatabase;
  10. public:
  11. CDatabase();
  12. ~CDatabase();
  13. FILE *DataFileOpen(const char*, const char* mode = "rb");
  14. FILE *DataFileCreate(const char*, const char* mode = "wb");
  15. BOOL DataFileFindFirst(const char* filemask, WIN32_FIND_DATA* data);
  16. BOOL DataFileFindNext(WIN32_FIND_DATA* data);
  17. void DataFileFindClose();
  18. CAccountDatabase *AccountDB();
  19. CCharacterDatabase *CharDB();
  20. private:
  21. void FatalError(SQLSMALLINT type, SQLHANDLE *handle);
  22. //Startup and shutdown routines.
  23. void Initialize();
  24. void Shutdown();
  25. void StartSQL();
  26. void EndSQL();
  27. std::string m_database;
  28. HENV m_hENV;
  29. HDBC m_hDBC;
  30. HSTMT m_hSTMT;
  31. int m_column;
  32. CAccountDatabase *m_pAccountDB;
  33. CCharacterDatabase *m_pCharDB;
  34. HANDLE m_hSearchHandle;
  35. };