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