Class: Gio::DBusMessage
- Inherits:
-
Object
- Object
- Gio::DBusMessage
- Defined in:
- (unknown)
Overview
A type for representing D-Bus messages that can be sent or received on a [classGio.DBusConnection].
Class Method Summary collapse
-
.bytes_needed(blob, blob_len) ⇒ Gio::gssize
Utility function to calculate how many bytes are needed to completely deserialize the D-Bus message stored at blob.
Instance Method Summary collapse
-
#arg0 ⇒ String
Convenience to get the first item in the body of message.
-
#arg0_path ⇒ String
Convenience to get the first item in the body of message.
-
#body ⇒ GLib::Variant
Gets the body of a message.
-
#body=(body) ⇒ nil
Sets the body message.
-
#byte_order ⇒ Gio::DBusMessageByteOrder
Gets the byte order of message.
-
#byte_order=(byte_order) ⇒ nil
Sets the byte order of message.
-
#copy ⇒ Gio::DBusMessage
Copies message.
-
#destination ⇒ String
Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION header field.
-
#destination=(value) ⇒ nil
Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION header field.
-
#error_name ⇒ String
Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME header field.
-
#error_name=(value) ⇒ nil
Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME header field.
-
#flags ⇒ Gio::DBusMessageFlags
Gets the flags for message.
-
#flags=(flags) ⇒ nil
Sets the flags to set on message.
-
#get_header(header_field) ⇒ GLib::Variant
Gets a header field on message.
-
#header_fields ⇒ Array<Integer>
Gets an array of all header fields on message that are set.
-
#initialize(path, interface_, signal) ⇒ Gio::DBusMessage
constructor
Creates a new GDBus::Message for a signal emission.
-
#interface ⇒ String
Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE header field.
-
#interface=(value) ⇒ nil
Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE header field.
-
#lock ⇒ nil
If message is locked, does nothing.
-
#locked ⇒ Boolean
Checks whether message is locked.
- #locked=(locked) ⇒ Boolean
-
#locked? ⇒ Boolean
Locked.
-
#member ⇒ String
Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_MEMBER header field.
-
#member=(value) ⇒ nil
Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_MEMBER header field.
-
#message_type ⇒ Gio::DBusMessageType
Gets the type of message.
-
#message_type=(type) ⇒ nil
Sets message to be of type.
-
#new_method_error(error_name, error_message_format, array) ⇒ Gio::DBusMessage
Creates a new GDBus::Message that is an error reply to method_call_message.
-
#new_method_error_literal(error_name, error_message) ⇒ Gio::DBusMessage
Creates a new GDBus::Message that is an error reply to method_call_message.
-
#new_method_error_valist(error_name, error_message_format, var_args) ⇒ Gio::DBusMessage
Like g_dbus_message_new_method_error() but intended for language bindings.
-
#new_method_reply ⇒ Gio::DBusMessage
Creates a new GDBus::Message that is a reply to method_call_message.
-
#num_unix_fds ⇒ Integer
Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS header field.
-
#num_unix_fds=(value) ⇒ nil
Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS header field.
-
#path ⇒ String
Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_PATH header field.
-
#path=(value) ⇒ nil
Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_PATH header field.
-
#print(indent) ⇒ String
Produces a human-readable multi-line description of message.
-
#reply_serial ⇒ Integer
Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL header field.
-
#reply_serial=(value) ⇒ nil
Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL header field.
-
#sender ⇒ String
Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_SENDER header field.
-
#sender=(value) ⇒ nil
Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_SENDER header field.
-
#serial ⇒ Integer
Gets the serial for message.
-
#serial=(serial) ⇒ nil
Sets the serial for message.
-
#set_header(header_field, value) ⇒ nil
Sets a header field on message.
-
#signature ⇒ String
Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE header field.
-
#signature=(value) ⇒ nil
Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE header field.
-
#to_blob(out_size, capabilities) ⇒ Array<Integer>
Serializes message to a blob.
-
#to_gerror ⇒ Boolean
If message is not of type %G_DBUS_MESSAGE_TYPE_ERROR does nothing and returns false.
-
#unix_fd_list ⇒ Gio::UnixFDList
Gets the UNIX file descriptors associated with message, if any.
-
#unix_fd_list=(fd_list) ⇒ nil
Sets the UNIX file descriptors associated with message.
Constructor Details
#initialize(path, interface_, signal) ⇒ Gio::DBusMessage
Creates a new GDBus::Message for a signal emission.
Class Method Details
.bytes_needed(blob, blob_len) ⇒ Gio::gssize
Utility function to calculate how many bytes are needed to completely deserialize the D-Bus message stored at blob. blob contains invalid data or not enough data is available to determine the size).
Instance Method Details
#arg0 ⇒ String
Convenience to get the first item in the body of message.
See [methodGio.DBusMessage.get_arg0_path] for returning object-path-typed arg0 values. message is not a string.
#arg0_path ⇒ String
Convenience to get the first item in the body of message.
See [methodGio.DBusMessage.get_arg0] for returning string-typed arg0 values.
#body ⇒ GLib::Variant
Gets the body of a message. empty. Do not free, it is owned by message.
#body=(body) ⇒ nil
Sets the body message. As a side-effect the %G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE header field is set to the type string of body (or cleared if body is nil).
If body is floating, message assumes ownership of body.
#byte_order ⇒ Gio::DBusMessageByteOrder
Gets the byte order of message.
#byte_order=(byte_order) ⇒ nil
Sets the byte order of message.
#copy ⇒ Gio::DBusMessage
Copies message. The copy is a deep copy and the returned GDBus::Message is completely identical except that it is guaranteed to not be locked.
This operation can fail if e.g. message contains file descriptors and the per-process or system-wide open files limit is reached.
#destination ⇒ String
Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION header field.
#destination=(value) ⇒ nil
Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION header field.
#error_name ⇒ String
Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME header field.
#error_name=(value) ⇒ nil
Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME header field.
#flags ⇒ Gio::DBusMessageFlags
Gets the flags for message.
#flags=(flags) ⇒ nil
Sets the flags to set on message. enumeration bitwise ORed together).
#get_header(header_field) ⇒ GLib::Variant
Gets a header field on message.
The caller is responsible for checking the type of the returned #GVariant matches what is expected. otherwise. Do not free, it is owned by message.
#header_fields ⇒ Array<Integer>
Gets an array of all header fields on message that are set. terminated by %G_DBUS_MESSAGE_HEADER_FIELD_INVALID. Each element is a #guchar. Free with g_free().
#interface ⇒ String
Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE header field.
#interface=(value) ⇒ nil
Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE header field.
#lock ⇒ nil
If message is locked, does nothing. Otherwise locks the message.
#locked ⇒ Boolean
Checks whether message is locked. To monitor changes to this value, conncet to the #GObject::notify signal to listen for changes on the GDBus::Message:locked property.
#locked=(locked) ⇒ Boolean
#locked? ⇒ Boolean
Returns locked.
#member ⇒ String
Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_MEMBER header field.
#member=(value) ⇒ nil
Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_MEMBER header field.
#message_type ⇒ Gio::DBusMessageType
Gets the type of message.
#message_type=(type) ⇒ nil
Sets message to be of type.
#new_method_error(error_name, error_message_format, array) ⇒ Gio::DBusMessage
Creates a new GDBus::Message that is an error reply to method_call_message.
#new_method_error_literal(error_name, error_message) ⇒ Gio::DBusMessage
Creates a new GDBus::Message that is an error reply to method_call_message.
#new_method_error_valist(error_name, error_message_format, var_args) ⇒ Gio::DBusMessage
Like g_dbus_message_new_method_error() but intended for language bindings.
#new_method_reply ⇒ Gio::DBusMessage
Creates a new GDBus::Message that is a reply to method_call_message.
#num_unix_fds ⇒ Integer
Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS header field.
#num_unix_fds=(value) ⇒ nil
Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS header field.
#path ⇒ String
Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_PATH header field.
#path=(value) ⇒ nil
Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_PATH header field.
#print(indent) ⇒ String
Produces a human-readable multi-line description of message.
The contents of the description has no ABI guarantees, the contents and formatting is subject to change at any time. Typical output looks something like this:
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)
or
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
#reply_serial ⇒ Integer
Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL header field.
#reply_serial=(value) ⇒ nil
Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL header field.
#sender ⇒ String
Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_SENDER header field.
#sender=(value) ⇒ nil
Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_SENDER header field.
#serial ⇒ Integer
Gets the serial for message.
#serial=(serial) ⇒ nil
Sets the serial for message.
#set_header(header_field, value) ⇒ nil
Sets a header field on message.
If value is floating, message assumes ownership of value.
#signature ⇒ String
Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE header field.
This will always be non-nil, but may be an empty string.
#signature=(value) ⇒ nil
Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE header field.
#to_blob(out_size, capabilities) ⇒ Array<Integer>
Serializes message to a blob. The byte order returned by g_dbus_message_get_byte_order() will be used. valid binary D-Bus message of out_size bytes generated by message or nil if error is set. Free with g_free().
#to_gerror ⇒ Boolean
If message is not of type %G_DBUS_MESSAGE_TYPE_ERROR does nothing and returns false.
Otherwise this method encodes the error in message as a #GError using g_dbus_error_set_dbus_error() using the information in the %G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME header field of message as well as the first string item in message's body.
#unix_fd_list ⇒ Gio::UnixFDList
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 g_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, ...).
associated. Do not free, this object is owned by message.
#unix_fd_list=(fd_list) ⇒ nil
Sets the UNIX file descriptors associated with message. As a side-effect the %G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS header field is set to the number of fds in fd_list (or cleared if fd_list is nil).
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.