Advertisement
Guest User

Untitled

a guest
Jul 8th, 2017
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. //
  2. // DatabaseAccessor.cpp
  3. // labyrinth_serv_xcode
  4. //
  5. // Created by Aleksandr Borzikh on 09.07.17.
  6. // Copyright © 2017 hate-red. All rights reserved.
  7. //
  8.  
  9. #include "DatabaseAccessor.hpp"
  10.  
  11. #include <Poco/Data/MySQL/Connector.h>
  12.  
  13. DatabaseAccessor::DatabaseAccessor()
  14. : _logger("DatabaseAccessor", NamedLogger::Mode::STDIO),
  15. _workers("DatabaseAccessorWorkers")
  16. {
  17. Poco::Data::MySQL::Connector::registerConnector();
  18. std::string con_params = "host=127.0.0.1;user=masterserver;db=labyrinth;password=2(3oOS1E;compress=true;auto-reconnect=true";
  19. _db = std::make_unique<Poco::Data::Session>("MySQL",
  20. con_params);
  21.  
  22. _logger.Info() << "DatabaseAccessor service is up, number of workers: " << _workers.capacity() << End();
  23. }
  24.  
  25. std::future<DBQuery::RegisterResult>
  26. DatabaseAccessor::Query(const DBQuery::RegisterQuery& reg)
  27. {
  28. auto promise = std::make_shared<std::promise<DBQuery::RegisterResult>>();
  29. RegisterTask * regTask = new RegisterTask(*this, promise, reg);
  30. _taskManager.start(regTask);
  31.  
  32. return promise->get_future();
  33. }
  34.  
  35. std::future<DBQuery::LoginResult>
  36. DatabaseAccessor::Query(const DBQuery::LoginQuery& login)
  37. {
  38. auto promise = std::make_shared<std::promise<DBQuery::LoginResult>>();
  39. LoginTask * loginTask = new LoginTask(*this, promise, login);
  40. _taskManager.start(loginTask);
  41.  
  42. return promise->get_future();
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement