glibmm 2.82.0
|
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. | |
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. | |
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. | |
Public Member Functions | |
SubtreeVTable (const SlotSubtreeEnumerate &slot_enumerate, const SlotSubtreeIntrospect &slot_introspect={}, const SlotSubtreeDispatch &slot_dispatch={}) | |
Constructs a new SubtreeVTable using specified slots. | |
SubtreeVTable (const SubtreeVTable &other)=delete | |
SubtreeVTable & | operator= (const SubtreeVTable &other)=delete |
SubtreeVTable (SubtreeVTable &&other) noexcept | |
SubtreeVTable & | operator= (SubtreeVTable &&other) noexcept |
virtual | ~SubtreeVTable () |
Destructor. | |
GDBusSubtreeVTable * | gobj () |
Provides access to the underlying C object. | |
const GDBusSubtreeVTable * | gobj () const |
Provides access to the underlying C object. | |
Protected Attributes | |
GDBusSubtreeVTable | gobject_ |
SlotSubtreeEnumerate * | slot_enumerate_ |
SlotSubtreeIntrospect * | slot_introspect_ |
SlotSubtreeDispatch * | slot_dispatch_ |
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).
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 not an empty string, 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::SubtreeFlags::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,
The type for a slot which handles introspecting a child node.
Subtrees are flat. node, if not an empty string, 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,
|
explicit |
Constructs a new SubtreeVTable using specified slots.
slot_enumerate | The slot for enumerating child nodes. |
slot_introspect | The slot for introspecting a child node. |
slot_dispatch | The slot for dispatching a remote call on a child node. |
|
delete |
|
noexcept |
|
virtual |
Destructor.
|
inline |
Provides access to the underlying C object.
|
inline |
Provides access to the underlying C object.
|
delete |
|
noexcept |
|
protected |
|
protected |
|
protected |
|
protected |