ComSDK
 Указатель Классы Пространства имен Функции Переменные Определения типов Перечисления Элементы перечислений Друзья Группы Страницы
database_direct_access.h
1 //===========================================================================
2 #ifndef comfrm_DatabaseDirectAccessH
3 #define comfrm_DatabaseDirectAccessH
4 //===========================================================================
5 // Заготовка модуля DatabaseDirectAccess была сгенерирована CASE средством разработки SA2-DE.
6 // Все права защищены. (2015)
7 //
8 // В данном файле представлен исходный текст основного заголовочного файла модуля.
9 //
10 // ======================================= //
11 // Параметры новой разработки.
12 // ======================================= //
13 // Имя комплекса: GCAD (gcd)
14 // Имя решения: GCAD3 (gc3) (прочерк если модуль относится лишь к комплексу)
15 // Имя проекта: Client (cli) (прочерк если модуль относится лишь к решению)
16 // Полный SID: cligc3
17 // Время создания: 17:19:51
18 // Дата создания: 2015-10-17
19 // ======================================= //
20 // ============================================================================================ //
21 // Параметры ревизии(версии):
22 // ============================================================================================ //
23 // [prd]Period: 10/2015
24 // [aut]Author: Антон Першин
25 // [did]DeveloperID: ap
26 // [pid]ProblemID: 00001
27 // [rvs = did.date.pid]Revision: //#ap.2015-10-17.00001
28 // [dsc]Description: Класс для работы с таблицами БД и xdbt-файлами.
29 // [ccm]CodeComment: rvs.{[s]Start | [e]End | []}{[n]New | [o]Old | [d]Develop}
30 // ============================================================================================ //
31 //========================================================================
32 // ДОПОЛНИТЕЛЬНЫЕ ПОДКЛЮЧЕНИЯ (Типы и модули, необходимые для .h - файла)
33 //------------------------------------------------------------------------
34 #include "database_access.h"
35 #include "database_manager.h"
36 #include "database_backend.h"
37 #include "sqltable.h"
38 #include "anymap.h"
39 #include "node.h"
40 
41 #include <boost/function.hpp>
42 #include <boost/shared_ptr.hpp>
43 //========================================================================
44 namespace com {
45  namespace sys {
51  class MAC_DLLEXPORT DatabaseDirectAccess : public DatabaseAccess
52  {
53  public:
59  DatabaseDirectAccess(const std::string& host, unsigned short port, const std::string& dbName,
60  boost::asio::io_service& ioservice, std::unique_ptr<com::db::DatabaseBackend> backend);
61  virtual ~DatabaseDirectAccess();
62 
63  virtual void authenticate(const std::string& user, const std::string& psw, DatabaseAccess::OnAuthenticationResultClb clb);
64  virtual void getTable(const std::string& fullTableName, const std::string& user, const std::string& psw, DatabaseManager::OnTableReceivedClb clb);
65  virtual void executeSqlRequest(const std::string& sqlRequest, const std::string& user, const std::string& psw, DatabaseManager::OnTableReceivedClb clb);
66 
67  private:
68  std::string m_host;
69  unsigned short m_port;
70  boost::asio::io_service& m_ioservice;
71  std::unique_ptr<com::db::DatabaseBackend> m_backend;
72  // std::string m_user;
73  // std::string m_password;
74  };
75  }
76 }
77 //===========================================================================
78 #endif
79 //===========================================================================
Класс доступа к базе данных через бэкенд
Definition: database_direct_access.h:51
std::function< void(std::shared_ptr< com::sql::SqlTable >) > OnTableReceivedClb
Тип коллбэка на получение таблицы
Definition: database_manager.h:60
Интерфейс доступа к базе данных
Definition: database_access.h:51
std::function< void(bool) > OnAuthenticationResultClb
Тип коллбэка на результат аутентификации
Definition: database_access.h:55