glibmm: Gio::DBus::SubtreeVTable Class Reference
This represents a virtual table for subtrees registered with Gio::DBus::Connection::register_subtree(). More...
#include <giomm/dbussubtreevtable.h>
Public Types | |
using | SlotSubtreeEnumerate = sigc::slot< std::vector< Glib::ustring >(const Glib::RefPtr< Connection >&, const Glib::ustring&, const Glib::ustring&) > |
The type for a slot which handles enumerating child nodes. More... | |
using | SlotSubtreeIntrospect = sigc::slot< std::vector< Glib::RefPtr< Gio::DBus::InterfaceInfo > >(const Glib::RefPtr< Connection >&, const Glib::ustring&, const Glib::ustring&, const Glib::ustring&) > |
The type for a slot which handles introspecting a child node. More... | |
using | SlotSubtreeDispatch = sigc::slot< const InterfaceVTable*(const Glib::RefPtr< Connection >&, const Glib::ustring&, const Glib::ustring&, const Glib::ustring&, const Glib::ustring&) > |
The type for a slot which handles dispatching a remote call on a child node. More... | |
Public Member Functions | |
SubtreeVTable (const SlotSubtreeEnumerate& slot_enumerate, const SlotSubtreeIntrospect& slot_introspect={}, const SlotSubtreeDispatch& slot_dispatch={}) | |
Constructs a new SubtreeVTable using specified slots. More... | |
SubtreeVTable (const SubtreeVTable& other)=delete | |
SubtreeVTable& | operator= (const SubtreeVTable& other)=delete |
SubtreeVTable (SubtreeVTable&& other) noexcept | |
SubtreeVTable& | operator= (SubtreeVTable&& other) noexcept |
virtual | ~SubtreeVTable () |
Destructor. More... | |
GDBusSubtreeVTable* | gobj () |
Provides access to the underlying C object. More... | |
const GDBusSubtreeVTable* | gobj () const |
Provides access to the underlying C object. More... | |
Protected Attributes | |
GDBusSubtreeVTable | gobject_ |
SlotSubtreeEnumerate* | slot_enumerate_ |
SlotSubtreeIntrospect* | slot_introspect_ |
SlotSubtreeDispatch* | slot_dispatch_ |
Detailed Description
This represents a virtual table for subtrees registered with Gio::DBus::Connection::register_subtree().
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).
Member Typedef Documentation
using Gio::DBus::SubtreeVTable::SlotSubtreeDispatch = sigc::slot< const InterfaceVTable*( const Glib::RefPtr<Connection>&, const Glib::ustring&, const Glib::ustring&, const Glib::ustring&, const Glib::ustring&) > |
The type for a slot which handles dispatching a remote call on a child node.
Subtrees are flat. node, if non-0
, is always exactly one segment of the object path (ie: it never contains a slash).
for example,
using Gio::DBus::SubtreeVTable::SlotSubtreeEnumerate = sigc::slot< std::vector<Glib::ustring>( const Glib::RefPtr<Connection>&, const Glib::ustring&, const Glib::ustring&) > |
The type for a slot which handles enumerating child nodes.
This slot is called when generating introspection data and also when preparing to dispatch incoming messages in the event that the Gio::DBus::SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES flag is not specified (ie: to verify that the object path is valid).
Hierarchies are not supported; the items that you return should not contain the '/' character.
For example,
using Gio::DBus::SubtreeVTable::SlotSubtreeIntrospect = sigc::slot< std::vector< Glib::RefPtr<Gio::DBus::InterfaceInfo> >( const Glib::RefPtr<Connection>&, const Glib::ustring&, const Glib::ustring&, const Glib::ustring&) > |
The type for a slot which handles introspecting a child node.
Subtrees are flat. node, if non-0
, is always exactly one segment of the object path (ie: it never contains a slash).
This function should return an empty vector to indicate that there is no object at this node.
If this function returns a non-empty vector, the return value is expected to be a list of InterfaceInfo structures describing the interfaces implemented by node.
for example,
Constructor & Destructor Documentation
|
explicit |
Constructs a new SubtreeVTable using specified slots.
- Parameters
-
slot_enumerate The slot for handling incoming method calls. slot_introspect The slot for getting a property. slot_dispatch The slot for setting a property.
|
delete |
|
noexcept |
|
virtual |
Destructor.
Member Function Documentation
|
inline |
Provides access to the underlying C object.
|
inline |
Provides access to the underlying C object.
|
delete |
|
noexcept |
Member Data Documentation
|
protected |
|
protected |
|
protected |
|
protected |