glibmm 2.89.0
Gio::DBus::Message Class Reference

A type for representing D-Bus messages that can be sent or received on a Connection. More...

#include <giomm/dbusmessage.h>

Inheritance diagram for Gio::DBus::Message:

Public Types

enum class  ByteOrder {
  ByteOrder::BIG_ENDIAN_ORDER = 66 ,
  ByteOrder::LITTLE_ENDIAN_ORDER = 108
}
 Enumeration used to describe the byte order of a D-Bus message. More...
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
Public Types inherited from sigc::notifiable
typedef internal::func_destroy_notify func_destroy_notify

Public Member Functions

 Message (Message && src) noexcept
Messageoperator= (Message && src) noexcept
 ~Message () noexcept override
GDBusMessage * gobj ()
 Provides access to the underlying C GObject.
const GDBusMessage * gobj () const
 Provides access to the underlying C GObject.
GDBusMessage * 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 print (guint indent)
 Produces a human-readable multi-line description of message.
bool get_locked () const
 Checks whether message is locked.
void lock ()
 Locks the message.
Glib::RefPtr< Messagecopy () const
 Copies message with a deep copy.
MessageType get_message_type () const
 Gets the type of message.
void set_message_type (MessageType type)
 Sets message to be of type.
ByteOrder get_byte_order () const
 Gets the byte order of message.
void set_byte_order (ByteOrder byte_order)
 Sets the byte order of message.
guint32 get_serial () const
 Gets the serial for message.
void set_serial (guint32 serial)
 Sets the serial for message.
MessageFlags get_flags () const
 Gets the flags for message.
void set_flags (MessageFlags flags)
 Sets the flags to set on message.
void get_body (Glib::VariantBase & value) const
 Gets the body of a message.
void set_body (const Glib::VariantBase & body)
 Sets the body of message.
Glib::RefPtr< UnixFDListget_unix_fd_list ()
 Gets the UNIX file descriptors associated with message, if any.
Glib::RefPtr< const UnixFDListget_unix_fd_list () const
 Gets the UNIX file descriptors associated with message, if any.
void set_unix_fd_list (const Glib::RefPtr< UnixFDList > & fd_list)
 Sets the UNIX file descriptors associated with message.
void unset_unix_fd_list ()
 Clears the existing UNIX file descriptor list.
guint32 get_num_unix_fds () const
 Convenience getter for the Gio::DBus::MessageHeaderField::NUM_UNIX_FDS header field.
void set_num_unix_fds (guint32 value)
 Convenience setter for the Gio::DBus::MessageHeaderField::NUM_UNIX_FDS header field.
void get_header (Glib::VariantBase & value, MessageHeaderField header_field) const
 Gets a header field on the message.
void set_header (MessageHeaderField header_field, const Glib::VariantBase & value)
 Sets a header field on message.
std::vector< guchar > get_header_fields () const
 Gets an array of all header fields on message that are set.
Glib::ustring get_destination () const
 Convenience getter for the Gio::DBus::MessageHeaderField::DESTINATION header field.
void set_destination (const Glib::ustring & value)
 Convenience setter for the Gio::DBus::MessageHeaderField::DESTINATION header field.
Glib::ustring get_error_name () const
 Convenience getter for the Gio::DBus::MessageHeaderField::ERROR_NAME header field.
void set_error_name (const Glib::ustring & value)
 Convenience setter for the Gio::DBus::MessageHeaderField::ERROR_NAME header field.
Glib::ustring get_interface () const
 Convenience getter for the Gio::DBus::MessageHeaderField::INTERFACE header field.
void set_interface (const Glib::ustring & value)
 Convenience setter for the Gio::DBus::MessageHeaderField::INTERFACE header field.
Glib::ustring get_member () const
 Convenience getter for the Gio::DBus::MessageHeaderField::MEMBER header field.
void set_member (const Glib::ustring & value)
 Convenience setter for the Gio::DBus::MessageHeaderField::MEMBER header field.
Glib::ustring get_path () const
 Convenience getter for the Gio::DBus::MessageHeaderField::PATH header field.
void set_path (const Glib::ustring & value)
 Convenience setter for the Gio::DBus::MessageHeaderField::PATH header field.
guint32 get_reply_serial () const
 Convenience getter for the Gio::DBus::MessageHeaderField::REPLY_SERIAL header field.
void set_reply_serial (guint32 value)
 Convenience setter for the Gio::DBus::MessageHeaderField::REPLY_SERIAL header field.
Glib::ustring get_sender () const
 Convenience getter for the Gio::DBus::MessageHeaderField::SENDER header field.
void set_sender (const Glib::ustring & value)
 Convenience setter for the Gio::DBus::MessageHeaderField::SENDER header field.
Glib::ustring get_signature () const
 Convenience getter for the [enum Gio.DBusMessageHeaderField.SIGNATURE header field.
void set_signature (const Glib::ustring & value)
 Convenience setter for the Gio::DBus::MessageHeaderField::SIGNATURE header field.
Glib::ustring get_arg0 () const
 Convenience to get the first item in the body of message.
Glib::DBusObjectPathString get_arg0_path () const
 Convenience to get the first item in the body of message.
guchar * to_blob (gsize & out_size, CapabilityFlags capabilities=CapabilityFlags::NONE)
 Serializes message to a blob.
void to_exception ()
 Encodes the error in message as a Glib::Error.
Glib::PropertyProxy_ReadOnly< bool > property_locked () const
 Default value: false.
Public Member Functions inherited from Glib::Object
 Object (const Object &)=delete
Objectoperator= (const Object &)=delete
 Object (Object && src) noexcept
Objectoperator= (Object && src) noexcept
void * get_data (const QueryQuark & key)
void set_data (const Quark & key, void *data)
void set_data_with_c_callback (const Quark & key, void *data, GDestroyNotify notify)
void set_data (const Quark & key, void *data, DestroyNotify notify)
 Prefer set_data_with_c_callback() with a callback with C linkage.
void remove_data (const QueryQuark & quark)
void * steal_data (const QueryQuark & quark)
Public Member Functions inherited from Glib::ObjectBase
 ObjectBase (const ObjectBase &)=delete
ObjectBaseoperator= (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.
void get_property_value (const Glib::ustring & property_name, Glib::ValueBase & value) const
 You probably want to use a specific property_*() accessor method instead.
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.
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.
template<class PropertyType>
PropertyType get_property (const Glib::ustring & property_name) const
 You probably want to use a specific property_*() accessor method instead.
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.
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.
void freeze_notify ()
 Increases the freeze count on object.
void thaw_notify ()
 Reverts the effect of a previous call to freeze_notify().
virtual void reference () const
 Increment the reference count for this object.
virtual void unreference () const
 Decrement the reference count for this object.
GObject * gobj ()
 Provides access to the underlying C GObject.
const GObject * gobj () const
 Provides access to the underlying C GObject.
GObject * gobj_copy () const
 Give a ref-ed copy to someone. Use for direct struct access.
Public Member Functions inherited from sigc::trackable
 trackable () noexcept
 trackable (const trackable &src) noexcept
 trackable (trackable &&src) noexcept
 ~trackable ()
void add_destroy_notify_callback (notifiable *data, func_destroy_notify func) const
void notify_callbacks ()
trackableoperator= (const trackable &src)
trackableoperator= (trackable &&src) noexcept
void remove_destroy_notify_callback (notifiable *data) const

Static Public Member Functions

static GType get_type ()
 Get the GType for this class, for use with the underlying GObject type system.
static Glib::RefPtr< Messagecreate ()
 Creates a new empty D-Bus message.
static Glib::RefPtr< Messagecreate_signal (const Glib::ustring & path, const Glib::ustring & iface, const Glib::ustring & signal)
 Creates a new D-Bus message for a signal emission.
static Glib::RefPtr< Messagecreate_method_call (const Glib::ustring & name, const Glib::ustring & path, const Glib::ustring & iface, const Glib::ustring & method)
 Creates a new D-Bus message for a method call.
static Glib::RefPtr< Messagecreate_method_reply (const Glib::RefPtr< Message > & method_call_message)
 Creates a new D-Bus message that is a reply to method_call_message.
static Glib::RefPtr< Messagecreate_method_error_literal (const Glib::RefPtr< const Message > & method_call_message, const Glib::ustring & error_name, const Glib::ustring & error_message)
 Creates a new D-Bus message that is an error reply to method_call_message.
static Glib::RefPtr< Messagecreate_from_blob (const guchar * blob, gsize blob_len, CapabilityFlags capabilities=CapabilityFlags::NONE)
 Creates a new D-Bus message from the data stored at blob.
static gssize bytes_needed (const guchar * blob, gsize blob_len)
 Utility function to calculate how many bytes are needed to completely deserialize the D-Bus message stored at blob.

Protected Member Functions

 Message ()
Protected Member Functions inherited from Glib::Object
 Object ()
 Object (const Glib::ConstructParams & construct_params)
 Object (GObject * castitem)
 ~Object () noexcept override
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.
 ObjectBase (const char * custom_type_name)
 A derived constructor always overrides this choice.
 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.
 ObjectBase (ObjectBase && src) noexcept
ObjectBaseoperator= (ObjectBase && src) noexcept
virtual ~ObjectBase () noexcept=0
void initialize (GObject * castitem)
void initialize_move (GObject * castitem, Glib::ObjectBase * previous_wrapper)

(Note that these are not member symbols.)

Glib::RefPtr< Gio::DBus::Messagewrap (GDBusMessage * object, bool take_copy=false)
 A Glib::wrap() method for this object.

Detailed Description

A type for representing D-Bus messages that can be sent or received on a Connection.

Since glibmm 2.28

Constructor & Destructor Documentation

◆ Message() [1/2]

Gio::DBus::Message::Message ( Message && src)
noexcept

◆ ~Message()

Gio::DBus::Message::~Message ( )
overridenoexcept

◆ Message() [2/2]

Gio::DBus::Message::Message ( )
protected

Member Function Documentation

◆ bytes_needed()

gssize Gio::DBus::Message::bytes_needed ( const guchar * blob,
gsize blob_len )
static

Utility function to calculate how many bytes are needed to completely deserialize the D-Bus message stored at blob.

An error will be returned if blob contains invalid data, or if not enough data is available to determine the size.

Since glibmm 2.26
Parameters
blobA blob representing a binary D-Bus message.
blob_lenThe length of blob (must be at least 16 bytes).
Returns
Number of bytes needed or -1 if error is set.
Exceptions
Gio::Error

◆ copy()

Glib::RefPtr< Message > Gio::DBus::Message::copy ( ) const

Copies message with a deep copy.

The returned D-Bus message is completely identical to message except that it is guaranteed to not be locked.

This operation can fail if (for example) message contains file descriptors and the per-process or system-wide open files limit is reached.

Since glibmm 2.26
Returns
A new D-Bus message.
Exceptions
Gio::Error

◆ create()

Glib::RefPtr< Message > Gio::DBus::Message::create ( )
static

Creates a new empty D-Bus message.

Since glibmm 2.26
Returns
The D-Bus message.

◆ create_from_blob()

Glib::RefPtr< Message > Gio::DBus::Message::create_from_blob ( const guchar * blob,
gsize blob_len,
CapabilityFlags capabilities = CapabilityFlags::NONE )
static

Creates a new D-Bus message from the data stored at blob.

You must have previously called gio_dbus_message_bytes_needed() on blob, and ensure that blob is at least as long as the return value from that function indicates. In particular, that means that blob must be at least 16 bytes long (but will typically be much longer).

The byte order that the message was in can be retrieved using Gio::DBusMessage::get_byte_order().

If the blob cannot be parsed, contains invalid fields, or contains invalid headers, [error.nosp@m.@Gio.nosp@m..IOEr.nosp@m.rorE.nosp@m.num.I.nosp@m.NVAL.nosp@m.ID_AR.nosp@m.GUME.nosp@m.NT] will be returned.

Since glibmm 2.26
Parameters
blobA blob representing a binary D-Bus message.
blob_lenThe length of blob, in bytes.
capabilitiesFlags describing what protocol features are supported.
Returns
The D-Bus message.
Exceptions
Gio::Error

◆ create_method_call()

Glib::RefPtr< Message > Gio::DBus::Message::create_method_call ( const Glib::ustring & name,
const Glib::ustring & path,
const Glib::ustring & iface,
const Glib::ustring & method )
static

Creates a new D-Bus message for a method call.

Since glibmm 2.26
Parameters
nameA valid D-Bus name, or nullptr if no destination is needed.
pathA valid object path.
ifaceA valid D-Bus interface name, or nullptr if none is needed.
methodA valid method name.
Returns
The D-Bus message.

◆ create_method_error_literal()

Glib::RefPtr< Message > Gio::DBus::Message::create_method_error_literal ( const Glib::RefPtr< const Message > & method_call_message,
const Glib::ustring & error_name,
const Glib::ustring & error_message )
static

Creates a new D-Bus message that is an error reply to method_call_message.

Since glibmm 2.26
Parameters
method_call_messageA message of type Gio::DBus::MessageType::METHOD_CALL to create a reply message to.
error_nameA valid D-Bus error name.
error_messageThe D-Bus error message.
Returns
The D-Bus message.

◆ create_method_reply()

Glib::RefPtr< Message > Gio::DBus::Message::create_method_reply ( const Glib::RefPtr< Message > & method_call_message)
static

Creates a new D-Bus message that is a reply to method_call_message.

Since glibmm 2.26
Parameters
method_call_messageA message of type Gio::DBus::MessageType::METHOD_CALL to create a reply message to.
Returns
The D-Bus message.

◆ create_signal()

Glib::RefPtr< Message > Gio::DBus::Message::create_signal ( const Glib::ustring & path,
const Glib::ustring & iface,
const Glib::ustring & signal )
static

Creates a new D-Bus message for a signal emission.

Since glibmm 2.26
Parameters
pathA valid object path.
ifaceA valid D-Bus interface name.
signalA valid signal name.
Returns
The D-Bus message.

◆ get_arg0()

Glib::ustring Gio::DBus::Message::get_arg0 ( ) const

Convenience to get the first item in the body of message.

See Gio::DBusMessage::get_arg0_path() for returning object-path-typed arg0 values.

Since glibmm 2.26
Returns
The string item, or nullptr if the first item in the body of message is not a string.

◆ get_arg0_path()

Glib::DBusObjectPathString Gio::DBus::Message::get_arg0_path ( ) const

Convenience to get the first item in the body of message.

See Gio::DBusMessage::get_arg0() for returning string-typed arg0 values.

Since glibmm 2.80
Returns
The object path item, or nullptr if the first item in the body of message is not an object path.

◆ get_body()

void Gio::DBus::Message::get_body ( Glib::VariantBase & value) const

Gets the body of a message.

The body is returned in value.

Parameters
valueLocation in which to store the header.

◆ get_byte_order()

ByteOrder Gio::DBus::Message::get_byte_order ( ) const

Gets the byte order of message.

Returns
The byte order.

◆ get_destination()

Glib::ustring Gio::DBus::Message::get_destination ( ) const

Convenience getter for the Gio::DBus::MessageHeaderField::DESTINATION header field.

Since glibmm 2.26
Returns
The value.

◆ get_error_name()

Glib::ustring Gio::DBus::Message::get_error_name ( ) const

Convenience getter for the Gio::DBus::MessageHeaderField::ERROR_NAME header field.

Since glibmm 2.26
Returns
The value.

◆ get_flags()

MessageFlags Gio::DBus::Message::get_flags ( ) const

Gets the flags for message.

Since glibmm 2.26
Returns
Flags that are set (typically values from the Gio::DBusMessageFlags enumeration bitwise ORed together).

◆ get_header()

void Gio::DBus::Message::get_header ( Glib::VariantBase & value,
MessageHeaderField header_field ) const

Gets a header field on the message.

The header is returned in value.

Parameters
valueLocation in which to store the header.
header_fieldThe header field type.

◆ get_header_fields()

std::vector< guchar > Gio::DBus::Message::get_header_fields ( ) const

Gets an array of all header fields on message that are set.

Each element in the array is an unsigned char.

Since glibmm 2.26
Returns
An array of header fields terminated by Gio::DBus::MessageHeaderField::INVALID.

◆ get_interface()

Glib::ustring Gio::DBus::Message::get_interface ( ) const

Convenience getter for the Gio::DBus::MessageHeaderField::INTERFACE header field.

Since glibmm 2.26
Returns
The value.

◆ get_locked()

bool Gio::DBus::Message::get_locked ( ) const

Checks whether message is locked.

To monitor changes to this value, connect to the GObject::Object::signal_notify() signal to listen for changes on the Gio::DBusMessage::property_locked() property.

Since glibmm 2.26
Returns
True if message is locked, false otherwise.

◆ get_member()

Glib::ustring Gio::DBus::Message::get_member ( ) const

Convenience getter for the Gio::DBus::MessageHeaderField::MEMBER header field.

Since glibmm 2.26
Returns
The value.

◆ get_message_type()

MessageType Gio::DBus::Message::get_message_type ( ) const

Gets the type of message.

Since glibmm 2.26
Returns
A 8-bit unsigned integer (typically a value from the Gio::DBusMessageType enumeration).

◆ get_num_unix_fds()

guint32 Gio::DBus::Message::get_num_unix_fds ( ) const

Convenience getter for the Gio::DBus::MessageHeaderField::NUM_UNIX_FDS header field.

Since glibmm 2.26
Returns
The value.

◆ get_path()

Glib::ustring Gio::DBus::Message::get_path ( ) const

Convenience getter for the Gio::DBus::MessageHeaderField::PATH header field.

Since glibmm 2.26
Returns
The value.

◆ get_reply_serial()

guint32 Gio::DBus::Message::get_reply_serial ( ) const

Convenience getter for the Gio::DBus::MessageHeaderField::REPLY_SERIAL header field.

Since glibmm 2.26
Returns
The value.

◆ get_sender()

Glib::ustring Gio::DBus::Message::get_sender ( ) const

Convenience getter for the Gio::DBus::MessageHeaderField::SENDER header field.

Since glibmm 2.26
Returns
The value.

◆ get_serial()

guint32 Gio::DBus::Message::get_serial ( ) const

Gets the serial for message.

Since glibmm 2.26
Returns
The serial number, which should not be zero.

◆ get_signature()

Glib::ustring Gio::DBus::Message::get_signature ( ) const

Convenience getter for the [enum Gio.DBusMessageHeaderField.SIGNATURE header field.

This will always be non-nullptr, but may be an empty string.

Since glibmm 2.26
Returns
The value.

◆ get_type()

GType Gio::DBus::Message::get_type ( )
static

Get the GType for this class, for use with the underlying GObject type system.

◆ get_unix_fd_list() [1/2]

Glib::RefPtr< UnixFDList > Gio::DBus::Message::get_unix_fd_list ( )

Gets the UNIX file descriptors associated with message, if any.

This method is only available on UNIX.

The file descriptors normally correspond to G_VARIANT_TYPE_HANDLE values in the body of the message. For example, if Glib::Variant::get_handle() returns 5, that is intended to be a reference to the file descriptor that can be accessed by g_unix_fd_list_get (list, 5, ...).

Since glibmm 2.26
Returns
A Gio::UnixFDList or nullptr if no file descriptors are associated.

◆ get_unix_fd_list() [2/2]

Glib::RefPtr< const UnixFDList > Gio::DBus::Message::get_unix_fd_list ( ) const

Gets the UNIX file descriptors associated with message, if any.

This method is only available on UNIX.

The file descriptors normally correspond to G_VARIANT_TYPE_HANDLE values in the body of the message. For example, if Glib::Variant::get_handle() returns 5, that is intended to be a reference to the file descriptor that can be accessed by g_unix_fd_list_get (list, 5, ...).

Since glibmm 2.26
Returns
A Gio::UnixFDList or nullptr if no file descriptors are associated.

◆ gobj() [1/2]

GDBusMessage * Gio::DBus::Message::gobj ( )
inline

Provides access to the underlying C GObject.

◆ gobj() [2/2]

const GDBusMessage * Gio::DBus::Message::gobj ( ) const
inline

Provides access to the underlying C GObject.

◆ gobj_copy()

GDBusMessage * Gio::DBus::Message::gobj_copy ( )

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

◆ lock()

void Gio::DBus::Message::lock ( )

Locks the message.

If message is locked already, this does nothing.

Since glibmm 2.26

◆ operator=()

Message & Gio::DBus::Message::operator= ( Message && src)
noexcept

◆ print()

Glib::ustring Gio::DBus::Message::print ( guint indent)

Produces a human-readable multi-line description of message.

The contents and formatting are subject to change at any time and no ABI guarantees are given. Typical output looks something like this:

Type: method-call
Flags: none
Version: 0
Serial: 4
Headers:
path -> objectpath '/org/gtk/GDBus/TestObject'
interface -> 'org.gtk.GDBus.TestInterface'
member -> 'GimmeStdout'
destination -> ':1.146'
Body: ()
UNIX File Descriptors:
(none)
File and directory handling.
Definition file.h:220
@ UNIX
The UNIX domain family.
Definition enums.h:149

or

Type: method-return
Flags: no-reply-expected
Version: 0
Serial: 477
Headers:
reply-serial -> uint32 4
destination -> ':1.159'
sender -> ':1.146'
num-unix-fds -> uint32 1
Body: ()
UNIX File Descriptors:
fd 12: dev=0:10,mode=020620,ino=5,uid=500,gid=5,rdev=136:2,size=0,atime=1273085037,mtime=1273085851,ctime=1272982635
constexpr auto size(const _Container &__cont) noexcept(noexcept(__cont.size())) -> decltype(__cont.size())
Since glibmm 2.26
Parameters
indentIndentation level.
Returns
Human readable description of message.

◆ property_locked()

Glib::PropertyProxy_ReadOnly< bool > Gio::DBus::Message::property_locked ( ) const

Default value: false.

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

◆ set_body()

void Gio::DBus::Message::set_body ( const Glib::VariantBase & body)

Sets the body of message.

As a side-effect the Gio::DBus::MessageHeaderField::SIGNATURE header field is set to the type string of body (or cleared if body is nullptr).

If body is floating, message assumes ownership of body.

Since glibmm 2.26
Parameters
bodyA Glib::Variant containing a tuple, or nullptr if no body is needed.

◆ set_byte_order()

void Gio::DBus::Message::set_byte_order ( ByteOrder byte_order)

Sets the byte order of message.

Parameters
byte_orderThe byte order.

◆ set_destination()

void Gio::DBus::Message::set_destination ( const Glib::ustring & value)

Convenience setter for the Gio::DBus::MessageHeaderField::DESTINATION header field.

Since glibmm 2.26
Parameters
valueThe value to set.

◆ set_error_name()

void Gio::DBus::Message::set_error_name ( const Glib::ustring & value)

Convenience setter for the Gio::DBus::MessageHeaderField::ERROR_NAME header field.

Since glibmm 2.26
Parameters
valueThe value to set.

◆ set_flags()

void Gio::DBus::Message::set_flags ( MessageFlags flags)

Sets the flags to set on message.

Since glibmm 2.26
Parameters
flagsFlags for message that are set (typically values from the Gio::DBusMessageFlags enumeration bitwise ORed together).

◆ set_header()

void Gio::DBus::Message::set_header ( MessageHeaderField header_field,
const Glib::VariantBase & value )

Sets a header field on message.

If value is floating, message assumes ownership of value.

Since glibmm 2.26
Parameters
header_fieldA 8-bit unsigned integer (typically a value from the [enum Gio.DBusMessageHeaderField enumeration).
valueA Glib::Variant to set the header field, or nullptr to clear the header field.

◆ set_interface()

void Gio::DBus::Message::set_interface ( const Glib::ustring & value)

Convenience setter for the Gio::DBus::MessageHeaderField::INTERFACE header field.

Since glibmm 2.26
Parameters
valueThe value to set.

◆ set_member()

void Gio::DBus::Message::set_member ( const Glib::ustring & value)

Convenience setter for the Gio::DBus::MessageHeaderField::MEMBER header field.

Since glibmm 2.26
Parameters
valueThe value to set.

◆ set_message_type()

void Gio::DBus::Message::set_message_type ( MessageType type)

Sets message to be of type.

Since glibmm 2.26
Parameters
typeA 8-bit unsigned integer (typically a value from the Gio::DBusMessageType enumeration).

◆ set_num_unix_fds()

void Gio::DBus::Message::set_num_unix_fds ( guint32 value)

Convenience setter for the Gio::DBus::MessageHeaderField::NUM_UNIX_FDS header field.

Since glibmm 2.26
Parameters
valueThe value to set.

◆ set_path()

void Gio::DBus::Message::set_path ( const Glib::ustring & value)

Convenience setter for the Gio::DBus::MessageHeaderField::PATH header field.

Since glibmm 2.26
Parameters
valueThe value to set.

◆ set_reply_serial()

void Gio::DBus::Message::set_reply_serial ( guint32 value)

Convenience setter for the Gio::DBus::MessageHeaderField::REPLY_SERIAL header field.

Since glibmm 2.26
Parameters
valueThe value to set.

◆ set_sender()

void Gio::DBus::Message::set_sender ( const Glib::ustring & value)

Convenience setter for the Gio::DBus::MessageHeaderField::SENDER header field.

Since glibmm 2.26
Parameters
valueThe value to set.

◆ set_serial()

void Gio::DBus::Message::set_serial ( guint32 serial)

Sets the serial for message.

The D-Bus specification does not allow the serial to be zero.

Since glibmm 2.26
Parameters
serialA serial number, which must not be zero.

◆ set_signature()

void Gio::DBus::Message::set_signature ( const Glib::ustring & value)

Convenience setter for the Gio::DBus::MessageHeaderField::SIGNATURE header field.

Since glibmm 2.26
Parameters
valueThe value to set.

◆ set_unix_fd_list()

void Gio::DBus::Message::set_unix_fd_list ( const Glib::RefPtr< UnixFDList > & fd_list)

Sets the UNIX file descriptors associated with message.

As a side-effect the Gio::DBus::MessageHeaderField::NUM_UNIX_FDS header field is set to the number of fds in fd_list (or cleared if fd_list is nullptr).

This method is only available on UNIX.

When designing D-Bus APIs that are intended to be interoperable, please note that non-GDBus implementations of D-Bus can usually only access file descriptors if they are referenced by a value of type G_VARIANT_TYPE_HANDLE in the body of the message.

Since glibmm 2.26
Parameters
fd_listA Gio::UnixFDList, or nullptr to clear.

◆ to_blob()

guchar * Gio::DBus::Message::to_blob ( gsize & out_size,
CapabilityFlags capabilities = CapabilityFlags::NONE )

Serializes message to a blob.

The byte order returned by Gio::DBusMessage::get_byte_order() will be used.

Since glibmm 2.26
Parameters
out_sizeReturn location for size of generated blob, in bytes.
capabilitiesFlags describing what protocol features are supported.
Returns
A pointer to a valid binary D-Bus message of out_size bytes generated by message.
Exceptions
Gio::Error

◆ to_exception()

void Gio::DBus::Message::to_exception ( )

Encodes the error in message as a Glib::Error.

If message is of type Gio::DBus::MessageType::ERROR, this function calls gio_dbus_error_set_dbus_error() using the information in the Gio::DBus::MessageHeaderField::ERROR_NAME header field of message as well as the first string item in message’s body.

If message is not of type Gio::DBus::MessageType::ERROR, this function does nothing and returns false.

Since glibmm 2.26
Exceptions
Glib::Error

◆ unset_unix_fd_list()

void Gio::DBus::Message::unset_unix_fd_list ( )

Clears the existing UNIX file descriptor list.

◆ wrap()

Glib::RefPtr< Gio::DBus::Message > wrap ( GDBusMessage * object,
bool take_copy = false )
related

A Glib::wrap() method for this object.

Parameters
objectThe C instance.
take_copyFalse 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.