SignalHandler class.
Users must implement the IActionProvider interface to create a signal handler. Signal handlers can only be attached to elements that supports certain signals.
A signal handler can handle multiple signals from a single element
Definition at line 40 of file signal_handler.hpp.
Data Structures | |
struct | Callback |
generic callback on the signal More... | |
class | IActionProvider |
required interface for a signal handler More... | |
Public Member Functions | |
SignalHandler (const std::string &name, IActionProvider *provider) | |
Constructor. More... | |
SignalHandler (const std::string &name, const char *factory, IActionProvider *provider) | |
Constructor. More... | |
virtual | ~SignalHandler () |
Destructor. More... | |
void * | getCallbackFn (const std::string &name) const |
Return the callback for a specific signal. More... | |
const std::string | getName () const |
Return the name assigned during the construction. More... | |
operator bool () const noexcept | |
Check if the object is void. More... | |
bool | operator== (const Object &other) noexcept |
Check if the two objects are the same. More... | |
GstObject * | give () |
Give up the ownership and return the opaque pointer. More... | |
GstObject * | getGObject () |
Return the opaque object pointer. More... | |
Object & | take (GstObject *object) |
Takes the ownership of a object through the opaque pointer. More... | |
Object & | seize (GstObject *object) |
Seize a opaque object to prevent it from being destroyed somewhere. More... | |
Object & | set (const YAML::Node ¶ms) |
Set the properties from key/value pairs in the yaml format. More... | |
Object & | set (const std::string &name, const Value &value) |
template<typename T , typename... Args> | |
Object & | set (const std::string &name, const T &value, const Args &... args) |
template<typename T , typename... Args> | |
Object & | getProperty (const std::string &name, T &value, Args &... args) |
Template for getting multiple properties. More... | |
std::vector< std::string > | listSignals (bool is_action) |
List all the supported signals from the object. More... | |
bool | connectSignal (const std::string &signal_name, SignalHandler &handler) |
Connect a signal handler to the object. More... | |
void | emitSignal (const std::string &signal_name, va_list args) |
Emit a signal. More... | |
Static Public Member Functions | |
static unsigned long | type () |
Return the type id assigned to signal handler. More... | |
Protected Member Functions | |
virtual void | set_ (const std::string &name, const Value &value) |
virtual void | set_ (const std::string &name, const YAML::Node &value) |
virtual Value | get_ (const std::string &name) |
Protected Attributes | |
std::unique_ptr< IActionProvider > | provider_ |
std::string | param_spec_ |
property spec in YAML format More... | |
std::map< std::string, Object::Value > | properties_ |
property map More... | |
GstObject * | object_ |
deepstream::SignalHandler::SignalHandler | ( | const std::string & | name, |
IActionProvider * | provider | ||
) |
Constructor.
Create a signal handler with a user implemented action provider interface
[in] | name | name of the instance |
[in] | handler | implementation of the IActionProvider interface |
deepstream::SignalHandler::SignalHandler | ( | const std::string & | name, |
const char * | factory, | ||
IActionProvider * | provider | ||
) |
Constructor.
Create a signal handler with a user implemented action provider interface
[in] | name | name of the instance |
[in] | factory | name of the factory who creates the instance |
[in] | handler | implementation of the IActionProvider interface |
|
virtual |
Destructor.
|
inherited |
Connect a signal handler to the object.
[in] | signal_name | name of the signal to be connected |
[in] | handler | handler for the signal |
|
inherited |
Emit a signal.
|
protectedvirtualinherited |
Reimplemented from deepstream::Object.
void* deepstream::SignalHandler::getCallbackFn | ( | const std::string & | name | ) | const |
Return the callback for a specific signal.
|
inlineinherited |
Return the opaque object pointer.
Definition at line 140 of file object.hpp.
References deepstream::Object::object_.
|
inherited |
Return the name assigned during the construction.
|
inlineinherited |
Template for getting multiple properties.
Definition at line 171 of file object.hpp.
References deepstream::Object::get_().
Referenced by deepstream::CountMarker::handleData(), deepstream::TensorMetaParser::handleData(), deepstream::MsgMetaGenerator::handleData(), deepstream::NvDsKittiDump::handleData(), deepstream::LiDARDataSource::initialize(), deepstream::SmartRecordingAction::onAttached(), and deepstream::FileDataSource::read().
|
inherited |
Give up the ownership and return the opaque pointer.
|
inherited |
List all the supported signals from the object.
|
inlineexplicitnoexceptinherited |
Check if the object is void.
Definition at line 131 of file object.hpp.
References deepstream::Object::object_.
|
inlinenoexceptinherited |
Check if the two objects are the same.
Definition at line 134 of file object.hpp.
References deepstream::Object::object_.
Seize a opaque object to prevent it from being destroyed somewhere.
|
inlineinherited |
Definition at line 161 of file object.hpp.
References deepstream::Object::set(), and deepstream::Object::set_().
Definition at line 154 of file object.hpp.
References deepstream::Object::set_().
|
inherited |
Set the properties from key/value pairs in the yaml format.
Referenced by deepstream::Pipeline::add(), and deepstream::Object::set().
|
protectedvirtualinherited |
Reimplemented from deepstream::Object.
|
protectedvirtualinherited |
Reimplemented from deepstream::Object.
Takes the ownership of a object through the opaque pointer.
|
static |
Return the type id assigned to signal handler.
|
protectedinherited |
Definition at line 198 of file object.hpp.
Referenced by deepstream::Object::getGObject(), deepstream::Object::operator bool(), and deepstream::Object::operator==().
|
protectedinherited |
property spec in YAML format
Definition at line 51 of file custom_object.hpp.
|
protectedinherited |
property map
Definition at line 53 of file custom_object.hpp.
|
protected |
Definition at line 91 of file signal_handler.hpp.