skyway_plugin.h
Go to the documentation of this file.
1 //
2 // Created by nakakura on 22/06/17.
3 //
4 
5 #ifndef SKYWAY_PLUGIN_SKYWAY_PLUGIN_H
6 #define SKYWAY_PLUGIN_SKYWAY_PLUGIN_H
7 
8 #include <rapidjson/document.h>
9 #include <rapidjson/stringbuffer.h>
10 #include <rapidjson/writer.h>
11 
12 #include <functional>
13 #include <vector>
14 
15 using namespace rapidjson;
16 
17 namespace skyway_plugin {
19  public:
20  virtual void Initialize(
21  std::shared_ptr<rapidjson::Document> parameter,
22  std::shared_ptr<std::function<void(std::vector<uint8_t>)>> callback) = 0;
23  virtual void Execute(std::vector<uint8_t> data) = 0;
24  virtual void Shutdown() = 0;
25  virtual ~SkyWayBinaryPlugin() {}
26 
27  protected:
29 };
30 
32  public:
33  virtual void Initialize(
34  std::shared_ptr<rapidjson::Document> parameter,
35  std::shared_ptr<std::function<void(std::string)>> callback) = 0;
36  virtual void Execute(std::string data) = 0;
37  virtual void Shutdown() = 0;
38  virtual ~SkyWayStringPlugin() {}
39 
40  protected:
42 };
43 
45  public:
46  virtual void Initialize(
47  std::shared_ptr<rapidjson::Document> parameter,
48  std::shared_ptr<std::function<void(std::shared_ptr<rapidjson::Document>)>>
49  callback) = 0;
50  virtual void Execute(std::shared_ptr<rapidjson::Document> document) = 0;
51  virtual void Shutdown() = 0;
52  virtual ~SkyWayJsonPlugin() {}
53 
54  protected:
56 };
57 }; // namespace skyway_plugin
58 
59 #endif // SKYWAY_PLUGIN_SKYWAY_PLUGIN_H
skyway_plugin::SkyWayBinaryPlugin
Definition: skyway_plugin.h:18
skyway_plugin::SkyWayBinaryPlugin::SkyWayBinaryPlugin
SkyWayBinaryPlugin()
Definition: skyway_plugin.h:28
skyway_plugin::SkyWayStringPlugin
Definition: skyway_plugin.h:31
skyway_plugin::SkyWayJsonPlugin::SkyWayJsonPlugin
SkyWayJsonPlugin()
Definition: skyway_plugin.h:55
skyway_plugin
Definition: skyway_plugin.h:17
skyway_plugin::SkyWayJsonPlugin::~SkyWayJsonPlugin
virtual ~SkyWayJsonPlugin()
Definition: skyway_plugin.h:52
skyway_plugin::SkyWayStringPlugin::SkyWayStringPlugin
SkyWayStringPlugin()
Definition: skyway_plugin.h:41
skyway_plugin::SkyWayStringPlugin::~SkyWayStringPlugin
virtual ~SkyWayStringPlugin()
Definition: skyway_plugin.h:38
skyway_plugin::SkyWayBinaryPlugin::~SkyWayBinaryPlugin
virtual ~SkyWayBinaryPlugin()
Definition: skyway_plugin.h:25
skyway_plugin::SkyWayJsonPlugin
Definition: skyway_plugin.h:44


skyway
Author(s): Toshiya Nakakura
autogenerated on Thu Oct 26 2023 02:42:21