ComSDK
 Указатель Классы Пространства имен Функции Переменные Определения типов Перечисления Элементы перечислений Друзья Группы Страницы
database_access.h
1 //===========================================================================
2 #ifndef comfrm_DatabaseAccessH
3 #define comfrm_DatabaseAccessH
4 //===========================================================================
5 // Заготовка модуля DatabaseAccess была сгенерирована 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-09-27
19 // ======================================= //
20 // ============================================================================================ //
21 // Параметры ревизии(версии):
22 // ============================================================================================ //
23 // [prd]Period: 10/2012
24 // [aut]Author: Антон Першин
25 // [did]DeveloperID: ap
26 // [pid]ProblemID: 00001
27 // [rvs = did.date.pid]Revision: //#ap.2012-10-08.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 "sqltable.h"
35 #include "tree.h"
36 #include "libtools.h"
37 #include "anymap.h"
38 #include "database_manager.h"
39 
40 #include <vector>
41 #include <boost/function.hpp>
42 #include <boost/shared_ptr.hpp>
43 //========================================================================
44 namespace com {
45  namespace sys {
51  class MAC_DLLEXPORT DatabaseAccess
52  {
53  public:
55  typedef std::function< void (bool) > OnAuthenticationResultClb;
56 
57  public:
58  DatabaseAccess(const std::string& dbName)
59  : m_dbName(dbName)
60  {}
61 
62  virtual ~DatabaseAccess(){}
63 
65  virtual void authenticate(const std::string& user, const std::string& psw, OnAuthenticationResultClb clb) = 0;
66 
72  virtual void getTable(const std::string& fullTableName, const std::string& user, const std::string& psw, DatabaseManager::OnTableReceivedClb clb) = 0;
73 
75  virtual void executeSqlRequest(const std::string& sqlRequest, const std::string& user, const std::string& psw, DatabaseManager::OnTableReceivedClb clb) = 0;
76 
77  std::string getDatabaseName();
78 
79  protected:
80  std::tuple< std::string, std::string > prepareSchemaTableNames(const std::string& fullTableName);
81 
82  protected:
83  std::string m_dbName;
84  };
85  }
86 }
87 //===========================================================================
88 #endif
89 //===========================================================================
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