glibmm 2.66.5
|
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=SlotSubtreeIntrospect(), const SlotSubtreeDispatch & slot_dispatch=SlotSubtreeDispatch()) | |
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_ |
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 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,
|
explicit |
Constructs a new SubtreeVTable using specified slots.
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.
|
inline |
Provides access to the underlying C object.
|
inline |
Provides access to the underlying C object.
|
delete |
|
noexcept |
|
protected |
|
protected |
|
protected |
|
protected |