summaryrefslogtreecommitdiffstats
path: root/dbus/dbus-message.c
diff options
context:
space:
mode:
Diffstat (limited to 'dbus/dbus-message.c')
-rw-r--r--dbus/dbus-message.c29
1 files changed, 27 insertions, 2 deletions
diff --git a/dbus/dbus-message.c b/dbus/dbus-message.c
index 3d0de77f..be76caa6 100644
--- a/dbus/dbus-message.c
+++ b/dbus/dbus-message.c
@@ -1612,8 +1612,6 @@ dbus_message_iter_get_string_array (DBusMessageIter *iter,
/**
* Sets the message sender.
*
- * @todo implement #NULL sender to unset
- *
* @param message the message
* @param sender the sender
* @returns #FALSE if not enough memory
@@ -1637,6 +1635,33 @@ dbus_message_set_sender (DBusMessage *message,
}
}
+void
+dbus_message_set_is_error_reply (DBusMessage *message,
+ dbus_bool_t is_error_reply)
+{
+ char *header;
+
+ _dbus_assert (!message->locked);
+
+ _dbus_string_get_data_len (&message->header, &header, 1, 1);
+
+ if (is_error_reply)
+ *header |= DBUS_HEADER_FLAG_IS_ERROR_REPLY;
+ else
+ *header &= ~DBUS_HEADER_FLAG_IS_ERROR_REPLY;
+
+}
+
+dbus_bool_t
+dbus_message_get_is_error_reply (DBusMessage *message)
+{
+ const char *header;
+
+ _dbus_string_get_data_len (&message->header, &header, 1, 1);
+
+ return (*header & DBUS_HEADER_FLAG_IS_ERROR_REPLY) != 0;
+}
+
/**
* Gets the service which originated this message,
* or #NULL if unknown or inapplicable.