glibmm
2.31.22
|
An Object for handling remote calls. More...
#include <giomm/dbusmethodinvocation.h>
Public Member Functions | |
virtual | ~MethodInvocation () |
GDBusMethodInvocation* | gobj () |
Provides access to the underlying C GObject. | |
const GDBusMethodInvocation* | gobj () const |
Provides access to the underlying C GObject. | |
GDBusMethodInvocation* | gobj_copy () |
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. | |
Glib::ustring | get_sender () const |
Gets the bus name that invoked the method. | |
Glib::ustring | get_object_path () const |
Gets the object path the method was invoked on. | |
Glib::ustring | get_interface_name () const |
Gets the name of the D-Bus interface the method was invoked on. | |
Glib::ustring | get_method_name () const |
Gets the name of the method that was invoked. | |
Glib::RefPtr< const MethodInfo > | get_method_info () const |
Gets information about the method call, if any. | |
Glib::RefPtr< Connection > | get_connection () |
Gets the DBusConnection the method was invoked on. | |
Glib::RefPtr< const Connection > | get_connection () const |
Gets the DBusConnection the method was invoked on. | |
Glib::RefPtr< Message > | get_message () |
Gets the DBusMessage for the method invocation. | |
Glib::RefPtr< const Message > | get_message () const |
Gets the DBusMessage for the method invocation. | |
Glib::VariantContainerBase | get_parameters () const |
Gets the parameters of the method invocation. | |
void | return_value (const Glib::VariantContainerBase& parameters) |
Finishes handling a D-Bus method call by returning . | |
void | return_error (const Glib::ustring& domain, int code, const Glib::ustring& message) |
Like g_dbus_method_invocation_return_value() but also takes a UnixFDList. | |
void | return_error (const Glib::Error& error) |
Like g_dbus_method_invocation_return_error() but takes a Error instead of the error domain, error code and message. | |
void | return_dbus_error (const Glib::ustring& error_name, const Glib::ustring& error_message) |
Finishes handling a D-Bus method call by returning an error. | |
Related Functions | |
(Note that these are not member functions.) | |
Glib::RefPtr < Gio::DBus::MethodInvocation > | wrap (GDBusMethodInvocation* object, bool take_copy=false) |
A Glib::wrap() method for this object. |
An Object for handling remote calls.
Instances of the MethodInvocation class are used when handling D-Bus method calls. It provides a way to asynchronously return results and errors.
The normal way to obtain a MethodInvocation object is to receive it as an argument to the SlotMethodCall that was passed to Gio::DBus::Connection::register_object().
virtual Gio::DBus::MethodInvocation::~MethodInvocation | ( | ) | [virtual] |
Gets the DBusConnection the method was invoked on.
Glib::RefPtr<const Connection> Gio::DBus::MethodInvocation::get_connection | ( | ) | const |
Gets the DBusConnection the method was invoked on.
Gets the name of the D-Bus interface the method was invoked on.
Gets the DBusMessage for the method invocation.
This is useful if you need to use low-level protocol features, such as UNIX file descriptor passing, that cannot be properly expressed in the Variant API.
See <xref linkend="gdbus-server"> and <xref linkend="gdbus-unix-fd-client"> for an example of how to use this low-level API to send and receive UNIX file descriptors.
Glib::RefPtr<const Message> Gio::DBus::MethodInvocation::get_message | ( | ) | const |
Gets the DBusMessage for the method invocation.
This is useful if you need to use low-level protocol features, such as UNIX file descriptor passing, that cannot be properly expressed in the Variant API.
See <xref linkend="gdbus-server"> and <xref linkend="gdbus-unix-fd-client"> for an example of how to use this low-level API to send and receive UNIX file descriptors.
Glib::RefPtr<const MethodInfo> Gio::DBus::MethodInvocation::get_method_info | ( | ) | const |
Gets information about the method call, if any.
0
. Do not free, it is owned by invocation. Gets the name of the method that was invoked.
Gets the object path the method was invoked on.
Gets the parameters of the method invocation.
If there are no input parameters then this will return a GVariant with 0 children rather than 0
.
Gets the bus name that invoked the method.
GDBusMethodInvocation* Gio::DBus::MethodInvocation::gobj | ( | ) | [inline] |
Provides access to the underlying C GObject.
Reimplemented from Glib::ObjectBase.
const GDBusMethodInvocation* Gio::DBus::MethodInvocation::gobj | ( | ) | const [inline] |
Provides access to the underlying C GObject.
Reimplemented from Glib::ObjectBase.
GDBusMethodInvocation* Gio::DBus::MethodInvocation::gobj_copy | ( | ) |
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
void Gio::DBus::MethodInvocation::return_dbus_error | ( | const Glib::ustring& | error_name, |
const Glib::ustring& | error_message | ||
) |
Finishes handling a D-Bus method call by returning an error.
This method will free invocation, you cannot use it afterwards.
error_name | A valid D-Bus error name. |
error_message | A valid D-Bus error message. |
void Gio::DBus::MethodInvocation::return_error | ( | const Glib::ustring& | domain, |
int | code, | ||
const Glib::ustring& | message | ||
) |
Like g_dbus_method_invocation_return_value() but also takes a UnixFDList.
This method is only available on UNIX.
This method will free invocation, you cannot use it afterwards.
parameters | A Variant tuple with out parameters for the method or 0 if not passing any parameters. |
fd_list | A UnixFDList or 0 . Like g_dbus_method_invocation_return_error() but without printf()-style formatting. |
This method will free invocation, you cannot use it afterwards.
domain | A Quark for the Error error domain. |
code | The error code. |
message | The error message. |
void Gio::DBus::MethodInvocation::return_error | ( | const Glib::Error& | error | ) |
Like g_dbus_method_invocation_return_error() but takes a Error instead of the error domain, error code and message.
This method will free invocation, you cannot use it afterwards.
void Gio::DBus::MethodInvocation::return_value | ( | const Glib::VariantContainerBase& | parameters | ) |
Finishes handling a D-Bus method call by returning .
If the GVariant is floating, it is consumed.
It is an error if is not of the right format.
This method will free invocation, you cannot use it afterwards.
parameters | A Variant tuple with out parameters for the method or 0 if not passing any parameters. |
Glib::RefPtr< Gio::DBus::MethodInvocation > wrap | ( | GDBusMethodInvocation * | object, |
bool | take_copy = false |
||
) | [related] |
A Glib::wrap() method for this object.
object | The C instance. |
take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref. |