5 #ifndef SKYWAY_PLUGIN_SKYWAY_PLUGIN_H
6 #define SKYWAY_PLUGIN_SKYWAY_PLUGIN_H
8 #include <rapidjson/document.h>
9 #include <rapidjson/stringbuffer.h>
10 #include <rapidjson/writer.h>
15 using namespace rapidjson;
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;
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;
46 virtual void Initialize(
47 std::shared_ptr<rapidjson::Document> parameter,
48 std::shared_ptr<std::function<
void(std::shared_ptr<rapidjson::Document>)>>
50 virtual void Execute(std::shared_ptr<rapidjson::Document> document) = 0;
51 virtual void Shutdown() = 0;
59 #endif // SKYWAY_PLUGIN_SKYWAY_PLUGIN_H