mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2026-02-05 14:40:28 +01:00
2003-09-21 Mark McLoughlin <mark@skynet.ie>
* doc/dbus-specification.sgml: Change the header field name
to be an enum and update the rest of the spec to reference
the fields using the conventinal name.
* dbus/dbus-protocol.h: update to reflect the spec.
* doc/TODO: add item to remove the 4 byte alignment requirement.
* dbus/dbus-message.c: Remove the code to generalise the
header/body length and serial number header fields as named
header fields so we can reference field names using the
protocol values.
(append_int_field), (append_uint_field), (append_string_field):
Append the field name as a byte rather than four chars.
(delete_int_or_uint_field), (delete_string_field): reflect the
fact that the field name and typecode now occupy 4 bytes instead
of 8.
(decode_string_field), (decode_header_data): update to reflect
protocol changes and move the field specific encoding from
decode_string_field() back into decode_header_data().
* dbus/dbus-internals.[ch]: (_dbus_header_field_to_string):
Add utility to aid debugging.
* dbus/dbus-message-builder.c:
(append_string_field), (_dbus_message_data_load): Update to
reflect protocol changes; Change the FIELD_NAME directive
to HEADER_FIELD and allow it to take the field's conventional
name rather than the actual value.
* test/data/*/*.message: Update to use HEADER_FIELD instead
of FIELD_NAME; Always align the header on an 8 byte boundary
*before* updating the header length.
This commit is contained in:
parent
fafc38bb45
commit
daf8d6579e
35 changed files with 460 additions and 417 deletions
36
ChangeLog
36
ChangeLog
|
|
@ -1,3 +1,39 @@
|
|||
2003-09-21 Mark McLoughlin <mark@skynet.ie>
|
||||
|
||||
* doc/dbus-specification.sgml: Change the header field name
|
||||
to be an enum and update the rest of the spec to reference
|
||||
the fields using the conventinal name.
|
||||
|
||||
* dbus/dbus-protocol.h: update to reflect the spec.
|
||||
|
||||
* doc/TODO: add item to remove the 4 byte alignment requirement.
|
||||
|
||||
* dbus/dbus-message.c: Remove the code to generalise the
|
||||
header/body length and serial number header fields as named
|
||||
header fields so we can reference field names using the
|
||||
protocol values.
|
||||
(append_int_field), (append_uint_field), (append_string_field):
|
||||
Append the field name as a byte rather than four chars.
|
||||
(delete_int_or_uint_field), (delete_string_field): reflect the
|
||||
fact that the field name and typecode now occupy 4 bytes instead
|
||||
of 8.
|
||||
(decode_string_field), (decode_header_data): update to reflect
|
||||
protocol changes and move the field specific encoding from
|
||||
decode_string_field() back into decode_header_data().
|
||||
|
||||
* dbus/dbus-internals.[ch]: (_dbus_header_field_to_string):
|
||||
Add utility to aid debugging.
|
||||
|
||||
* dbus/dbus-message-builder.c:
|
||||
(append_string_field), (_dbus_message_data_load): Update to
|
||||
reflect protocol changes; Change the FIELD_NAME directive
|
||||
to HEADER_FIELD and allow it to take the field's conventional
|
||||
name rather than the actual value.
|
||||
|
||||
* test/data/*/*.message: Update to use HEADER_FIELD instead
|
||||
of FIELD_NAME; Always align the header on an 8 byte boundary
|
||||
*before* updating the header length.
|
||||
|
||||
2003-09-15 Havoc Pennington <hp@pobox.com>
|
||||
|
||||
* dbus/dbus-pending-call.c: add the get/set object data
|
||||
|
|
|
|||
|
|
@ -389,6 +389,38 @@ _dbus_type_to_string (int type)
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string describing the given name.
|
||||
*
|
||||
* @param header_field the field to describe
|
||||
* @returns a constant string describing the field
|
||||
*/
|
||||
const char *
|
||||
_dbus_header_field_to_string (int header_field)
|
||||
{
|
||||
switch (header_field)
|
||||
{
|
||||
case DBUS_HEADER_FIELD_INVALID:
|
||||
return "invalid";
|
||||
case DBUS_HEADER_FIELD_PATH:
|
||||
return "path";
|
||||
case DBUS_HEADER_FIELD_INTERFACE:
|
||||
return "interface";
|
||||
case DBUS_HEADER_FIELD_MEMBER:
|
||||
return "member";
|
||||
case DBUS_HEADER_FIELD_ERROR_NAME:
|
||||
return "error-name";
|
||||
case DBUS_HEADER_FIELD_REPLY_SERIAL:
|
||||
return "reply-serial";
|
||||
case DBUS_HEADER_FIELD_SERVICE:
|
||||
return "service";
|
||||
case DBUS_HEADER_FIELD_SENDER_SERVICE:
|
||||
return "sender-service";
|
||||
default:
|
||||
return "unknown";
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef DBUS_DISABLE_CHECKS
|
||||
/** String used in _dbus_return_if_fail macro */
|
||||
const char _dbus_return_if_fail_warning_format[] =
|
||||
|
|
|
|||
|
|
@ -184,7 +184,8 @@ void _dbus_verbose_bytes_of_string (const DBusString *str,
|
|||
int len);
|
||||
|
||||
|
||||
const char* _dbus_type_to_string (int type);
|
||||
const char* _dbus_type_to_string (int type);
|
||||
const char* _dbus_header_field_to_string (int header_field);
|
||||
|
||||
extern const char _dbus_no_memory_message[];
|
||||
#define _DBUS_SET_OOM(error) dbus_set_error ((error), DBUS_ERROR_NO_MEMORY, _dbus_no_memory_message)
|
||||
|
|
|
|||
|
|
@ -294,7 +294,7 @@ message_type_from_string (const DBusString *str,
|
|||
static dbus_bool_t
|
||||
append_string_field (DBusString *dest,
|
||||
int endian,
|
||||
const char *field_name,
|
||||
int field,
|
||||
int type,
|
||||
const char *value)
|
||||
{
|
||||
|
|
@ -306,9 +306,9 @@ append_string_field (DBusString *dest,
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
if (!_dbus_string_append (dest, field_name))
|
||||
if (!_dbus_string_append_byte (dest, field))
|
||||
{
|
||||
_dbus_warn ("couldn't append field name\n");
|
||||
_dbus_warn ("couldn't append field name byte\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
|
@ -363,7 +363,7 @@ append_string_field (DBusString *dest,
|
|||
* (or if no START_LENGTH, absolute length)
|
||||
* LENGTH <name> inserts the saved length of the same name
|
||||
* CHOP <N> chops last N bytes off the data
|
||||
* FIELD_NAME <abcd> inserts 4-byte field name
|
||||
* HEADER_FIELD <fieldname> inserts a header field name byte
|
||||
* TYPE <typename> inserts a typecode byte
|
||||
* @endcode
|
||||
*
|
||||
|
|
@ -679,14 +679,34 @@ _dbus_message_data_load (DBusString *dest,
|
|||
PERFORM_UNALIGN (dest);
|
||||
}
|
||||
else if (_dbus_string_starts_with_c_str (&line,
|
||||
"FIELD_NAME"))
|
||||
"HEADER_FIELD"))
|
||||
{
|
||||
int field;
|
||||
|
||||
_dbus_string_delete_first_word (&line);
|
||||
|
||||
if (_dbus_string_get_length (&line) != 4)
|
||||
if (_dbus_string_starts_with_c_str (&line, "INVALID"))
|
||||
field = DBUS_HEADER_FIELD_INVALID;
|
||||
else if (_dbus_string_starts_with_c_str (&line, "PATH"))
|
||||
field = DBUS_HEADER_FIELD_PATH;
|
||||
else if (_dbus_string_starts_with_c_str (&line, "INTERFACE"))
|
||||
field = DBUS_HEADER_FIELD_INTERFACE;
|
||||
else if (_dbus_string_starts_with_c_str (&line, "MEMBER"))
|
||||
field = DBUS_HEADER_FIELD_MEMBER;
|
||||
else if (_dbus_string_starts_with_c_str (&line, "ERROR_NAME"))
|
||||
field = DBUS_HEADER_FIELD_ERROR_NAME;
|
||||
else if (_dbus_string_starts_with_c_str (&line, "REPLY_SERIAL"))
|
||||
field = DBUS_HEADER_FIELD_REPLY_SERIAL;
|
||||
else if (_dbus_string_starts_with_c_str (&line, "SERVICE"))
|
||||
field = DBUS_HEADER_FIELD_SERVICE;
|
||||
else if (_dbus_string_starts_with_c_str (&line, "SENDER_SERVICE"))
|
||||
field = DBUS_HEADER_FIELD_SENDER_SERVICE;
|
||||
else if (_dbus_string_starts_with_c_str (&line, "UNKNOWN"))
|
||||
field = 22; /* random unknown header field */
|
||||
else
|
||||
{
|
||||
_dbus_warn ("Field name must be four characters not \"%s\"\n",
|
||||
_dbus_string_get_const_data (&line));
|
||||
_dbus_warn ("%s is not a valid header field name\n",
|
||||
_dbus_string_get_const_data (&line));
|
||||
goto parse_failed;
|
||||
}
|
||||
|
||||
|
|
@ -694,10 +714,12 @@ _dbus_message_data_load (DBusString *dest,
|
|||
unalign = FALSE;
|
||||
else
|
||||
_dbus_string_align_length (dest, 4);
|
||||
|
||||
if (!_dbus_string_copy (&line, 0, dest,
|
||||
_dbus_string_get_length (dest)))
|
||||
goto parse_failed;
|
||||
|
||||
if (!_dbus_string_append_byte (dest, field))
|
||||
{
|
||||
_dbus_warn ("could not append header field name byte\n");
|
||||
goto parse_failed;
|
||||
}
|
||||
}
|
||||
else if (_dbus_string_starts_with_c_str (&line,
|
||||
"TYPE"))
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -71,14 +71,17 @@ extern "C" {
|
|||
#define DBUS_HEADER_FLAG_NO_REPLY_EXPECTED 0x1
|
||||
|
||||
/* Header fields */
|
||||
#define DBUS_HEADER_FIELD_PATH "path"
|
||||
#define DBUS_HEADER_FIELD_INTERFACE "ifce"
|
||||
#define DBUS_HEADER_FIELD_MEMBER "mebr"
|
||||
#define DBUS_HEADER_FIELD_ERROR_NAME "ernm"
|
||||
#define DBUS_HEADER_FIELD_SERVICE "srvc"
|
||||
#define DBUS_HEADER_FIELD_REPLY "rply"
|
||||
#define DBUS_HEADER_FIELD_SENDER_SERVICE "sdrs"
|
||||
#define DBUS_HEADER_FIELD_INVALID 0
|
||||
#define DBUS_HEADER_FIELD_PATH 1
|
||||
#define DBUS_HEADER_FIELD_INTERFACE 2
|
||||
#define DBUS_HEADER_FIELD_MEMBER 3
|
||||
#define DBUS_HEADER_FIELD_ERROR_NAME 4
|
||||
#define DBUS_HEADER_FIELD_REPLY_SERIAL 5
|
||||
#define DBUS_HEADER_FIELD_SERVICE 6
|
||||
#define DBUS_HEADER_FIELD_SENDER_SERVICE 7
|
||||
|
||||
#define DBUS_HEADER_FIELD_LAST DBUS_HEADER_FIELD_SENDER_SERVICE
|
||||
|
||||
/* Services */
|
||||
#define DBUS_SERVICE_ORG_FREEDESKTOP_DBUS "org.freedesktop.DBus"
|
||||
#define DBUS_SERVICE_ORG_FREEDESKTOP_BROADCAST "org.freedesktop.Broadcast"
|
||||
|
|
|
|||
3
doc/TODO
3
doc/TODO
|
|
@ -86,3 +86,6 @@
|
|||
- I don't want to introduce DBusObject, but refcounting and object
|
||||
data could still be factored out into an internal "base class"
|
||||
perhaps.
|
||||
|
||||
- Header fields names are required to be aligned on a 4 byte boundary
|
||||
at the moment. No alignment should be neccessary.
|
||||
|
|
|
|||
|
|
@ -257,22 +257,22 @@
|
|||
In addition to the required header information mentioned
|
||||
in <xref linkend="message-protocol-header-encoding">,
|
||||
the header may contain zero or more named
|
||||
header fields. These fields are named to allow
|
||||
future versions of this protocol specification to
|
||||
add new fields; implementations must ignore fields
|
||||
they do not understand. Implementations must not
|
||||
invent their own header fields; only changes to
|
||||
header fields. Future versions of this protocol
|
||||
specification may add new fields. Implementations must
|
||||
ignore fields they do not understand. Implementations
|
||||
must not invent their own header fields; only changes to
|
||||
this specification may introduce new header fields.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Header field names MUST consist of 4 non-nul bytes. The field name is
|
||||
NOT nul terminated; it occupies exactly 4 bytes. Following the name, the
|
||||
field MUST have a type code represented as a single unsigned byte, and
|
||||
then a properly-aligned value of that type. See <xref
|
||||
linkend="message-protocol-arguments"> for a description of how each type
|
||||
is encoded. If an implementation sees a header field name that it does
|
||||
not understand, it MUST ignore that field.
|
||||
Header fields MUST be aligned to a 4-byte boundary. Header field
|
||||
names MUST consist of a single byte, possible values of which are
|
||||
defined below. Following the name, the field MUST have a type code
|
||||
represented as a single unsigned byte, and then a properly-aligned
|
||||
value of that type. See <xref
|
||||
linkend="message-protocol-arguments"> for a description of how each
|
||||
type is encoded. If an implementation sees a header field name that
|
||||
it does not understand, it MUST ignore that field.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
|
@ -281,51 +281,65 @@
|
|||
<tgroup cols=3>
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Name</entry>
|
||||
<entry>Conventional Name</entry>
|
||||
<entry>Decimal Value</entry>
|
||||
<entry>Type</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>path</entry>
|
||||
<entry>INVALID</entry>
|
||||
<entry>0</entry>
|
||||
<entry>INVALID</entry>
|
||||
<entry>Not a valid field name (error if it appears in a message)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>PATH</entry>
|
||||
<entry>1</entry>
|
||||
<entry>STRING</entry>
|
||||
<entry>The object to send the message to; objects are identified by
|
||||
a path, "/foo/bar"</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>ifce</entry>
|
||||
<entry>INTERFACE</entry>
|
||||
<entry>2</entry>
|
||||
<entry>STRING</entry>
|
||||
<entry>The interface to invoke a method call on, or
|
||||
that a signal is emitted from. e.g. "org.freedesktop.Introspectable"</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>mebr</entry>
|
||||
<entry>MEMBER</entry>
|
||||
<entry>3</entry>
|
||||
<entry>STRING</entry>
|
||||
<entry>The member, either the method name or signal name.
|
||||
e.g. "Frobate"</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>ernm</entry>
|
||||
<entry>ERROR_NAME</entry>
|
||||
<entry>4</entry>
|
||||
<entry>STRING</entry>
|
||||
<entry>The name of the error that occurred, for errors</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>rply</entry>
|
||||
<entry>REPLY_SERIAL</entry>
|
||||
<entry>5</entry>
|
||||
<entry>UINT32</entry>
|
||||
<entry>The serial number of the message this message is a reply
|
||||
to. (The serial number is one of the mandatory header fields,
|
||||
see <xref linkend="message-protocol-header-encoding">.)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>srvc</entry>
|
||||
<entry>SERVICE</entry>
|
||||
<entry>6</entry>
|
||||
<entry>STRING</entry>
|
||||
<entry>The name of the service this message should be routed to.
|
||||
Only used in combination with the message bus, see
|
||||
<xref linkend="message-bus">.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>sdrs</entry>
|
||||
<entry>SENDER_SERVICE</entry>
|
||||
<entry>7</entry>
|
||||
<entry>STRING</entry>
|
||||
<entry>Sender service. The name of the base service that sent
|
||||
this message. The message bus fills in this field; the field is
|
||||
|
|
@ -595,24 +609,24 @@
|
|||
messages map naturally to methods on objects in a typical program.
|
||||
</para>
|
||||
<para>
|
||||
A method call message is expected to have a 'mebr' header field
|
||||
A method call message is expected to have a MEMBER header field
|
||||
indicating the name of the method. Optionally, the message has an
|
||||
'ifce' field giving the interface the method is a part of. In the
|
||||
absence of an 'ifce' field, if two interfaces on the same object have
|
||||
INTERFACE field giving the interface the method is a part of. In the
|
||||
absence of an INTERFACE field, if two interfaces on the same object have
|
||||
a method with the same name, it is undefined which of the two methods
|
||||
will be invoked. Implementations may also choose to return an error in
|
||||
this ambiguous case. However, if a method name is unique
|
||||
implementations should not require an interface field.
|
||||
</para>
|
||||
<para>
|
||||
Method call messages also include a 'path' field indicating the
|
||||
Method call messages also include a PATH field indicating the
|
||||
object to invoke the method on. If the call is passing through
|
||||
a message bus, the message will also have a 'srvc' field giving
|
||||
a message bus, the message will also have a SERVICE field giving
|
||||
the service to receive the message.
|
||||
</para>
|
||||
<para>
|
||||
When an application handles a method call message, it is expected to
|
||||
return a reply. The reply is identified by a 'rply' header field
|
||||
return a reply. The reply is identified by a REPLY_SERIAL header field
|
||||
indicating the serial number of the METHOD_CALL being replied to. The
|
||||
reply can have one of two types; either METHOD_RETURN or ERROR.
|
||||
</para>
|
||||
|
|
@ -673,9 +687,9 @@
|
|||
<para>
|
||||
Unlike method calls, signal emissions have no replies.
|
||||
A signal emission is simply a single message of type SIGNAL.
|
||||
It must have three header fields: 'path' giving the object
|
||||
the signal was emitted from, plus 'ifce' and 'mebr' giving the
|
||||
fully-qualified name of the signal.
|
||||
It must have three header fields: PATH giving the object
|
||||
the signal was emitted from, plus INTERFACE and MEMBER giving
|
||||
the fully-qualified name of the signal.
|
||||
</para>
|
||||
</sect3>
|
||||
|
||||
|
|
@ -688,9 +702,9 @@
|
|||
org.freedesktop.DBus.ActivateService (in STRING service_name, in UINT32 flags,
|
||||
out UINT32 resultcode)
|
||||
</programlisting>
|
||||
This means ifce = org.freedesktop.DBus, mebr = ActivateService,
|
||||
This means INTERFACE = org.freedesktop.DBus, MEMBER = ActivateService,
|
||||
METHOD_CALL arguments are STRING and UINT32, METHOD_RETURN argument
|
||||
is UINT32. Remember that the 'mebr' field can't contain any '.' (period)
|
||||
is UINT32. Remember that the MEMBER field can't contain any '.' (period)
|
||||
characters so it's known that the last part of the name in
|
||||
the "IDL" is the member name.
|
||||
</para>
|
||||
|
|
@ -1270,18 +1284,18 @@
|
|||
the new owner of the service.
|
||||
</para>
|
||||
<para>
|
||||
Messages may have a <literal>srvc</literal> field (see <xref
|
||||
Messages may have a <literal>SERVICE</literal> field (see <xref
|
||||
linkend="message-protocol-header-fields">). When the message bus
|
||||
receives a message, if the <literal>srvc</literal> field is absent, the
|
||||
receives a message, if the <literal>SERVICE</literal> field is absent, the
|
||||
message is taken to be a standard peer-to-peer message and interpreted
|
||||
by the message bus itself. For example, sending
|
||||
an <literal>org.freedesktop.Peer.Ping</literal> message with no
|
||||
<literal>srvc</literal> will cause the message bus itself to reply
|
||||
<literal>SERVICE</literal> will cause the message bus itself to reply
|
||||
to the ping immediately; the message bus would never make
|
||||
this message visible to other applications.
|
||||
</para>
|
||||
<para>
|
||||
If the <literal>srvc</literal> field is present, then it indicates a
|
||||
If the <literal>SERVICE</literal> field is present, then it indicates a
|
||||
request for the message bus to route the message. In the usual case,
|
||||
messages are routed to the owner of the named service.
|
||||
Messages may also be <firstterm>broadcast</firstterm>
|
||||
|
|
@ -1292,7 +1306,7 @@
|
|||
</para>
|
||||
<para>
|
||||
Continuing the <literal>org.freedesktop.Peer.Ping</literal> example, if
|
||||
the ping message were sent with a <literal>srvc</literal> name of
|
||||
the ping message were sent with a <literal>SERVICE</literal> name of
|
||||
<literal>com.yoyodyne.Screensaver</literal>, then the ping would be
|
||||
forwarded, and the Yoyodyne Corporation screensaver application would be
|
||||
expected to reply to the ping. If
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
## message that's missing an expected body
|
||||
|
||||
VALID_HEADER method_call
|
||||
FIELD_NAME ifce
|
||||
HEADER_FIELD INTERFACE
|
||||
TYPE STRING
|
||||
STRING 'org.freedesktop.Foo'
|
||||
FIELD_NAME mebr
|
||||
HEADER_FIELD MEMBER
|
||||
TYPE STRING
|
||||
STRING 'Bar'
|
||||
END_LENGTH Header
|
||||
ALIGN 8
|
||||
END_LENGTH Header
|
||||
|
||||
## create the body, then chop it off
|
||||
START_LENGTH Body
|
||||
|
|
|
|||
|
|
@ -2,15 +2,16 @@
|
|||
|
||||
VALID_HEADER method_call
|
||||
|
||||
FIELD_NAME ifce
|
||||
HEADER_FIELD INTERFACE
|
||||
TYPE STRING
|
||||
STRING 'org.freedesktop.Foo'
|
||||
FIELD_NAME mebr
|
||||
HEADER_FIELD MEMBER
|
||||
TYPE STRING
|
||||
STRING 'Bar'
|
||||
|
||||
END_LENGTH Header
|
||||
ALIGN 8
|
||||
END_LENGTH Header
|
||||
|
||||
START_LENGTH Body
|
||||
TYPE ARRAY
|
||||
TYPE NIL
|
||||
|
|
|
|||
|
|
@ -3,15 +3,16 @@
|
|||
|
||||
VALID_HEADER method_call
|
||||
|
||||
FIELD_NAME ifce
|
||||
HEADER_FIELD INTERFACE
|
||||
TYPE STRING
|
||||
STRING 'org.freedesktop.Foo'
|
||||
FIELD_NAME mebr
|
||||
HEADER_FIELD MEMBER
|
||||
TYPE STRING
|
||||
STRING 'Bar'
|
||||
|
||||
END_LENGTH Header
|
||||
ALIGN 8
|
||||
END_LENGTH Header
|
||||
|
||||
START_LENGTH Body
|
||||
|
||||
TYPE ARRAY
|
||||
|
|
|
|||
|
|
@ -3,15 +3,16 @@
|
|||
## VALID_HEADER includes a LENGTH Header and LENGTH Body
|
||||
VALID_HEADER method_call
|
||||
|
||||
FIELD_NAME ifce
|
||||
HEADER_FIELD INTERFACE
|
||||
TYPE STRING
|
||||
STRING 'org.freedesktop.Foo'
|
||||
FIELD_NAME mebr
|
||||
HEADER_FIELD MEMBER
|
||||
TYPE STRING
|
||||
STRING 'Bar'
|
||||
|
||||
ALIGN 8
|
||||
END_LENGTH Header
|
||||
|
||||
START_LENGTH Body
|
||||
TYPE ARRAY
|
||||
TYPE BOOLEAN
|
||||
|
|
|
|||
|
|
@ -3,15 +3,16 @@
|
|||
## VALID_HEADER includes a LENGTH Header and LENGTH Body
|
||||
VALID_HEADER method_call
|
||||
|
||||
FIELD_NAME ifce
|
||||
HEADER_FIELD INTERFACE
|
||||
TYPE STRING
|
||||
STRING 'org.freedesktop.Foo'
|
||||
FIELD_NAME mebr
|
||||
HEADER_FIELD MEMBER
|
||||
TYPE STRING
|
||||
STRING 'Bar'
|
||||
|
||||
ALIGN 8
|
||||
END_LENGTH Header
|
||||
|
||||
START_LENGTH Body
|
||||
TYPE BOOLEAN
|
||||
BYTE 3
|
||||
|
|
|
|||
|
|
@ -8,15 +8,14 @@ BYTE 0
|
|||
LENGTH Header
|
||||
LENGTH Body
|
||||
|
||||
FIELD_NAME ifce
|
||||
HEADER_FIELD INTERFACE
|
||||
TYPE STRING
|
||||
STRING 'org.freedesktop.Foo'
|
||||
FIELD_NAME mebr
|
||||
HEADER_FIELD MEMBER
|
||||
TYPE STRING
|
||||
STRING 'Bar'
|
||||
|
||||
ALIGN 8
|
||||
|
||||
END_LENGTH Header
|
||||
|
||||
START_LENGTH Body
|
||||
|
|
|
|||
|
|
@ -4,14 +4,15 @@
|
|||
## VALID_HEADER includes a LENGTH Header and LENGTH Body
|
||||
VALID_HEADER method_call
|
||||
|
||||
FIELD_NAME ifce
|
||||
HEADER_FIELD INTERFACE
|
||||
TYPE STRING
|
||||
STRING 'org.freedesktop.Local'
|
||||
FIELD_NAME mebr
|
||||
HEADER_FIELD MEMBER
|
||||
TYPE STRING
|
||||
STRING 'Disconnected'
|
||||
|
||||
ALIGN 8
|
||||
END_LENGTH Header
|
||||
|
||||
START_LENGTH Body
|
||||
END_LENGTH Body
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@
|
|||
## VALID_HEADER includes a LENGTH Header and LENGTH Body
|
||||
VALID_HEADER method_call
|
||||
|
||||
FIELD_NAME ifce
|
||||
HEADER_FIELD INTERFACE
|
||||
TYPE STRING
|
||||
STRING 'NoDotInHere'
|
||||
FIELD_NAME mebr
|
||||
HEADER_FIELD MEMBER
|
||||
TYPE STRING
|
||||
STRING 'Bar'
|
||||
|
||||
|
|
|
|||
|
|
@ -3,14 +3,14 @@
|
|||
## VALID_HEADER includes a LENGTH Header and LENGTH Body
|
||||
VALID_HEADER method_call
|
||||
|
||||
FIELD_NAME ifce
|
||||
HEADER_FIELD INTERFACE
|
||||
TYPE STRING
|
||||
STRING 'org.freedesktop.Foo'
|
||||
FIELD_NAME mebr
|
||||
HEADER_FIELD MEMBER
|
||||
TYPE STRING
|
||||
STRING 'Bar'
|
||||
|
||||
FIELD_NAME unkn
|
||||
HEADER_FIELD UNKNOWN
|
||||
TYPE STRING
|
||||
STRING 'a'
|
||||
ALIGN 8
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
## VALID_HEADER includes a LENGTH Header and LENGTH Body
|
||||
VALID_HEADER method_call
|
||||
FIELD_NAME ifce
|
||||
HEADER_FIELD INTERFACE
|
||||
TYPE STRING
|
||||
STRING 'org.foo.bar.this.is.really.long 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200'
|
||||
|
||||
FIELD_NAME mebr
|
||||
HEADER_FIELD MEMBER
|
||||
TYPE STRING
|
||||
STRING 'Bar'
|
||||
|
||||
|
|
|
|||
|
|
@ -3,14 +3,14 @@
|
|||
## VALID_HEADER includes a LENGTH Header and LENGTH Body
|
||||
VALID_HEADER method_call
|
||||
|
||||
FIELD_NAME ifce
|
||||
HEADER_FIELD INTERFACE
|
||||
TYPE STRING
|
||||
STRING 'org.freedesktop.Foo'
|
||||
FIELD_NAME mebr
|
||||
HEADER_FIELD MEMBER
|
||||
TYPE STRING
|
||||
STRING 'Bar'
|
||||
|
||||
FIELD_NAME unkn
|
||||
HEADER_FIELD UNKNOWN
|
||||
TYPE STRING
|
||||
STRING 'a'
|
||||
ALIGN 8
|
||||
|
|
|
|||
|
|
@ -3,14 +3,14 @@
|
|||
## VALID_HEADER includes a LENGTH Header and LENGTH Body
|
||||
VALID_HEADER method_call
|
||||
|
||||
FIELD_NAME ifce
|
||||
HEADER_FIELD INTERFACE
|
||||
TYPE STRING
|
||||
STRING 'org.freedesktop.Foo'
|
||||
FIELD_NAME mebr
|
||||
HEADER_FIELD MEMBER
|
||||
TYPE STRING
|
||||
STRING 'Bar'
|
||||
|
||||
FIELD_NAME unkn
|
||||
HEADER_FIELD UNKNOWN
|
||||
TYPE STRING
|
||||
STRING 'a'
|
||||
ALIGN 8
|
||||
|
|
|
|||
|
|
@ -3,14 +3,14 @@
|
|||
## VALID_HEADER includes a LENGTH Header and LENGTH Body
|
||||
VALID_HEADER method_call
|
||||
|
||||
FIELD_NAME ifce
|
||||
HEADER_FIELD INTERFACE
|
||||
TYPE STRING
|
||||
STRING 'org.freedesktop.Foo'
|
||||
FIELD_NAME mebr
|
||||
HEADER_FIELD MEMBER
|
||||
TYPE STRING
|
||||
STRING 'Bar'
|
||||
|
||||
FIELD_NAME unkn
|
||||
HEADER_FIELD UNKNOWN
|
||||
TYPE STRING
|
||||
STRING 'a'
|
||||
ALIGN 8
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
VALID_HEADER method_call
|
||||
|
||||
FIELD_NAME ifce
|
||||
HEADER_FIELD INTERFACE
|
||||
TYPE STRING
|
||||
STRING 'org.freedesktop.Foo'
|
||||
FIELD_NAME mebr
|
||||
HEADER_FIELD MEMBER
|
||||
TYPE STRING
|
||||
STRING 'Bar'
|
||||
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
VALID_HEADER method_call
|
||||
REQUIRED_FIELDS
|
||||
END_LENGTH Header
|
||||
ALIGN 8
|
||||
END_LENGTH Header
|
||||
START_LENGTH Body
|
||||
|
||||
TYPE ARRAY
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
VALID_HEADER method_call
|
||||
REQUIRED_FIELDS
|
||||
END_LENGTH Header
|
||||
ALIGN 8
|
||||
END_LENGTH Header
|
||||
START_LENGTH Body
|
||||
TYPE DICT
|
||||
LENGTH Dict
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
VALID_HEADER method_call
|
||||
REQUIRED_FIELDS
|
||||
END_LENGTH Header
|
||||
ALIGN 8
|
||||
END_LENGTH Header
|
||||
START_LENGTH Body
|
||||
TYPE STRING
|
||||
INT32 0
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
VALID_HEADER method_call
|
||||
REQUIRED_FIELDS
|
||||
END_LENGTH Header
|
||||
ALIGN 8
|
||||
END_LENGTH Header
|
||||
START_LENGTH Body
|
||||
TYPE NIL
|
||||
TYPE BYTE
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ REQUIRED_FIELDS
|
|||
|
||||
## this byte array is filled with zeros to the natural length
|
||||
## of the header
|
||||
FIELD_NAME unkn
|
||||
HEADER_FIELD UNKNOWN
|
||||
TYPE ARRAY
|
||||
TYPE BYTE
|
||||
ALIGN 4
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ VALID_HEADER method_call
|
|||
|
||||
REQUIRED_FIELDS
|
||||
|
||||
FIELD_NAME unkn
|
||||
HEADER_FIELD UNKNOWN
|
||||
TYPE INT32
|
||||
INT32 0xfeeb
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ VALID_HEADER method_call
|
|||
|
||||
REQUIRED_FIELDS
|
||||
|
||||
ALIGN 8
|
||||
END_LENGTH Header
|
||||
START_LENGTH Body
|
||||
|
||||
|
|
|
|||
|
|
@ -11,13 +11,13 @@ LENGTH Body
|
|||
## client serial
|
||||
INT32 7
|
||||
|
||||
FIELD_NAME path
|
||||
HEADER_FIELD PATH
|
||||
TYPE OBJECT_PATH
|
||||
OBJECT_PATH '/foo'
|
||||
FIELD_NAME ifce
|
||||
HEADER_FIELD INTERFACE
|
||||
TYPE STRING
|
||||
STRING 'org.freedesktop.Foo'
|
||||
FIELD_NAME mebr
|
||||
HEADER_FIELD MEMBER
|
||||
TYPE STRING
|
||||
STRING 'Bar'
|
||||
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
# Standard org.freedesktop.DBus.AcquireService message
|
||||
|
||||
VALID_HEADER method_call
|
||||
FIELD_NAME path
|
||||
HEADER_FIELD PATH
|
||||
TYPE OBJECT_PATH
|
||||
OBJECT_PATH '/org/freedesktop/DBus'
|
||||
FIELD_NAME ifce
|
||||
HEADER_FIELD INTERFACE
|
||||
TYPE STRING
|
||||
STRING 'org.freedesktop.DBus'
|
||||
FIELD_NAME mebr
|
||||
HEADER_FIELD MEMBER
|
||||
TYPE STRING
|
||||
STRING 'AcquireService'
|
||||
FIELD_NAME srvc
|
||||
HEADER_FIELD SERVICE
|
||||
TYPE STRING
|
||||
STRING 'org.freedesktop.DBus'
|
||||
ALIGN 8
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
# Standard org.freedesktop.DBus.Hello message
|
||||
|
||||
VALID_HEADER method_call
|
||||
FIELD_NAME path
|
||||
HEADER_FIELD PATH
|
||||
TYPE OBJECT_PATH
|
||||
OBJECT_PATH '/org/freedesktop/DBus'
|
||||
FIELD_NAME ifce
|
||||
HEADER_FIELD INTERFACE
|
||||
TYPE STRING
|
||||
STRING 'org.freedesktop.DBus'
|
||||
FIELD_NAME mebr
|
||||
HEADER_FIELD MEMBER
|
||||
TYPE STRING
|
||||
STRING 'Hello'
|
||||
FIELD_NAME srvc
|
||||
HEADER_FIELD SERVICE
|
||||
TYPE STRING
|
||||
STRING 'org.freedesktop.DBus'
|
||||
ALIGN 8
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
# Standard org.freedesktop.DBus.ListServices message
|
||||
|
||||
VALID_HEADER method_call
|
||||
FIELD_NAME path
|
||||
HEADER_FIELD PATH
|
||||
TYPE OBJECT_PATH
|
||||
OBJECT_PATH '/org/freedesktop/DBus'
|
||||
FIELD_NAME ifce
|
||||
HEADER_FIELD INTERFACE
|
||||
TYPE STRING
|
||||
STRING 'org.freedesktop.DBus'
|
||||
FIELD_NAME mebr
|
||||
HEADER_FIELD MEMBER
|
||||
TYPE STRING
|
||||
STRING 'ListServices'
|
||||
FIELD_NAME srvc
|
||||
HEADER_FIELD SERVICES
|
||||
TYPE STRING
|
||||
STRING 'org.freedesktop.DBus'
|
||||
ALIGN 8
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
# Standard org.freedesktop.DBus.ServiceExists message
|
||||
|
||||
VALID_HEADER method_call
|
||||
FIELD_NAME path
|
||||
HEADER_FIELD PATH
|
||||
TYPE OBJECT_PATH
|
||||
OBJECT_PATH '/org/freedesktop/DBus'
|
||||
FIELD_NAME ifce
|
||||
HEADER_FIELD INTERFACE
|
||||
TYPE STRING
|
||||
STRING 'org.freedesktop.DBus'
|
||||
FIELD_NAME mebr
|
||||
HEADER_FIELD MEMBER
|
||||
TYPE STRING
|
||||
STRING 'ServiceExists'
|
||||
FIELD_NAME srvc
|
||||
HEADER_FIELD SERVICE
|
||||
TYPE STRING
|
||||
STRING 'org.freedesktop.DBus'
|
||||
ALIGN 8
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
## VALID_HEADER includes a LENGTH Header and LENGTH Body
|
||||
VALID_HEADER method_call
|
||||
REQUIRED_FIELDS
|
||||
FIELD_NAME unkn
|
||||
HEADER_FIELD UNKNOWN
|
||||
TYPE INT32
|
||||
INT32 0xfeeb
|
||||
ALIGN 8
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue