ComSDK
 Указатель Классы Пространства имен Функции Переменные Определения типов Перечисления Элементы перечислений Друзья Группы Страницы
database_remote_access.h
1 //===========================================================================
2 #ifndef comfrm_DatabaseRemoteAccessH
3 #define comfrm_DatabaseRemoteAccessH
4 //===========================================================================
5 // Заготовка модуля DatabaseRemoteAccess была сгенерирована 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 "database_access.h"
35 #include "database_manager.h"
36 #include "sqltable.h"
37 #include "anymap.h"
38 #include "node.h"
39 
40 #include <boost/function.hpp>
41 #include <boost/shared_ptr.hpp>
42 //========================================================================
43 namespace com {
44  namespace sys {
50  class MAC_DLLEXPORT DatabaseRemoteAccess : public DatabaseAccess
51  {
52  public:
54  DatabaseRemoteAccess(const std::string& dbName, std::shared_ptr<interproc::Node> node, const interproc::NodeAddress& srvAddress);
55  virtual ~DatabaseRemoteAccess(){}
56 
57  virtual void authenticate(const std::string& user, const std::string& psw, DatabaseAccess::OnAuthenticationResultClb clb);
58  virtual void getTable(const std::string& fullTableName, const std::string& user, const std::string& psw, DatabaseManager::OnTableReceivedClb clb);
59  virtual void executeSqlRequest(const std::string& sqlRequest, const std::string& user, const std::string& psw, DatabaseManager::OnTableReceivedClb clb);
60 
61  private:
62  void onTableMessageReceived(DatabaseManager::OnTableReceivedClb clb,
63  std::shared_ptr<interproc::Message> tableMsg,
65  private:
66  std::shared_ptr<interproc::Node> m_node;
67  interproc::NodeAddress m_srvAddress;
68  };
69  }
70 }
71 //===========================================================================
72 #endif
73 //===========================================================================
Адрес узла
Definition: node.h:34
Класс доступа к базе данных через удаленный узел
Definition: database_remote_access.h:50
CommunicationError
Ошибки взаимодействия
Definition: node.h:145
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