DBus::Signal< void(T_type...)> Class Template Reference

Subclass of sigc::signal. More...

#include <signal.h>

Inheritance diagram for DBus::Signal< void(T_type...)>:

Public Member Functions

virtual std::string introspect (int space_depth=0) const
 Returns a DBus XML description of this interface. More...
 
virtual std::string arg_name (size_t i)
 
virtual void set_arg_name (size_t i, const std::string &name)
 
- Public Member Functions inherited from DBus::SignalBase
virtual ~SignalBase ()
 
std::shared_ptr< Connectionconnection ()
 
void set_connection (std::weak_ptr< Connection > connection)
 
const std::string & sender () const
 
void set_sender (const std::string &s)
 
const std::string & interface_name () const
 
void set_interface (const std::string &i)
 
const std::string & name () const
 
void set_name (const std::string &n)
 
const Pathpath () const
 
void set_path (const std::string &s)
 
const std::string & destination () const
 
void set_destination (const std::string &s)
 

Static Public Member Functions

static std::shared_ptr< Signalcreate (const std::string &path, const std::string &interface_name, const std::string &member)
 

Protected Member Functions

void internal_callback (T_type... args)
 
- Protected Member Functions inherited from DBus::SignalBase
 SignalBase (const std::string &path, const std::string &interface_name, const std::string &name)
 
 SignalBase (const std::string &interface_name, const std::string &name)
 
 SignalBase (std::weak_ptr< Connection > connection, const std::string &path, const std::string &interface_name, const std::string &name)
 
 SignalBase (std::weak_ptr< Connection > connection, const std::string &interface_name, const std::string &name)
 
bool handle_dbus_outgoing (std::shared_ptr< const Message >)
 

Protected Attributes

std::vector< std::string > m_arg_names
 
sigc::connection m_internal_callback_connection
 

Private Member Functions

 Signal (const std::string &path, const std::string &interface_name, const std::string &member)
 

Friends

class Interface
 

Detailed Description

template<typename... T_type>
class DBus::Signal< void(T_type...)>

Subclass of sigc::signal.

This class defines a subclass of the sigc::signal types and can be used as its parent. The key difference is that when the signal is emitted a DBus signal message is created using the parameters of the signal emission and transmitted via the dbus in addition to any local signal propagation that may take place.

Constructor & Destructor Documentation

◆ Signal()

template<typename... T_type>
DBus::Signal< void(T_type...)>::Signal ( const std::string &  path,
const std::string &  interface_name,
const std::string &  member 
)
inlineprivate

Member Function Documentation

◆ arg_name()

template<typename... T_type>
virtual std::string DBus::Signal< void(T_type...)>::arg_name ( size_t  i)
inlinevirtual

Reimplemented from DBus::SignalBase.

◆ create()

template<typename... T_type>
static std::shared_ptr<Signal> DBus::Signal< void(T_type...)>::create ( const std::string &  path,
const std::string &  interface_name,
const std::string &  member 
)
inlinestatic

◆ internal_callback()

template<typename... T_type>
void DBus::Signal< void(T_type...)>::internal_callback ( T_type...  args)
inlineprotected

◆ introspect()

template<typename... T_type>
virtual std::string DBus::Signal< void(T_type...)>::introspect ( int  space_depth = 0) const
inlinevirtual

Returns a DBus XML description of this interface.

Reimplemented from DBus::SignalBase.

◆ set_arg_name()

template<typename... T_type>
virtual void DBus::Signal< void(T_type...)>::set_arg_name ( size_t  i,
const std::string &  name 
)
inlinevirtual

Reimplemented from DBus::SignalBase.

Friends And Related Function Documentation

◆ Interface

template<typename... T_type>
friend class Interface
friend

Member Data Documentation

◆ m_arg_names

template<typename... T_type>
std::vector<std::string> DBus::Signal< void(T_type...)>::m_arg_names
protected

◆ m_internal_callback_connection

template<typename... T_type>
sigc::connection DBus::Signal< void(T_type...)>::m_internal_callback_connection
protected

The documentation for this class was generated from the following file: