DBusMessage - D-Bus Message. More...
#include <giomm/dbusmessage.h>
Public Types | |
enum | ByteOrder { BYTE_ORDER_BIG_ENDIAN = 'B', BYTE_ORDER_LITTLE_ENDIAN = 'l' } |
Public Member Functions | |
virtual | ~DBusMessage () |
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 |
void | lock () |
Glib::RefPtr< DBusMessage > | copy () const |
DBusMessageType | get_message_type () const |
Gets the type of message. | |
void | set_message_type (DBusMessageType 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. | |
DBusMessageFlags | get_flags () const |
Gets the flags for message. | |
void | set_flags (DBusMessageFlags 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 message. | |
guint32 | get_num_unix_fds () const |
Gets the UNIX file descriptors associated with message, if any. | |
void | set_num_unix_fds (guint32 value) |
Convenience setter for the DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS header field. | |
void | get_header (Glib::VariantBase&value, DBusMessageHeaderField header_field) const |
Gets a header field on the message. | |
void | set_header (DBusMessageHeaderField header_field, const Glib::VariantBase&value) |
Sets a header field on message. | |
Glib::ArrayHandle< 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 DBUS_MESSAGE_HEADER_FIELD_DESTINATION header field. | |
void | set_destination (const Glib::ustring&value) |
Convenience setter for the DBUS_MESSAGE_HEADER_FIELD_DESTINATION header field. | |
Glib::ustring | get_error_name () const |
Convenience getter for the DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME header field. | |
void | set_error_name (const Glib::ustring&value) |
Convenience setter for the DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME header field. | |
Glib::ustring | get_interface () const |
Convenience getter for the DBUS_MESSAGE_HEADER_FIELD_INTERFACE header field. | |
void | set_interface (const Glib::ustring&value) |
Convenience setter for the DBUS_MESSAGE_HEADER_FIELD_INTERFACE header field. | |
Glib::ustring | get_member () const |
Convenience getter for the DBUS_MESSAGE_HEADER_FIELD_MEMBER header field. | |
void | set_member (const Glib::ustring&value) |
Convenience setter for the DBUS_MESSAGE_HEADER_FIELD_MEMBER header field. | |
Glib::ustring | get_path () const |
Convenience getter for the DBUS_MESSAGE_HEADER_FIELD_PATH header field. | |
void | set_path (const Glib::ustring&value) |
Convenience setter for the DBUS_MESSAGE_HEADER_FIELD_PATH header field. | |
guint32 | get_reply_serial () const |
Convenience getter for the DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL header field. | |
void | set_reply_serial (guint32 value) |
Convenience setter for the DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL header field. | |
Glib::ustring | get_sender () const |
Convenience getter for the DBUS_MESSAGE_HEADER_FIELD_SENDER header field. | |
void | set_sender (const Glib::ustring&value) |
Convenience setter for the DBUS_MESSAGE_HEADER_FIELD_SENDER header field. | |
Glib::ustring | get_signature () const |
Convenience getter for the DBUS_MESSAGE_HEADER_FIELD_SIGNATURE header field. | |
void | set_signature (const Glib::ustring&value) |
Convenience setter for the DBUS_MESSAGE_HEADER_FIELD_SIGNATURE header field. | |
Glib::ustring | get_arg0 () const |
Convenience to get the first item in the body of message. | |
guchar* | to_blob (gsize& out_size, DBusCapabilityFlags capabilities=DBUS_CAPABILITY_FLAGS_NONE) |
Serializes message to a blob. | |
void | to_exception () |
If message is not of type DBUS_MESSAGE_TYPE_ERROR does nothing and returns false . | |
Static Public Member Functions | |
static Glib::RefPtr< DBusMessage > | create () |
Creates a new empty DBusMessage. | |
static Glib::RefPtr< DBusMessage > | create_signal (const Glib::ustring& path, const Glib::ustring& interface, const Glib::ustring& signal) |
Creates a new DBusMessage for a signal emission. | |
static Glib::RefPtr< DBusMessage > | create_method_call (const Glib::ustring& name, const Glib::ustring& path, const Glib::ustring& interface, const Glib::ustring& method) |
Creates a new DBusMessage for a method call. | |
static Glib::RefPtr< DBusMessage > | create_method_reply (const Glib::RefPtr< DBusMessage >& method_call_message) |
Creates a new DBusMessage that is a reply to method_call_message. | |
static Glib::RefPtr< DBusMessage > | create_method_error_literal (const Glib::RefPtr< const DBusMessage >& method_call_message, const Glib::ustring& error_name, const Glib::ustring& error_message) |
Creates a new DBusMessage that is an error reply to method_call_message. | |
static Glib::RefPtr< DBusMessage > | create_from_blob (const guchar* blob, gsize blob_len, DBusCapabilityFlags capabilities=DBUS_CAPABILITY_FLAGS_NONE) |
Creates a new DBusMessage 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 | |
DBusMessage () | |
Related Functions | |
(Note that these are not member functions.) | |
Glib::RefPtr< Gio::DBusMessage > | wrap (GDBusMessage* object, bool take_copy=false) |
A Glib::wrap() method for this object. |
DBusMessage - D-Bus Message.
A type for representing D-Bus messages that can be sent or received on a DBusConnection.
virtual Gio::DBusMessage::~DBusMessage | ( | ) | [virtual] |
Gio::DBusMessage::DBusMessage | ( | ) | [protected] |
static gssize Gio::DBusMessage::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.
blob | A blob represent a binary D-Bus message. | |
blob_len | The length of blob (must be at least 16). |
Glib::RefPtr<DBusMessage> Gio::DBusMessage::copy | ( | ) | const |
static Glib::RefPtr<DBusMessage> Gio::DBusMessage::create | ( | ) | [static] |
Creates a new empty DBusMessage.
static Glib::RefPtr<DBusMessage> Gio::DBusMessage::create_from_blob | ( | const guchar * | blob, | |
gsize | blob_len, | |||
DBusCapabilityFlags | capabilities = DBUS_CAPABILITY_FLAGS_NONE | |||
) | [static] |
Creates a new DBusMessage from the data stored at blob.
The byte order that the message was in can be retrieved using g_dbus_message_get_byte_order().
blob | A blob represent a binary D-Bus message. | |
blob_len | The length of blob. | |
capabilities | A DBusCapabilityFlags describing what protocol features are supported. |
0
if error is set. Free with Glib::object_unref(). static Glib::RefPtr<DBusMessage> Gio::DBusMessage::create_method_call | ( | const Glib::ustring& | name, | |
const Glib::ustring& | path, | |||
const Glib::ustring& | interface, | |||
const Glib::ustring& | method | |||
) | [static] |
Creates a new DBusMessage for a method call.
name | A valid D-Bus name or 0 . | |
path | A valid object path. | |
interface | A valid D-Bus interface name or 0 . | |
method | A valid method name. |
static Glib::RefPtr<DBusMessage> Gio::DBusMessage::create_method_error_literal | ( | const Glib::RefPtr< const DBusMessage >& | method_call_message, | |
const Glib::ustring& | error_name, | |||
const Glib::ustring& | error_message | |||
) | [static] |
Creates a new DBusMessage that is an error reply to method_call_message.
error_name | A valid D-Bus error name. | |
error_message | The D-Bus error message. |
static Glib::RefPtr<DBusMessage> Gio::DBusMessage::create_method_reply | ( | const Glib::RefPtr< DBusMessage >& | method_call_message | ) | [static] |
Creates a new DBusMessage that is a reply to method_call_message.
static Glib::RefPtr<DBusMessage> Gio::DBusMessage::create_signal | ( | const Glib::ustring& | path, | |
const Glib::ustring& | interface, | |||
const Glib::ustring& | signal | |||
) | [static] |
Creates a new DBusMessage for a signal emission.
path | A valid object path. | |
interface | A valid D-Bus interface name. | |
signal | A valid signal name. |
Glib::ustring Gio::DBusMessage::get_arg0 | ( | ) | const |
Convenience to get the first item in the body of message.
0
if the first item in the body of message is not a string. void Gio::DBusMessage::get_body | ( | Glib::VariantBase& | value | ) | const |
Gets the body of a message.
The body is returned in value.
value | Location in which to store the header. |
ByteOrder Gio::DBusMessage::get_byte_order | ( | ) | const |
Gets the byte order of message.
Glib::ustring Gio::DBusMessage::get_destination | ( | ) | const |
Convenience getter for the DBUS_MESSAGE_HEADER_FIELD_DESTINATION header field.
Glib::ustring Gio::DBusMessage::get_error_name | ( | ) | const |
Convenience getter for the DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME header field.
DBusMessageFlags Gio::DBusMessage::get_flags | ( | ) | const |
Gets the flags for message.
void Gio::DBusMessage::get_header | ( | Glib::VariantBase& | value, | |
DBusMessageHeaderField | header_field | |||
) | const |
Gets a header field on the message.
The header is returned in value.
value | Location in which to store the header. | |
header_field | The header field type. |
Glib::ArrayHandle<guchar> Gio::DBusMessage::get_header_fields | ( | ) | const |
Gets an array of all header fields on message that are set.
Glib::ustring Gio::DBusMessage::get_interface | ( | ) | const |
Convenience getter for the DBUS_MESSAGE_HEADER_FIELD_INTERFACE header field.
bool Gio::DBusMessage::get_locked | ( | ) | const |
Glib::ustring Gio::DBusMessage::get_member | ( | ) | const |
Convenience getter for the DBUS_MESSAGE_HEADER_FIELD_MEMBER header field.
DBusMessageType Gio::DBusMessage::get_message_type | ( | ) | const |
Gets the type of message.
guint32 Gio::DBusMessage::get_num_unix_fds | ( | ) | const |
Gets the UNIX file descriptors associated with message, if any.
This method is only available on UNIX.
0
if no file descriptors are associated. Do not free, this object is owned by message. Gets the UNIX file descriptors associated with message, if any.This method is only available on UNIX.
0
if no file descriptors are associated. Do not free, this object is owned by message. Sets the UNIX file descriptors associated with message. As a side-effect the 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 0
).This method is only available on UNIX.
fd_list | A UnixFDList or 0 . Convenience getter for the DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS header field. |
Glib::ustring Gio::DBusMessage::get_path | ( | ) | const |
Convenience getter for the DBUS_MESSAGE_HEADER_FIELD_PATH header field.
guint32 Gio::DBusMessage::get_reply_serial | ( | ) | const |
Convenience getter for the DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL header field.
Glib::ustring Gio::DBusMessage::get_sender | ( | ) | const |
Convenience getter for the DBUS_MESSAGE_HEADER_FIELD_SENDER header field.
guint32 Gio::DBusMessage::get_serial | ( | ) | const |
Glib::ustring Gio::DBusMessage::get_signature | ( | ) | const |
Convenience getter for the DBUS_MESSAGE_HEADER_FIELD_SIGNATURE header field.
const GDBusMessage* Gio::DBusMessage::gobj | ( | ) | const [inline] |
Provides access to the underlying C GObject.
Reimplemented from Glib::ObjectBase.
GDBusMessage* Gio::DBusMessage::gobj | ( | ) | [inline] |
Provides access to the underlying C GObject.
Reimplemented from Glib::ObjectBase.
GDBusMessage* Gio::DBusMessage::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::DBusMessage::lock | ( | ) |
Glib::ustring Gio::DBusMessage::print | ( | guint | indent | ) |
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: <programlisting> 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) </programlisting> or <programlisting> 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 </programlisting>
indent | Indentation level. |
void Gio::DBusMessage::set_body | ( | const Glib::VariantBase& | body | ) |
Sets the body message.
As a side-effect the DBUS_MESSAGE_HEADER_FIELD_SIGNATURE header field is set to the type string of body (or cleared if body is 0
).
If body is floating, message assumes ownership of body.
body | Either 0 or a Variant that is a tuple. |
void Gio::DBusMessage::set_byte_order | ( | ByteOrder | byte_order | ) |
Sets the byte order of message.
byte_order | The byte order. |
void Gio::DBusMessage::set_destination | ( | const Glib::ustring& | value | ) |
Convenience setter for the DBUS_MESSAGE_HEADER_FIELD_DESTINATION header field.
value | The value to set. |
void Gio::DBusMessage::set_error_name | ( | const Glib::ustring& | value | ) |
Convenience setter for the DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME header field.
value | The value to set. |
void Gio::DBusMessage::set_flags | ( | DBusMessageFlags | flags | ) |
Sets the flags to set on message.
flags | Flags for message that are set (typically values from the DBusMessageFlags enumeration bitwise ORed together). |
void Gio::DBusMessage::set_header | ( | DBusMessageHeaderField | header_field, | |
const Glib::VariantBase& | value | |||
) |
Sets a header field on message.
If value is floating, message assumes ownership of value.
header_field | A 8-bit unsigned integer (typically a value from the DBusMessageHeaderField enumeration). | |
value | A Variant to set the header field or 0 to clear the header field. |
void Gio::DBusMessage::set_interface | ( | const Glib::ustring& | value | ) |
Convenience setter for the DBUS_MESSAGE_HEADER_FIELD_INTERFACE header field.
value | The value to set. |
void Gio::DBusMessage::set_member | ( | const Glib::ustring& | value | ) |
Convenience setter for the DBUS_MESSAGE_HEADER_FIELD_MEMBER header field.
value | The value to set. |
void Gio::DBusMessage::set_message_type | ( | DBusMessageType | type | ) |
Sets message to be of type.
type | A 8-bit unsigned integer (typically a value from the DBusMessageType enumeration). |
void Gio::DBusMessage::set_num_unix_fds | ( | guint32 | value | ) |
Convenience setter for the DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS header field.
value | The value to set. |
void Gio::DBusMessage::set_path | ( | const Glib::ustring& | value | ) |
Convenience setter for the DBUS_MESSAGE_HEADER_FIELD_PATH header field.
value | The value to set. |
void Gio::DBusMessage::set_reply_serial | ( | guint32 | value | ) |
Convenience setter for the DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL header field.
value | The value to set. |
void Gio::DBusMessage::set_sender | ( | const Glib::ustring& | value | ) |
Convenience setter for the DBUS_MESSAGE_HEADER_FIELD_SENDER header field.
value | The value to set. |
void Gio::DBusMessage::set_serial | ( | guint32 | serial | ) |
void Gio::DBusMessage::set_signature | ( | const Glib::ustring& | value | ) |
Convenience setter for the DBUS_MESSAGE_HEADER_FIELD_SIGNATURE header field.
value | The value to set. |
guchar* Gio::DBusMessage::to_blob | ( | gsize & | out_size, | |
DBusCapabilityFlags | capabilities = DBUS_CAPABILITY_FLAGS_NONE | |||
) |
Serializes message to a blob.
The byte order returned by g_dbus_message_get_byte_order() will be used.
out_size | Return location for size of generated blob. | |
capabilities | A DBusCapabilityFlags describing what protocol features are supported. |
0
if error is set. Free with Glib::free(). void Gio::DBusMessage::to_exception | ( | ) |
If message is not of type DBUS_MESSAGE_TYPE_ERROR does nothing and returns false
.
Otherwise this method encodes the error in message as a Error using g_dbus_error_set_dbus_error() using the information in the DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME header field of message as well as the first string item in message's body.
true
if error was set, false
otherwise. Glib::RefPtr< Gio::DBusMessage > wrap | ( | GDBusMessage * | 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. |