sqllock.hpp 468 B

1234567891011121314151617181920212223242526272829303132
  1. // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL
  2. // For more information, see LICENCE in the main folder
  3. #ifndef SQLLOCK_HPP
  4. #define SQLLOCK_HPP
  5. #include <mutex>
  6. #include "../common/sql.hpp"
  7. enum locktype {
  8. LOGIN_SQL_LOCK,
  9. CHAR_SQL_LOCK,
  10. WEB_SQL_LOCK
  11. };
  12. class SQLLock {
  13. private:
  14. std::unique_lock<std::mutex> ulock;
  15. Sql * handle;
  16. locktype lt;
  17. public:
  18. SQLLock(locktype);
  19. ~SQLLock();
  20. void lock();
  21. void unlock();
  22. Sql * getHandle();
  23. };
  24. #endif