glibmm 2.29.10
Public Types | Public Member Functions | Protected Attributes

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>

List of all members.

Public Types

typedef 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 >& > 
SlotInterfaceMethodCall
 The type for a slot which handles a method call for a D-Bus interface.
typedef sigc::slot< void,
Glib::VariantBase&, const
Glib::RefPtr< Connection >
&, const Glib::ustring
&, const Glib::ustring
&, const Glib::ustring
&, const Glib::ustring& > 
SlotInterfaceGetProperty
 The type for a slot which handles getting a property for a D-Bus interface.
typedef sigc::slot< bool,
const Glib::RefPtr< Connection >
&, const Glib::ustring
&, const Glib::ustring
&, const Glib::ustring
&, const Glib::ustring
&, const Glib::VariantBase& > 
SlotInterfaceSetProperty
 The type for a slot which handles setting a property for a D-Bus interface.

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.
virtual ~InterfaceVTable ()
 Destructor.
GDBusInterfaceVTable* gobj ()
 Provides access to the underlying C object.
const GDBusInterfaceVTable* gobj () const
 Provides access to the underlying C object.

Protected Attributes

GDBusInterfaceVTable gobject_
SlotInterfaceMethodCallslot_method_call_
SlotInterfaceGetPropertyslot_get_property_
SlotInterfaceSetPropertyslot_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
 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);
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
 Glib::RefPtr<Gio::DBus::MethodInvocation>& invocation);

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_callThe slot for handling incoming method calls.
slot_get_propertyThe slot for getting a property.
slot_set_propertyThe slot for setting a property.
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.


Member Data Documentation

GDBusInterfaceVTable Gio::DBus::InterfaceVTable::gobject_ [protected]