summaryrefslogtreecommitdiffstats
path: root/dbus/dbus-message.c
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@codefactory.se>2003-01-31 13:36:36 +0000
committerAnders Carlsson <andersca@codefactory.se>2003-01-31 13:36:36 +0000
commit8ab042b9571dda44a5afcfe50e0d29dc9b58ecae (patch)
tree491e1fd75d970f09e6b939d17aa293432a603dd2 /dbus/dbus-message.c
parent482dab2076282ef1195564fa60dd25c1ffb77682 (diff)
2003-01-31 Anders Carlsson <andersca@codefactory.se>
* dbus/dbus-address.c: (dbus_address_entry_free): Free key and value lists. * dbus/dbus-internals.c: (_dbus_type_to_string): Add the types we didn't have. * dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos), (_dbus_marshal_validate_arg): Add NIL types. * dbus/dbus-message.c: (dbus_message_set_sender): Remove todo about being able to set sender to NULL. (dbus_message_set_is_error_reply), (dbus_message_get_is_error_reply): * dbus/dbus-message.h: New functions. * dbus/dbus-protocol.h: Add error reply flag. * test/data/valid-messages/opposite-endian.message: Add NIL type to test.
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.