Implementation of the input plugin switcher.
More...
#include <tsInputSwitcher.h>
Implementation of the input plugin switcher.
This class is used by the tsswitch utility. It can also be used in other applications to switch between input plugins.
◆ InputSwitcher() [1/2]
ts::InputSwitcher::InputSwitcher |
( |
Report & |
report | ) |
|
Constructor.
This constructor does not start the session.
- Parameters
-
[in,out] | report | Where to report errors, logs, etc. This object will be used concurrently by all plugin execution threads. Consequently, it must be thread-safe. For performance reasons, it should be asynchronous (see for instance class AsyncReport). |
◆ ~InputSwitcher()
ts::InputSwitcher::~InputSwitcher |
( |
| ) |
|
Destructor.
It waits for termination of the session if it is running.
◆ InputSwitcher() [2/2]
Full session constructor.
The complete input switching session is performed in this constructor. The constructor returns only when the input switcher session terminates or fails tp start.
- Parameters
-
[in] | args | Arguments and options. |
[in,out] | report | Where to report errors, logs, etc. This object will be used concurrently by all plugin execution threads. Consequently, it must be thread-safe. For performance reasons, it should be asynchronous (see for instance class AsyncReport). |
◆ report()
Report & ts::InputSwitcher::report |
( |
| ) |
const |
|
inline |
Get a reference to the report object for the input switcher.
- Returns
- A reference to the report object for the input switcher.
◆ start()
Start the input switcher session.
- Parameters
-
[in] | args | Arguments and options. |
- Returns
- True on success, false on failure to start.
◆ isStarted()
bool ts::InputSwitcher::isStarted |
( |
| ) |
const |
|
inline |
Check if the input switcher is started.
- Returns
- True if the input switcher is in progress, false otherwise.
◆ setInput()
void ts::InputSwitcher::setInput |
( |
size_t |
pluginIndex | ) |
|
Switch to another input plugin.
- Parameters
-
[in] | pluginIndex | Index of the new input plugin. |
◆ currentInput()
size_t ts::InputSwitcher::currentInput |
( |
| ) |
|
Get the index of the current input plugin.
- Returns
- The index of the current input plugin.
◆ success()
bool ts::InputSwitcher::success |
( |
| ) |
const |
|
inline |
Check if the session, when completely run in the constructor, was successful.
- Returns
- True on success, false on failure to start.
◆ registerEventHandler()
Register an event handler.
Note: calling this function while executing a plugin event hander does nothing.
- Parameters
-
[in] | handler | The event handler to register. |
[in] | criteria | The criteria for which the handler is to be called. |
◆ unregisterEventHandler()
Unregister all occurences of an event handler.
Note: calling this function while executing a plugin event hander does nothing. This is typically used in the destructor of an event handler.
- Parameters
-
[in] | handler | The event handler to unregister. When null, all events are unregistered. |
◆ callEventHandlers()
void ts::PluginEventHandlerRegistry::callEventHandlers |
( |
const PluginEventContext & |
context | ) |
const |
|
inherited |
Invoke all event handlers for a given event.
- Parameters
-
[in] | context | Event context. |
The documentation for this class was generated from the following file: