ComSDK
 Указатель Классы Пространства имен Функции Переменные Определения типов Перечисления Элементы перечислений Друзья Группы Страницы
plugin_executor.h
1 //===========================================================================
2 #ifndef gcdgc3_unt_PluginAIH
3 #define gcdgc3_unt_PluginAIH
4 //===========================================================================
5 // Заготовка модуля PluginAI была сгенерирована CASE средством разработки SA2-DE.
6 // Все права защищены. (2012)
7 //
8 // В данном файле представлен исходный текст основного заголовочного файла модуля.
9 //
10 // ======================================= //
11 // Параметры новой разработки.
12 // ======================================= //
13 // Имя комплекса: GCAD (gcd)
14 // Имя решения: GCAD_2 (gc3) (прочерк если модуль относится лишь к комплексу)
15 // Имя проекта: Client (cli) (прочерк если модуль относится лишь к решению)
16 // Полный SID: cligc3
17 // Время создания: 16:36:44
18 // Дата создания: 2012-10-10
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-10.00001
28 // [dsc]Description: Класс-представление Action Item'а - плагина (внешнего управляемого модуля)
29 // [ccm]CodeComment: rvs.{[s]Start | [e]End | []}{[n]New | [o]Old | [d]Develop}
30 // ============================================================================================ //
31 // [prd]Period: 06/2014
32 // [aut]Author: Соколов Александр
33 // [did]DeveloperID: sa
34 // [pid]ProblemID: 00002
35 // [rvs = did.date.pid]Revision: //#sa.2014-06-29.00002
36 // [dsc]Description: Добавление корректной инициализации подсказки!
37 // [ccm]CodeComment: rvs.{[s]Start | [e]End | []}{[n]New | [o]Old | [d]Develop}
38 // ============================================================================================ //
39 
40 //========================================================================
41 // ДОПОЛНИТЕЛЬНЫЕ ПОДКЛЮЧЕНИЯ (Типы и модули, необходимые для .h - файла)
42 //------------------------------------------------------------------------
43 #include "action_item_executor.h"
44 #include "base_plugin.h"
45 #include "libtools.h"
46 #include <map>
47 
48 //========================================================================
49 namespace com {
50  namespace sys {
52  {
53  std::shared_ptr<ActionItemExecutor> executor;
54  std::string type;
55  };
56 
60  class MAC_DLLEXPORT PluginExecutor : public ActionItemExecutor
61  {
62  public:
64  PluginExecutor(const std::string& libName);
65 
67  PluginExecutor(const std::string& subpluginSID, std::shared_ptr< BasePlugin > plugin);
68 
69  virtual ~PluginExecutor(){}
70 
72  std::map<std::string, SubPluginInfo> getSubPlugins();
73 
74  virtual ErrorCode execute(Anymap& io);
75 
76  protected:
77  ErrorCode loadPlugin();
78 
79  private:
80  std::string m_libName;
81  std::shared_ptr< BasePlugin > m_plugin;
82  DllHandle m_libHandle;
83  bool m_isSubplugin;
84  std::string m_subpluginSID;
85  };
86  }
87 }
88 //===========================================================================
89 #endif
90 //===========================================================================
91 
Definition: plugin_executor.h:51
Синхронный запускатель плагина
Definition: plugin_executor.h:60
Мультитиповой словарь
Definition: anymap.h:79
Интерфейс запускателя синхронного action item.
Definition: action_item_executor.h:60
ErrorCode
Коды ошибки запуска
Definition: action_item_executor.h:63