glibmm: Gio::DBus::MethodInvocation Class Reference
An Object for handling remote calls. More...
#include <giomm/dbusmethodinvocation.h>
Public Member Functions | |
MethodInvocation (MethodInvocation&& src) noexcept | |
MethodInvocation& | operator= (MethodInvocation&& src) noexcept |
~MethodInvocation () noexceptoverride | |
GDBusMethodInvocation* | gobj () |
Provides access to the underlying C GObject. More... | |
const GDBusMethodInvocation* | gobj () const |
Provides access to the underlying C GObject. More... | |
GDBusMethodInvocation* | gobj_copy () |
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More... | |
Glib::ustring | get_sender () const |
Gets the bus name that invoked the method. More... | |
Glib::ustring | get_object_path () const |
Gets the object path the method was invoked on. More... | |
Glib::ustring | get_interface_name () const |
Gets the name of the D-Bus interface the method was invoked on. More... | |
Glib::ustring | get_method_name () const |
Gets the name of the method that was invoked. More... | |
Glib::RefPtr< const MethodInfo > | get_method_info () const |
Gets information about the method call, if any. More... | |
Glib::RefPtr< Connection > | get_connection () |
Gets the Gio::DBus::Connection the method was invoked on. More... | |
Glib::RefPtr< const Connection > | get_connection () const |
Gets the Gio::DBus::Connection the method was invoked on. More... | |
Glib::RefPtr< Message > | get_message () |
Gets the Gio::DBus::Message for the method invocation. More... | |
Glib::RefPtr< const Message > | get_message () const |
Gets the Gio::DBus::Message for the method invocation. More... | |
Glib::VariantContainerBase | get_parameters () const |
Gets the parameters of the method invocation. More... | |
void | return_value (const Glib::VariantContainerBase& parameters) |
Finishes handling a D-Bus method call by returning parameters. More... | |
void | return_value (const Glib::VariantContainerBase& parameters, const Glib::RefPtr< UnixFDList >& fd_list) |
Like g_dbus_method_invocation_return_value() but also takes a UnixFDList. More... | |
void | return_error (const Glib::ustring& domain, int code, const Glib::ustring& message) |
Like g_dbus_method_invocation_return_error() but without printf()-style formatting. More... | |
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. More... | |
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. More... | |
Public Member Functions inherited from Glib::Object | |
Object (const Object&)=delete | |
Object& | operator= (const Object&)=delete |
Object (Object&& src) noexcept | |
Object& | operator= (Object&& src) noexcept |
void* | get_data (const QueryQuark& key) |
void | set_data (const Quark& key, void* data) |
void | set_data (const Quark& key, void* data, DestroyNotify notify) |
void | remove_data (const QueryQuark& quark) |
void* | steal_data (const QueryQuark& quark) |
Public Member Functions inherited from Glib::ObjectBase | |
ObjectBase (const ObjectBase&)=delete | |
ObjectBase& | operator= (const ObjectBase&)=delete |
void | set_property_value (const Glib::ustring& property_name, const Glib::ValueBase& value) |
You probably want to use a specific property_*() accessor method instead. More... | |
void | get_property_value (const Glib::ustring& property_name, Glib::ValueBase& value) const |
You probably want to use a specific property_*() accessor method instead. More... | |
template<class PropertyType > | |
void | set_property (const Glib::ustring& property_name, const PropertyType& value) |
You probably want to use a specific property_*() accessor method instead. More... | |
template<class PropertyType > | |
void | get_property (const Glib::ustring& property_name, PropertyType& value) const |
You probably want to use a specific property_*() accessor method instead. More... | |
template<class PropertyType > | |
PropertyType | get_property (const Glib::ustring& property_name) const |
You probably want to use a specific property_*() accessor method instead. More... | |
sigc::connection | connect_property_changed (const Glib::ustring& property_name, const sigc::slot< void()>& slot) |
You can use the signal_changed() signal of the property proxy instead. More... | |
sigc::connection | connect_property_changed (const Glib::ustring& property_name, sigc::slot< void()>&& slot) |
You can use the signal_changed() signal of the property proxy instead. More... | |
void | freeze_notify () |
Increases the freeze count on object. More... | |
void | thaw_notify () |
Reverts the effect of a previous call to freeze_notify(). More... | |
virtual void | reference () const |
Increment the reference count for this object. More... | |
virtual void | unreference () const |
Decrement the reference count for this object. More... | |
GObject* | gobj () |
Provides access to the underlying C GObject. More... | |
const GObject* | gobj () const |
Provides access to the underlying C GObject. More... | |
GObject* | gobj_copy () const |
Give a ref-ed copy to someone. Use for direct struct access. More... | |
Public Member Functions inherited from sigc::trackable | |
trackable () noexcept | |
trackable (const trackable &src) noexcept | |
trackable (trackable &&src) | |
~trackable () | |
void | add_destroy_notify_callback (void *data, func_destroy_notify func) const |
void | notify_callbacks () |
trackable & | operator= (const trackable &src) |
trackable & | operator= (trackable &&src) |
void | remove_destroy_notify_callback (void *data) const |
Static Public Member Functions | |
static GType | get_type () |
Get the GType for this class, for use with the underlying GObject type system. More... | |
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. More... | |
Related Functions inherited from Glib::Object | |
Glib::RefPtr< Glib::Object > | wrap (GObject* object, bool take_copy=false) |
Additional Inherited Members | |
Public Types inherited from Glib::Object | |
using | DestroyNotify = void(*)(gpointer data) |
Public Types inherited from sigc::trackable | |
typedef internal::func_destroy_notify | func_destroy_notify |
Protected Member Functions inherited from Glib::Object | |
Object () | |
Object (const Glib::ConstructParams& construct_params) | |
Object (GObject* castitem) | |
~Object () noexceptoverride | |
Protected Member Functions inherited from Glib::ObjectBase | |
ObjectBase () | |
This default constructor is called implicitly from the constructor of user-derived classes, even if, for instance, Gtk::Button calls a different ObjectBase constructor. More... | |
ObjectBase (const char* custom_type_name) | |
A derived constructor always overrides this choice. More... | |
ObjectBase (const std::type_info& custom_type_info) | |
This constructor is a special feature to allow creation of derived types on the fly, without having to use g_object_new() manually. More... | |
ObjectBase (ObjectBase&& src) noexcept | |
ObjectBase& | operator= (ObjectBase&& src) noexcept |
virtual | ~ObjectBase () noexcept=0 |
void | initialize (GObject* castitem) |
void | initialize_move (GObject* castitem, Glib::ObjectBase* previous_wrapper) |
Detailed Description
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().
Constructor & Destructor Documentation
|
noexcept |
|
overridenoexcept |
Member Function Documentation
Glib::RefPtr<Connection> Gio::DBus::MethodInvocation::get_connection | ( | ) |
Gets the Gio::DBus::Connection the method was invoked on.
- Returns
- A Gio::DBus::Connection. Do not free, it is owned by invocation.
Glib::RefPtr<const Connection> Gio::DBus::MethodInvocation::get_connection | ( | ) | const |
Gets the Gio::DBus::Connection the method was invoked on.
- Returns
- A Gio::DBus::Connection. Do not free, it is owned by invocation.
Glib::ustring Gio::DBus::MethodInvocation::get_interface_name | ( | ) | const |
Gets the name of the D-Bus interface the method was invoked on.
If this method call is a property Get, Set or GetAll call that has been redirected to the method call handler then "org.freedesktop.DBus.Properties" will be returned. See DBusInterfaceVTable for more information.
- Returns
- A string. Do not free, it is owned by invocation.
Glib::RefPtr<Message> Gio::DBus::MethodInvocation::get_message | ( | ) |
Gets the Gio::DBus::Message 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 this [server][gdbus-server] and [client][gdbus-unix-fd-client] for an example of how to use this low-level API to send and receive UNIX file descriptors.
- Returns
- Gio::DBus::Message. Do not free, it is owned by invocation.
Glib::RefPtr<const Message> Gio::DBus::MethodInvocation::get_message | ( | ) | const |
Gets the Gio::DBus::Message 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 this [server][gdbus-server] and [client][gdbus-unix-fd-client] for an example of how to use this low-level API to send and receive UNIX file descriptors.
- Returns
- Gio::DBus::Message. Do not free, it is owned by invocation.
Glib::RefPtr<const MethodInfo> Gio::DBus::MethodInvocation::get_method_info | ( | ) | const |
Gets information about the method call, if any.
If this method invocation is a property Get, Set or GetAll call that has been redirected to the method call handler then nullptr
will be returned. See g_dbus_method_invocation_get_property_info() and DBusInterfaceVTable for more information.
- Returns
- A DBusMethodInfo or
nullptr
. Do not free, it is owned by invocation.
Glib::ustring Gio::DBus::MethodInvocation::get_method_name | ( | ) | const |
Gets the name of the method that was invoked.
- Returns
- A string. Do not free, it is owned by invocation.
Glib::ustring Gio::DBus::MethodInvocation::get_object_path | ( | ) | const |
Gets the object path the method was invoked on.
- Returns
- A string. Do not free, it is owned by invocation.
Glib::VariantContainerBase Gio::DBus::MethodInvocation::get_parameters | ( | ) | const |
Gets the parameters of the method invocation.
If there are no input parameters then this will return a GVariant with 0 children rather than nullptr
.
- Returns
- A Variant tuple. Do not unref this because it is owned by invocation.
Glib::ustring Gio::DBus::MethodInvocation::get_sender | ( | ) | const |
Gets the bus name that invoked the method.
- Returns
- A string. Do not free, it is owned by invocation.
|
static |
Get the GType for this class, for use with the underlying GObject type system.
|
inline |
Provides access to the underlying C GObject.
|
inline |
Provides access to the underlying C GObject.
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.
|
noexcept |
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.
- Parameters
-
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_error() but without printf()-style formatting.
This method will free invocation, you cannot use it afterwards.
- Parameters
-
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 parameters.
If the parameters GVariant is floating, it is consumed.
It is an error if parameters is not of the right format.
This method will free invocation, you cannot use it afterwards.
Since 2.48, if the method call requested for a reply not to be sent then this call will sink parameters and free invocation, but otherwise do nothing (as per the recommendations of the D-Bus specification).
- Parameters
-
parameters A Variant tuple with out parameters for the method or nullptr
if not passing any parameters.
void Gio::DBus::MethodInvocation::return_value | ( | const Glib::VariantContainerBase& | parameters, |
const Glib::RefPtr< UnixFDList >& | fd_list | ||
) |
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
-
parameters A Variant tuple with out parameters for the method or nullptr
if not passing any parameters.fd_list A UnixFDList or nullptr
.
Friends And Related Function Documentation
|
related |
A Glib::wrap() method for this object.
- Parameters
-
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.
- Returns
- A C++ instance that wraps this C instance.