SignalEmitter class.
Users must implement the IActiononwer interface to create a signal emitter Signal emitter can only be attached to elements that supports certain actions.
A signal emitter can be attached to multiple elements on multiple actions
Definition at line 42 of file signal_emitter.hpp.
Data Structures | |
class | IActionOwner |
required interface for a signal emitter More... | |
Public Member Functions | |
SignalEmitter (const std::string &name, IActionOwner *owner) | |
Constructor. More... | |
SignalEmitter (const std::string &name, const char *factory, IActionOwner *owner) | |
Constructor. More... | |
virtual | ~SignalEmitter () |
Destructor. More... | |
SignalEmitter & | attach (const std::string &action_name, Object &object) |
Attach the signal emitter to an object on specified action. More... | |
SignalEmitter & | emit (const std::string &action_name, const std::string &object_name,...) |
Emit the action by name. 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 emitter. 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::multimap< std::string, Object > | object_map_ |
std::unique_ptr< IActionOwner > | owner_ |
std::string | param_spec_ |
property spec in YAML format More... | |
std::map< std::string, Object::Value > | properties_ |
property map More... | |
GstObject * | object_ |
deepstream::SignalEmitter::SignalEmitter | ( | const std::string & | name, |
IActionOwner * | owner | ||
) |
Constructor.
Create a signal emitter with a user implemented action owner interface
[in] | name | name of the instance |
[in] | handler | implementation of the IActionOwner interface |
deepstream::SignalEmitter::SignalEmitter | ( | const std::string & | name, |
const char * | factory, | ||
IActionOwner * | owner | ||
) |
Constructor.
Create a signal emitter with a user implemented action owner interface
[in] | name | name of the instance |
[in] | factory | name of the factory who creates the instance |
[in] | handler | implementation of the IActionOwner interface |
|
virtual |
Destructor.
SignalEmitter& deepstream::SignalEmitter::attach | ( | const std::string & | action_name, |
Object & | object | ||
) |
Attach the signal emitter to an object on specified action.
|
inherited |
Connect a signal handler to the object.
[in] | signal_name | name of the signal to be connected |
[in] | handler | handler for the signal |
SignalEmitter& deepstream::SignalEmitter::emit | ( | const std::string & | action_name, |
const std::string & | object_name, | ||
... | |||
) |
Emit the action by name.
[in] | action_name | name of the action to be triggered |
[in] | object_name | name of the attached object who is to trigger the action |
Referenced by deepstream::SmartRecordingAction::startSmartRecord(), and deepstream::SmartRecordingAction::stopSmartRecord().
|
inherited |
Emit a signal.
|
protectedvirtualinherited |
Reimplemented from deepstream::Object.
|
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 emitter.
|
protectedinherited |
Definition at line 198 of file object.hpp.
Referenced by deepstream::Object::getGObject(), deepstream::Object::operator bool(), and deepstream::Object::operator==().
|
protected |
Definition at line 103 of file signal_emitter.hpp.
|
protected |
Definition at line 104 of file signal_emitter.hpp.
|
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.