1 #ifndef LIVE_DTV_PLUGIN_H_
2 #define LIVE_DTV_PLUGIN_H_
3 
4 #include <fstream>
5 #include "dtv_plugin_api.h"
6 
7 class DtvPlugin {
8   public:
9     DtvPlugin(const char* plugin_path);
10     ~DtvPlugin();
11 
12     bool load();
13     int getStreamerCount();
14     bool validate(const char* transport_desc);
15     bool isTransportTypeSupported(const char* transport_type);
16     //    /* plugin-wide properties */
17     bool getProperty(const char* key, void* value, int* size);
18     bool setProperty(const char* key, const void* value, int size);
19 
20     struct dtv_plugin* interface();
21     const char* pluginBasename();
22 
23   protected:
24     const char* path_;
25     char* basename_;
26     void* module_;
27     struct dtv_plugin* interface_;
28     bool loaded_;
29 };
30 
31 #endif  // LIVE_DTV_PLUGIN_H_
32