Ring Daemon 16.0.0
|
This abstract class is an API we need to implement from plugin side. More...
#include <mediahandler.h>
Public Member Functions | |
virtual void | detach ()=0 |
Should detach the plugin data process (Observer). | |
virtual std::map< std::string, std::string > | getCallMediaHandlerDetails ()=0 |
Should return a map with handler's name, iconPath, pluginId, attached, and dataType. | |
virtual void | notifyAVFrameSubject (const StreamData &data, avSubjectPtr subject)=0 |
Should attach a AVSubject (Observable) to the plugin data process (Observer). | |
virtual bool | preferenceMapHasKey (const std::string &key)=0 |
If a preference can be changed without the need to reload the plugin, this function should return True. | |
virtual void | setPreferenceAttribute (const std::string &key, const std::string &value)=0 |
If a preference can be changed without the need to reload the plugin, it should be done through this function. | |
![]() | |
std::string | id () const |
Returns the dataPath of the plugin that created this MediaHandler. | |
virtual void | setId (const std::string &id) final |
Should be called by the MediaHandler creator to set the plugins id_ variable with dataPath. | |
virtual | ~MediaHandler ()=default |
This abstract class is an API we need to implement from plugin side.
In other words, a plugin functionality that plays with audio or video, must start from the implementation of this class.
Definition at line 65 of file mediahandler.h.
Should detach the plugin data process (Observer).
|
pure virtual |
Should return a map with handler's name, iconPath, pluginId, attached, and dataType.
Daemon expects: "attached" -> 1 if handler is attached; "dataType" -> 1 if data processed is video; "dataType" -> 0 if data processed is audio;
|
pure virtual |
Should attach a AVSubject (Observable) to the plugin data process (Observer).
data | |
subject |
If a preference can be changed without the need to reload the plugin, this function should return True.
key |
|
pure virtual |
If a preference can be changed without the need to reload the plugin, it should be done through this function.
key | |
value |