mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2026-05-08 12:38:01 +02:00
2003-08-02 Havoc Pennington <hp@pobox.com>
* dbus/dbus-message.c (dbus_message_get_no_reply) (dbus_message_set_no_reply): add these and remove set_is_error/get_is_error * dbus/dbus-protocol.h, doc/dbus-specification.sgml: remove the ERROR flag, since there's now an ERROR type
This commit is contained in:
parent
9c5d01f0fe
commit
ff8908f1e9
5 changed files with 38 additions and 32 deletions
|
|
@ -1,3 +1,12 @@
|
||||||
|
2003-08-02 Havoc Pennington <hp@pobox.com>
|
||||||
|
|
||||||
|
* dbus/dbus-message.c (dbus_message_get_no_reply)
|
||||||
|
(dbus_message_set_no_reply): add these and remove
|
||||||
|
set_is_error/get_is_error
|
||||||
|
|
||||||
|
* dbus/dbus-protocol.h, doc/dbus-specification.sgml:
|
||||||
|
remove the ERROR flag, since there's now an ERROR type
|
||||||
|
|
||||||
2003-08-01 Havoc Pennington <hp@pobox.com>
|
2003-08-01 Havoc Pennington <hp@pobox.com>
|
||||||
|
|
||||||
* dbus/dbus-object-registry.c (_dbus_object_registry_handle_and_unlock):
|
* dbus/dbus-object-registry.c (_dbus_object_registry_handle_and_unlock):
|
||||||
|
|
|
||||||
|
|
@ -1118,8 +1118,6 @@ dbus_message_new_error (DBusMessage *reply_to,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dbus_message_set_is_error (message, TRUE);
|
|
||||||
|
|
||||||
return message;
|
return message;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -3764,15 +3762,18 @@ dbus_message_set_sender (DBusMessage *message,
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets a flag indicating that the message is an error reply
|
* Sets a flag indicating that the message does not want a reply; if
|
||||||
* message, i.e. an "exception" rather than a normal response.
|
* this flag is set, the other end of the connection may (but is not
|
||||||
|
* required to) optimize by not sending method return or error
|
||||||
|
* replies. If this flag is set, there is no way to know whether the
|
||||||
|
* message successfully arrived at the remote end.
|
||||||
*
|
*
|
||||||
* @param message the message
|
* @param message the message
|
||||||
* @param is_error_reply #TRUE if this is an error message.
|
* @param no_reply #TRUE if no reply is desired
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
dbus_message_set_is_error (DBusMessage *message,
|
dbus_message_set_no_reply (DBusMessage *message,
|
||||||
dbus_bool_t is_error_reply)
|
dbus_bool_t no_reply)
|
||||||
{
|
{
|
||||||
char *header;
|
char *header;
|
||||||
|
|
||||||
|
|
@ -3781,21 +3782,21 @@ dbus_message_set_is_error (DBusMessage *message,
|
||||||
|
|
||||||
header = _dbus_string_get_data_len (&message->header, FLAGS_OFFSET, 1);
|
header = _dbus_string_get_data_len (&message->header, FLAGS_OFFSET, 1);
|
||||||
|
|
||||||
if (is_error_reply)
|
if (no_reply)
|
||||||
*header |= DBUS_HEADER_FLAG_ERROR;
|
*header |= DBUS_HEADER_FLAG_NO_REPLY_EXPECTED;
|
||||||
else
|
else
|
||||||
*header &= ~DBUS_HEADER_FLAG_ERROR;
|
*header &= ~DBUS_HEADER_FLAG_NO_REPLY_EXPECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns #TRUE if the message is an error
|
* Returns #TRUE if the message does not expect
|
||||||
* reply to some previous message we sent.
|
* a reply.
|
||||||
*
|
*
|
||||||
* @param message the message
|
* @param message the message
|
||||||
* @returns #TRUE if the message is an error
|
* @returns #TRUE if the message sender isn't waiting for a reply
|
||||||
*/
|
*/
|
||||||
dbus_bool_t
|
dbus_bool_t
|
||||||
dbus_message_get_is_error (DBusMessage *message)
|
dbus_message_get_no_reply (DBusMessage *message)
|
||||||
{
|
{
|
||||||
const char *header;
|
const char *header;
|
||||||
|
|
||||||
|
|
@ -3803,7 +3804,7 @@ dbus_message_get_is_error (DBusMessage *message)
|
||||||
|
|
||||||
header = _dbus_string_get_const_data_len (&message->header, FLAGS_OFFSET, 1);
|
header = _dbus_string_get_const_data_len (&message->header, FLAGS_OFFSET, 1);
|
||||||
|
|
||||||
return (*header & DBUS_HEADER_FLAG_ERROR) != 0;
|
return (*header & DBUS_HEADER_FLAG_NO_REPLY_EXPECTED) != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -3908,7 +3909,7 @@ dbus_message_has_sender (DBusMessage *message,
|
||||||
/**
|
/**
|
||||||
* Sets a #DBusError based on the contents of the given
|
* Sets a #DBusError based on the contents of the given
|
||||||
* message. The error is only set if the message
|
* message. The error is only set if the message
|
||||||
* is an error message, as in dbus_message_get_is_error().
|
* is an error message, as in DBUS_MESSAGE_TYPE_ERROR.
|
||||||
* The name of the error is set to the name of the message,
|
* The name of the error is set to the name of the message,
|
||||||
* and the error message is set to the first argument
|
* and the error message is set to the first argument
|
||||||
* if the argument exists and is a string.
|
* if the argument exists and is a string.
|
||||||
|
|
@ -3931,7 +3932,7 @@ dbus_set_error_from_message (DBusError *error,
|
||||||
_dbus_return_val_if_fail (message != NULL, FALSE);
|
_dbus_return_val_if_fail (message != NULL, FALSE);
|
||||||
_dbus_return_val_if_error_is_set (error, FALSE);
|
_dbus_return_val_if_error_is_set (error, FALSE);
|
||||||
|
|
||||||
if (!dbus_message_get_is_error (message))
|
if (dbus_message_get_type (message) != DBUS_MESSAGE_TYPE_ERROR)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
str = NULL;
|
str = NULL;
|
||||||
|
|
@ -5921,11 +5922,11 @@ _dbus_message_test (const char *test_data_dir)
|
||||||
_dbus_assert (dbus_message_get_serial (message) == 1234);
|
_dbus_assert (dbus_message_get_serial (message) == 1234);
|
||||||
_dbus_assert (dbus_message_has_destination (message, "org.freedesktop.DBus.Test"));
|
_dbus_assert (dbus_message_has_destination (message, "org.freedesktop.DBus.Test"));
|
||||||
|
|
||||||
_dbus_assert (dbus_message_get_is_error (message) == FALSE);
|
_dbus_assert (dbus_message_get_no_reply (message) == FALSE);
|
||||||
dbus_message_set_is_error (message, TRUE);
|
dbus_message_set_no_reply (message, TRUE);
|
||||||
_dbus_assert (dbus_message_get_is_error (message) == TRUE);
|
_dbus_assert (dbus_message_get_no_reply (message) == TRUE);
|
||||||
dbus_message_set_is_error (message, FALSE);
|
dbus_message_set_no_reply (message, FALSE);
|
||||||
_dbus_assert (dbus_message_get_is_error (message) == FALSE);
|
_dbus_assert (dbus_message_get_no_reply (message) == FALSE);
|
||||||
|
|
||||||
dbus_message_unref (message);
|
dbus_message_unref (message);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -75,9 +75,9 @@ const char* dbus_message_get_destination (DBusMessage *message);
|
||||||
dbus_bool_t dbus_message_set_sender (DBusMessage *message,
|
dbus_bool_t dbus_message_set_sender (DBusMessage *message,
|
||||||
const char *sender);
|
const char *sender);
|
||||||
const char* dbus_message_get_sender (DBusMessage *message);
|
const char* dbus_message_get_sender (DBusMessage *message);
|
||||||
void dbus_message_set_is_error (DBusMessage *message,
|
void dbus_message_set_no_reply (DBusMessage *message,
|
||||||
dbus_bool_t is_error_reply);
|
dbus_bool_t no_reply);
|
||||||
dbus_bool_t dbus_message_get_is_error (DBusMessage *message);
|
dbus_bool_t dbus_message_get_no_reply (DBusMessage *message);
|
||||||
dbus_bool_t dbus_message_has_name (DBusMessage *message,
|
dbus_bool_t dbus_message_has_name (DBusMessage *message,
|
||||||
const char *name);
|
const char *name);
|
||||||
dbus_bool_t dbus_message_has_destination (DBusMessage *message,
|
dbus_bool_t dbus_message_has_destination (DBusMessage *message,
|
||||||
|
|
|
||||||
|
|
@ -68,8 +68,7 @@ extern "C" {
|
||||||
#define DBUS_MESSAGE_TYPE_SIGNAL 4
|
#define DBUS_MESSAGE_TYPE_SIGNAL 4
|
||||||
|
|
||||||
/* Header flags */
|
/* Header flags */
|
||||||
#define DBUS_HEADER_FLAG_ERROR 0x1
|
#define DBUS_HEADER_FLAG_NO_REPLY_EXPECTED 0x1
|
||||||
#define DBUS_HEADER_FLAG_NO_REPLY_EXPECTED 0x2
|
|
||||||
|
|
||||||
/* Header fields */
|
/* Header fields */
|
||||||
#define DBUS_HEADER_FIELD_NAME "name"
|
#define DBUS_HEADER_FIELD_NAME "name"
|
||||||
|
|
|
||||||
|
|
@ -208,7 +208,8 @@
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>3</entry>
|
<entry>3</entry>
|
||||||
<entry>Error.</entry>
|
<entry>Error reply. If the first argument exists and is a
|
||||||
|
string, it is an error message.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>4</entry>
|
<entry>4</entry>
|
||||||
|
|
@ -231,10 +232,6 @@
|
||||||
<tbody>
|
<tbody>
|
||||||
<row>
|
<row>
|
||||||
<entry>0x1</entry>
|
<entry>0x1</entry>
|
||||||
<entry>This message is an error reply. If the first argument exists and is a string, it is an error message.</entry>
|
|
||||||
</row>
|
|
||||||
<row>
|
|
||||||
<entry>0x2</entry>
|
|
||||||
<entry>This message does not expect method return replies or
|
<entry>This message does not expect method return replies or
|
||||||
error replies; the reply can be omitted as an
|
error replies; the reply can be omitted as an
|
||||||
optimization. However, it is compliant with this specification
|
optimization. However, it is compliant with this specification
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue