glibmm: Gio::DBus::InterfaceVTable Class Reference

This represents a virtual table for handling properties and method calls for a D-Bus interface. More...

#include <giomm/dbusinterfacevtable.h>

Public Types

using SlotInterfaceMethodCall = sigc::slot < void, const Glib::RefPtr < Connection >&, const Glib::ustring &, const Glib::ustring &, const Glib::ustring &, const Glib::ustring &, const Glib::VariantContainerBase &, const Glib::RefPtr < MethodInvocation >& >
The type for a slot which handles a method call for a D-Bus interface. More...

using SlotInterfaceGetProperty = sigc::slot < void, Glib::VariantBase &, const Glib::RefPtr < Connection >&, const Glib::ustring &, const Glib::ustring &, const Glib::ustring &, const Glib::ustring & >
The type for a slot which handles getting a property for a D-Bus interface. More...

using SlotInterfaceSetProperty = sigc::slot < bool, const Glib::RefPtr < Connection >&, const Glib::ustring &, const Glib::ustring &, const Glib::ustring &, const Glib::ustring &, const Glib::VariantBase & >
The type for a slot which handles setting a property for a D-Bus interface. More...

Public Member Functions

InterfaceVTable (const SlotInterfaceMethodCall & slot_method_call, const SlotInterfaceGetProperty & slot_get_property= SlotInterfaceGetProperty (), const SlotInterfaceSetProperty & slot_set_property= SlotInterfaceSetProperty ())
Constructs a new InterfaceVTable using the specified slots. More...

InterfaceVTable (const InterfaceVTable & other)=delete
InterfaceVTable & operator= (const InterfaceVTable & other)=delete
InterfaceVTable ( InterfaceVTable && other) noexcept
InterfaceVTable & operator= ( InterfaceVTable && other) noexcept
virtual ~InterfaceVTable ()
Destructor. More...

GDBusInterfaceVTable* gobj ()
Provides access to the underlying C object. More...

const GDBusInterfaceVTable* gobj () const
Provides access to the underlying C object. More...

Protected Attributes

GDBusInterfaceVTable gobject_
SlotInterfaceMethodCall * slot_method_call_
SlotInterfaceGetProperty * slot_get_property_
SlotInterfaceSetProperty * slot_set_property_

Detailed Description

This represents a virtual table for handling properties and method calls for a D-Bus interface.

If you want to handle getting/setting D-Bus properties asynchronously, simply register an object with the org.freedesktop.DBus.Properties D-Bus interface using Gio::DBus::Connection::register_object() .

The only correct use of this class is to declare a global instance of it (or an instance local to the main function) and pass pointers to the instance to the methods that require such a parameter. The instance can be used for multiple registrations and the memory it uses will be freed at the end of execution. Any other use (like creating an instance local to a function and using that) may cause memory leaks or errors (if the instance is destroyed too early).

Since glibmm 2.28:

Member Typedef Documentation

The type for a slot which handles getting a property for a D-Bus interface.

for example,

void on_interface_get_property( Glib::VariantBase & property, const
sender, const Glib::ustring & object_path, const Glib::ustring &
interface_name, const Glib::ustring & property_name);
Exceptions
Glib::Error.

The type for a slot which handles a method call for a D-Bus interface.

for example,

void on_interface_method_call( const Glib::RefPtr<Gio::DBus::Connection> &
connection, const Glib::ustring & sender, const Glib::ustring &
object_path, const Glib::ustring & interface_name, const Glib::ustring &
method_name, const Glib::VariantContainerBase & parameters, const

The type for a slot which handles setting a property for a D-Bus interface.

for example,

bool on_interface_set_property( const Glib::RefPtr<Gio::DBus::Connection> &
connection, const Glib::ustring & sender, const Glib::ustring &
object_path, const Glib::ustring & interface_name, const Glib::ustring &
property_name, const Glib::VariantBase & value);
Exceptions
Glib::Error.

Constructor & Destructor Documentation

Gio::DBus::InterfaceVTable::InterfaceVTable ( const SlotInterfaceMethodCall & slot_method_call ,
const SlotInterfaceGetProperty & slot_get_property = SlotInterfaceGetProperty () ,
const SlotInterfaceSetProperty & slot_set_property = SlotInterfaceSetProperty ()
)
explicit

Constructs a new InterfaceVTable using the specified slots.

Parameters
slot_method_call The slot for handling incoming method calls.
slot_get_property The slot for getting a property.
slot_set_property The slot for setting a property.
Gio::DBus::InterfaceVTable::InterfaceVTable ( const InterfaceVTable & other )
delete
Gio::DBus::InterfaceVTable::InterfaceVTable ( InterfaceVTable && other )
noexcept
virtual Gio::DBus::InterfaceVTable::~InterfaceVTable ( )
virtual

Destructor.

Member Function Documentation

GDBusInterfaceVTable* Gio::DBus::InterfaceVTable::gobj ( )
inline

Provides access to the underlying C object.

const GDBusInterfaceVTable* Gio::DBus::InterfaceVTable::gobj ( ) const
inline

Provides access to the underlying C object.

InterfaceVTable & Gio::DBus::InterfaceVTable::operator= ( const InterfaceVTable & other )
delete
InterfaceVTable & Gio::DBus::InterfaceVTable::operator= ( InterfaceVTable && other )
noexcept

Member Data Documentation

GDBusInterfaceVTable Gio::DBus::InterfaceVTable::gobject_
protected
SlotInterfaceGetProperty * Gio::DBus::InterfaceVTable::slot_get_property_
protected
SlotInterfaceMethodCall * Gio::DBus::InterfaceVTable::slot_method_call_
protected
SlotInterfaceSetProperty * Gio::DBus::InterfaceVTable::slot_set_property_
protected