ComSDK
 Указатель Классы Пространства имен Функции Переменные Определения типов Перечисления Элементы перечислений Друзья Группы Страницы
action_item.h
1 //===========================================================================
2 #ifndef __ACTION_ITEM_H__
3 #define __ACTION_ITEM_H__
4 //===========================================================================
5 // Заготовка модуля ActionItem была сгенерирована специальным средством RAD разработки SA2-DE.
6 // Все права защищены. (2012)
7 //
8 // В данном файле представлен исходный текст основного заголовочного файла модуля.
9 //
10 // В данном файле представлен паттерн интерфейса класса.
11 // Описание класса:
12 // Абстрактный класс, описывающий интерфейс Action Item'а
13 // ======================================= //
14 // Параметры новой разработки.
15 // ======================================= //
16 // Имя комплекса: GCAD (gcd)
17 // Имя решения: GCAD_2 (gc3)
18 // Имя проекта: Client (cli)
19 // Полный SID: cligc3
20 // Время создания: 16:26:48
21 // Дата создания: 2012-10-10
22 // ======================================= //
23 // ============================================================================================ //
24 // Параметры ревизии(версии):
25 // ============================================================================================ //
26 // [prd]Period: 10/2012
27 // [aut]Author: Антон Першин
28 // [did]DeveloperID: ap
29 // [pid]ProblemID: 00001
30 // [rvs = did.date.pid]Revision: //#ap.2012-10-10.00001
31 // [dsc]Description: Абстрактный класс, описывающий интерфейс Action Item'а
32 // [ccm]CodeComment: rvs.{[s]Start | [e]End | []}{[n]New | [o]Old | [d]Develop}
33 // ============================================================================================ //
34 // ============================================================================================ //
35 // [prd]Period: 07/2016
36 // [aut]Author: Сапелкин Арсений
37 // [did]DeveloperID: asp
38 // [pid]ProblemID: 00002
39 // [rvs = did.date.pid]Revision: //#asp.2016-07-20.00002
40 // [dsc]Description: Запуск Action Item через ActionItemWorkContext
41 // [ccm]CodeComment: rvs.{[s]Start | [e]End | []}{[n]New | [o]Old | [d]Develop}
42 // ============================================================================================ //
43 //========================================================================
44 // ДОПОЛНИТЕЛЬНЫЕ ПОДКЛЮЧЕНИЯ (Типы и модули, необходимые для .h - файла)
45 //------------------------------------------------------------------------
46 #include "anymap.h"
47 #include "action_item_context.h"
48 #include "action_item_executor.h"
49 #include "async_action_item_executor.h"
50 
51 #include <functional>
52 
53 //========================================================================
54 namespace com {
55  namespace sys {
62  class MAC_DLLEXPORT ActionItemBase
63  {
64  public:
65  ActionItemBase(std::shared_ptr< ActionItemContext > context);
66  virtual ~ActionItemBase(){}
67 
68  virtual std::shared_ptr< ActionItemContext > getContext();
69 
70  protected:
71  std::shared_ptr< ActionItemContext > m_context;
72  };
73 
79  class MAC_DLLEXPORT ActionItem : public ActionItemBase
80  {
81  public:
82  ActionItem(std::shared_ptr< ActionItemExecutor > executor, std::shared_ptr< ActionItemContext > context);
83  virtual ~ActionItem(){}
84 
85  virtual ActionItemExecutor::ErrorCode execute(Anymap& input);
86 
87  protected:
88  std::shared_ptr< ActionItemExecutor > m_executor;
89  };
90 
96  class MAC_DLLEXPORT AsyncActionItem : public ActionItemBase
97  {
98  public:
99  AsyncActionItem(std::shared_ptr< AsyncActionItemExecutor > executor, std::shared_ptr< ActionItemContext > context);
100  virtual ~AsyncActionItem(){}
101 
103 
104  protected:
105  std::shared_ptr< AsyncActionItemExecutor > m_executor;
106  };
107 /*
108  class MAC_DLLEXPORT ActionItemBuilder
109  {
110  public:
111  void setdomainname()
112 
113  buildSyncActionItem();
114  builcAsyncActionItem();
115  };
116  }
117 */
118  }
119 }
120 //===========================================================================
121 #endif
122 //===========================================================================
123 
std::function< void(std::shared_ptr< Anymap >) > OnMessageClb
Тип колбэка для приема сообщений от action item.
Definition: async_action_item_executor.h:67
Составной базовый Action item.
Definition: action_item.h:62
Составной Action item для асинхронного запуска
Definition: action_item.h:96
Мультитиповой словарь
Definition: anymap.h:79
ErrorCode
Коды ошибки запуска
Definition: action_item_executor.h:63
Составной Action item для синхронного запуска
Definition: action_item.h:79