mirror of
https://github.com/systemd/systemd.git
synced 2025-01-26 14:04:03 +03:00
sd-bus: use terms from the D-Bus Specification a bit more
D-Bus' type hierarchy as described in the spec is: \- basic \- fixed type (u, i, etc.) \- string-like type (s, o, g) \- container Someone seems to have referred to basic types as "simple types" at some point, but that term isn't defined in the D-Bus Specification, and seems redundant. So far I haven't renamed functions that use "trivial" in their names to mean "fixed type", to avoid confusion about whether a struct of constant length, like (iu), is a fixed type. The answer is that it is fixed-length, but is not a "fixed type", so I can see that something like bus_type_is_fixed() might be ambiguous.
This commit is contained in:
parent
e1ffdb90d9
commit
d20a3daaa7
@ -156,11 +156,11 @@ multiple items. Some restrictions apply however:
|
||||
contained in the payload, as well is immediately before framing of a
|
||||
Gvariant, as well after as any padding bytes if there are any. The
|
||||
padding bytes must be wholly contained in the preceding
|
||||
PAYLOAD_VEC/PAYLOAD_MEMFD item. You may not split up simple types
|
||||
nor arrays of trivial types. The latter is necessary to allow APIs
|
||||
to return direct pointers to linear chunks of fixed size trivial
|
||||
arrays. Examples: The simple types "u", "s", "t" have to be in the
|
||||
same payload item. The array of simple types "ay", "ai" have to be
|
||||
PAYLOAD_VEC/PAYLOAD_MEMFD item. You may not split up basic types
|
||||
nor arrays of fixed types. The latter is necessary to allow APIs
|
||||
to return direct pointers to linear arrays of numeric
|
||||
values. Examples: The basic types "u", "s", "t" have to be in the
|
||||
same payload item. The array of fixed types "ay", "ai" have to be
|
||||
fully in contained in the same payload item. For an array "as" or
|
||||
"a(si)" the only restriction however is to keep each string
|
||||
individually in an uninterrupted item, to keep the framing of each
|
||||
|
@ -29,6 +29,8 @@
|
||||
bool bus_type_is_valid(char c) _const_;
|
||||
bool bus_type_is_valid_in_signature(char c) _const_;
|
||||
bool bus_type_is_basic(char c) _const_;
|
||||
/* "trivial" is systemd's term for what the D-Bus Specification calls
|
||||
* a "fixed type": that is, a basic type of fixed length */
|
||||
bool bus_type_is_trivial(char c) _const_;
|
||||
bool bus_type_is_container(char c) _const_;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user