plugin  0.1.0
common.hpp
Go to the documentation of this file.
1 #ifndef COMMON_HPP
2 #define COMMON_HPP
3 
19 #define INSTALL_SOURCE_DRIVER(klass, type) \
20  class klass##Driver : public SourceDriver<type> { \
21  public: \
22  klass##Driver() : SourceDriver(PLUGIN_NAME, klass::version) {} \
23  Source<type> *create() { return new klass(); } \
24  }; \
25  extern "C" EXPORTIT void register_pugg_plugin(pugg::Kernel *kernel) { \
26  kernel->add_driver(new klass##Driver()); \
27  }
28 
38 #define INSTALL_FILTER_DRIVER(klass, type_in, type_out) \
39  class klass##Driver : public FilterDriver<type_in, type_out> { \
40  public: \
41  klass##Driver() : FilterDriver(PLUGIN_NAME, klass::version) {} \
42  Filter<type_in, type_out> *create() { return new klass(); } \
43  }; \
44  extern "C" EXPORTIT void register_pugg_plugin(pugg::Kernel *kernel) { \
45  kernel->add_driver(new klass##Driver()); \
46  }
47 
57 #define INSTALL_SINK_DRIVER(klass, type) \
58  class klass##Driver : public SinkDriver<type> { \
59  public: \
60  klass##Driver() : SinkDriver(PLUGIN_NAME, klass::version) {} \
61  Sink<type> *create() { return new klass(); } \
62  }; \
63  extern "C" EXPORTIT void register_pugg_plugin(pugg::Kernel *kernel) { \
64  kernel->add_driver(new klass##Driver()); \
65  }
66 
70 enum class return_type {
71  success = 0,
72  warning,
73  error,
74  critical
75 };
76 
77 
78 #endif // COMMON_HPP
return_type
The return type of common interface functions.
Definition: common.hpp:70