| #ifndef LIVE_DTV_PLUGIN_H_ |
| #define LIVE_DTV_PLUGIN_H_ |
| |
| #include <fstream> |
| #include "dtv_plugin_api.h" |
| |
| class DtvPlugin { |
| public: |
| DtvPlugin(const char* plugin_path); |
| ~DtvPlugin(); |
| |
| bool load(); |
| int getStreamerCount(); |
| bool validate(const char* transport_desc); |
| bool isTransportTypeSupported(const char* transport_type); |
| // /* plugin-wide properties */ |
| bool getProperty(const char* key, void* value, int* size); |
| bool setProperty(const char* key, const void* value, int size); |
| |
| struct dtv_plugin* interface(); |
| const char* pluginBasename(); |
| |
| protected: |
| const char* path_; |
| char* basename_; |
| void* module_; |
| struct dtv_plugin* interface_; |
| bool loaded_; |
| }; |
| |
| #endif // LIVE_DTV_PLUGIN_H_ |