index.html
Main Page
|
modules.html
Modules
|
namespaces.html
Namespace List
|
hierarchy.html
Class Hierarchy
|
annotated.html
Data Structures
|
dirs.html
Directories
|
files.html
File List
|
namespacemembers.html
Namespace Members
|
functions.html
Data Fields
|
pages.html
Related Pages
DBusSignature
Defines
#define
group__DBusSignature.html#ga11
TYPE_IS_CONTAINER
(typecode)
macro that checks whether a typecode is a container type
#ga11
Functions
void
group__DBusSignature.html#ga0
dbus_signature_iter_init
(
structDBusSignatureIter.html
DBusSignatureIter
*iter, const char *signature)
Initializes a
structDBusSignatureIter.html
DBusSignatureIter
for reading a type signature.
#ga0
int
group__DBusSignature.html#ga1
dbus_signature_iter_get_current_type
(const
structDBusSignatureIter.html
DBusSignatureIter
*iter)
Returns the current type pointed to by the iterator.
#ga1
char *
group__DBusSignature.html#ga2
dbus_signature_iter_get_signature
(const
structDBusSignatureIter.html
DBusSignatureIter
*iter)
Returns the full type signature represented by the current iterator as a C string.
#ga2
int
group__DBusSignature.html#ga3
dbus_signature_iter_get_element_type
(const
structDBusSignatureIter.html
DBusSignatureIter
*iter)
Convenience function for returning the element type of an array; This function allows you to avoid initializing a sub-iterator and getting its current type.
#ga3
group__DBusTypes.html#ga2
dbus_bool_t
group__DBusSignature.html#ga4
dbus_signature_iter_next
(
structDBusSignatureIter.html
DBusSignatureIter
*iter)
Skip to the next value on this "level".
#ga4
void
group__DBusSignature.html#ga5
dbus_signature_iter_recurse
(const
structDBusSignatureIter.html
DBusSignatureIter
*iter,
structDBusSignatureIter.html
DBusSignatureIter
*subiter)
Initialize a new iterator pointing to the first type current container.
#ga5
group__DBusTypes.html#ga2
dbus_bool_t
group__DBusSignature.html#ga6
dbus_signature_validate
(const char *signature,
structDBusError.html
DBusError
*error)
Check a type signature for validity.
#ga6
group__DBusTypes.html#ga2
dbus_bool_t
group__DBusSignature.html#ga7
dbus_signature_validate_single
(const char *signature,
structDBusError.html
DBusError
*error)
Check that a type signature is both valid and contains exactly one complete type.
#ga7
group__DBusTypes.html#ga2
dbus_bool_t
group__DBusSignature.html#ga8
dbus_type_is_container
(int typecode)
A "container type" can contain basic types, or nested container types.
#ga8
group__DBusTypes.html#ga2
dbus_bool_t
group__DBusSignature.html#ga9
dbus_type_is_basic
(int typecode)
A "basic type" is a somewhat arbitrary concept, but the intent is to include those types that are fully-specified by a single typecode, with no additional type information or nested values.
#ga9
group__DBusTypes.html#ga2
dbus_bool_t
group__DBusSignature.html#ga10
dbus_type_is_fixed
(int typecode)
Tells you whether values of this type can change length if you set them to some other value.
#ga10
Define Documentation
#define TYPE_IS_CONTAINER
(
typecode
)
Value:
((typecode) == DBUS_TYPE_STRUCT ||          \
(typecode) == DBUS_TYPE_DICT_ENTRY ||      \
(typecode) == DBUS_TYPE_VARIANT ||         \
(typecode) == DBUS_TYPE_ARRAY)
macro that checks whether a typecode is a container type
Definition at line
dbus-signature_8c-source.html#l00248
248
of file
dbus-signature_8c-source.html
dbus-signature.c
.
Referenced by
dbus-signature_8c-source.html#l00285
dbus_type_is_basic()
, and
dbus-signature_8c-source.html#l00263
dbus_type_is_container()
.
Function Documentation
int dbus_signature_iter_get_current_type
(
const
structDBusSignatureIter.html
DBusSignatureIter
*
iter
)
Returns the current type pointed to by the iterator.
If the iterator is pointing at a type code such as 's', then it will be returned directly.
However, when the parser encounters a container type start character such as '(' for a structure, the corresponding type for the container will be returned, e.g. DBUS_TYPE_STRUCT, not '('. In this case, you should initialize a sub-iterator with dbus_signature_iter_recurse to parse the container type.
Parameters:
iter
pointer to an iterator
Returns:
current type (e.g. DBUS_TYPE_STRING, DBUS_TYPE_ARRAY)
Definition at line
dbus-signature_8c-source.html#l00077
77
of file
dbus-signature_8c-source.html
dbus-signature.c
.
References
dbus-marshal-basic_8c-source.html#l01519
_dbus_first_type_in_signature_c_str()
, and
dbus-signature_8c-source.html#l00032
DBusSignatureRealIter::pos
.
Referenced by
dbus-signature_8c-source.html#l00126
dbus_signature_iter_get_element_type()
,
dbus-signature_8c-source.html#l00184
dbus_signature_iter_recurse()
, and
dbus-signature_8c-source.html#l00229
dbus_signature_validate_single()
.
int dbus_signature_iter_get_element_type
(
const
structDBusSignatureIter.html
DBusSignatureIter
*
iter
)
Convenience function for returning the element type of an array; This function allows you to avoid initializing a sub-iterator and getting its current type.
It is an error to invoke this function if the current type of the iterator is not DBUS_TYPE_ARRAY.
Parameters:
iter
pointer to an iterator
Returns:
current array element type
Definition at line
dbus-signature_8c-source.html#l00126
126
of file
dbus-signature_8c-source.html
dbus-signature.c
.
References
dbus-marshal-basic_8c-source.html#l01519
_dbus_first_type_in_signature_c_str()
,
dbus-signature_8c-source.html#l00077
dbus_signature_iter_get_current_type()
, and
dbus-signature_8c-source.html#l00032
DBusSignatureRealIter::pos
.
char* dbus_signature_iter_get_signature
(
const
structDBusSignatureIter.html
DBusSignatureIter
*
iter
)
Returns the full type signature represented by the current iterator as a C string.
Parameters:
iter
pointer to an iterator
Returns:
current signature; or NULL on OOM. Should be freed with
group__DBusMemory.html#ga3
dbus_free
Definition at line
dbus-signature_8c-source.html#l00092
92
of file
dbus-signature_8c-source.html
dbus-signature.c
.
References
dbus-string_8c-source.html#l01253
_dbus_string_append_len()
,
dbus-string_8c-source.html#l00261
_dbus_string_free()
,
dbus-string_8c-source.html#l00174
_dbus_string_init()
,
dbus-string_8c-source.html#l00607
_dbus_string_steal_data()
,
dbus-marshal-recursive_8c-source.html#l00329
_dbus_type_signature_next()
,
group__DBusMacros.html#ga4
NULL
, and
dbus-signature_8c-source.html#l00032
DBusSignatureRealIter::pos
.
void dbus_signature_iter_init
(
structDBusSignatureIter.html
DBusSignatureIter
*
iter
,
const char *
signature
)
Initializes a
structDBusSignatureIter.html
DBusSignatureIter
for reading a type signature.
This function is not safe to use on invalid signatures; be sure to validate potentially invalid signatures with dbus_signature_validate before using this function.
Parameters:
iter
pointer to an iterator to initialize
signature
the type signature
Definition at line
dbus-signature_8c-source.html#l00052
52
of file
dbus-signature_8c-source.html
dbus-signature.c
.
References
group__DBusMacros.html#ga3
FALSE
,
dbus-signature_8c-source.html#l00033
DBusSignatureRealIter::finished
,
dbus-signature_8c-source.html#l00034
DBusSignatureRealIter::in_array
, and
dbus-signature_8c-source.html#l00032
DBusSignatureRealIter::pos
.
Referenced by
dbus-signature_8c-source.html#l00229
dbus_signature_validate_single()
.
group__DBusTypes.html#ga2
dbus_bool_t
dbus_signature_iter_next
(
structDBusSignatureIter.html
DBusSignatureIter
*
iter
)
Skip to the next value on this "level".
e.g. the next field in a struct, the next value in an array. Returns FALSE at the end of the current container.
Parameters:
iter
the iterator
Returns:
FALSE if nothing more to read at or below this level
Definition at line
dbus-signature_8c-source.html#l00144
144
of file
dbus-signature_8c-source.html
dbus-signature.c
.
References
dbus-marshal-recursive_8c-source.html#l00329
_dbus_type_signature_next()
,
group__DBusMacros.html#ga3
FALSE
,
dbus-signature_8c-source.html#l00033
DBusSignatureRealIter::finished
,
dbus-signature_8c-source.html#l00034
DBusSignatureRealIter::in_array
,
dbus-signature_8c-source.html#l00032
DBusSignatureRealIter::pos
, and
group__DBusMacros.html#ga2
TRUE
.
Referenced by
dbus-signature_8c-source.html#l00229
dbus_signature_validate_single()
.
void dbus_signature_iter_recurse
(
const
structDBusSignatureIter.html
DBusSignatureIter
*
iter
,
structDBusSignatureIter.html
DBusSignatureIter
*
subiter
)
Initialize a new iterator pointing to the first type current container.
It's an error to call this if the current type is a non-container (i.e. if dbus_type_is_container returns FALSE).
Parameters:
iter
the current interator
subiter
an iterator to initialize pointing to the first child
Definition at line
dbus-signature_8c-source.html#l00184
184
of file
dbus-signature_8c-source.html
dbus-signature.c
.
References
dbus-signature_8c-source.html#l00077
dbus_signature_iter_get_current_type()
,
dbus-signature_8c-source.html#l00263
dbus_type_is_container()
,
dbus-signature_8c-source.html#l00034
DBusSignatureRealIter::in_array
,
dbus-signature_8c-source.html#l00032
DBusSignatureRealIter::pos
, and
group__DBusMacros.html#ga2
TRUE
.
group__DBusTypes.html#ga2
dbus_bool_t
dbus_signature_validate
(
const char *
signature
,
structDBusError.html
DBusError
*
error
)
Check a type signature for validity.
Parameters:
signature
a potentially invalid type signature  error return
Returns:
TRUE iif signature is valid
Definition at line
dbus-signature_8c-source.html#l00207
207
of file
dbus-signature_8c-source.html
dbus-signature.c
.
References
dbus-string_8c-source.html#l00208
_dbus_string_init_const()
,
dbus-marshal-validate_8c-source.html#l01012
_dbus_validate_signature()
,
dbus-errors_8c-source.html#l00313
dbus_set_error()
,
group__DBusMacros.html#ga3
FALSE
, and
group__DBusMacros.html#ga2
TRUE
.
Referenced by
dbus-signature_8c-source.html#l00229
dbus_signature_validate_single()
.
group__DBusTypes.html#ga2
dbus_bool_t
dbus_signature_validate_single
(
const char *
signature
,
structDBusError.html
DBusError
*
error
)
Check that a type signature is both valid and contains exactly one complete type.
Parameters:
signature
a potentially invalid type signature  error return
Returns:
TRUE iif signature is valid and has exactly one complete type
Definition at line
dbus-signature_8c-source.html#l00229
229
of file
dbus-signature_8c-source.html
dbus-signature.c
.
References
dbus-errors_8c-source.html#l00313
dbus_set_error()
,
dbus-signature_8c-source.html#l00077
dbus_signature_iter_get_current_type()
,
dbus-signature_8c-source.html#l00052
dbus_signature_iter_init()
,
dbus-signature_8c-source.html#l00144
dbus_signature_iter_next()
,
dbus-signature_8c-source.html#l00207
dbus_signature_validate()
,
group__DBusMacros.html#ga3
FALSE
, and
group__DBusMacros.html#ga2
TRUE
.
group__DBusTypes.html#ga2
dbus_bool_t
dbus_type_is_basic
(
int
typecode
)
A "basic type" is a somewhat arbitrary concept, but the intent is to include those types that are fully-specified by a single typecode, with no additional type information or nested values.
So all numbers and strings are basic types and structs, arrays, and variants are not basic types. DBUS_TYPE_INVALID is not a basic type.
This function will crash if passed a typecode that isn't in dbus-protocol.h
Returns:
group__DBusMacros.html#ga2
TRUE
if type is basic
Definition at line
dbus-signature_8c-source.html#l00285
285
of file
dbus-signature_8c-source.html
dbus-signature.c
.
References
dbus-marshal-basic_8c-source.html#l01274
_dbus_type_is_valid()
,
group__DBusMacros.html#ga3
FALSE
, and
dbus-signature_8c-source.html#l00248
TYPE_IS_CONTAINER
.
Referenced by
dbus-marshal-basic_8c-source.html#l00503
_dbus_marshal_read_basic()
,
dbus-marshal-basic_8c-source.html#l00612
_dbus_marshal_read_fixed_multi()
,
dbus-marshal-basic_8c-source.html#l00844
_dbus_marshal_write_basic()
,
dbus-message_8c-source.html#l01760
_dbus_message_iter_get_args_valist()
,
dbus-marshal-recursive_8c-source.html#l01456
_dbus_type_reader_set_basic()
,
dbus-marshal-validate_8c-source.html#l00054
_dbus_validate_signature_with_reason()
,
dbus-message_8c-source.html#l01222
dbus_message_append_args_valist()
, and
dbus-message_8c-source.html#l02116
dbus_message_iter_append_basic()
.
group__DBusTypes.html#ga2
dbus_bool_t
dbus_type_is_container
(
int
typecode
)
A "container type" can contain basic types, or nested container types.
DBUS_TYPE_INVALID is not a container type. This function will crash if passed a typecode that isn't in dbus-protocol.h
Returns:
group__DBusMacros.html#ga2
TRUE
if type is a container
Definition at line
dbus-signature_8c-source.html#l00263
263
of file
dbus-signature_8c-source.html
dbus-signature.c
.
References
dbus-marshal-basic_8c-source.html#l01274
_dbus_type_is_valid()
,
group__DBusMacros.html#ga3
FALSE
, and
dbus-signature_8c-source.html#l00248
TYPE_IS_CONTAINER
.
Referenced by
dbus-message_8c-source.html#l02220
dbus_message_iter_open_container()
, and
dbus-signature_8c-source.html#l00184
dbus_signature_iter_recurse()
.
group__DBusTypes.html#ga2
dbus_bool_t
dbus_type_is_fixed
(
int
typecode
)
Tells you whether values of this type can change length if you set them to some other value.
For this purpose, you assume that the first byte of the old and new value would be in the same location, so alignment padding is not a factor.
This function is useful to determine whether
group__DBusMessage.html#ga37
dbus_message_iter_get_fixed_array
may be used.
Returns:
group__DBusMacros.html#ga3
FALSE
if the type can occupy different lengths
Definition at line
dbus-signature_8c-source.html#l00307
307
of file
dbus-signature_8c-source.html
dbus-signature.c
.
References
group__DBusMacros.html#ga3
FALSE
, and
group__DBusMacros.html#ga2
TRUE
.
Referenced by
dbus-marshal-basic_8c-source.html#l00612
_dbus_marshal_read_fixed_multi()
,
dbus-marshal-basic_8c-source.html#l01073
_dbus_marshal_write_fixed_multi()
,
dbus-message_8c-source.html#l01760
_dbus_message_iter_get_args_valist()
,
dbus-marshal-recursive_8c-source.html#l01019
_dbus_type_reader_read_fixed_multi()
,
dbus-marshal-recursive_8c-source.html#l01456
_dbus_type_reader_set_basic()
,
dbus-marshal-recursive_8c-source.html#l02435
_dbus_type_writer_write_fixed_multi()
,
dbus-message_8c-source.html#l01222
dbus_message_append_args_valist()
,
dbus-message_8c-source.html#l02175
dbus_message_iter_append_fixed_array()
, and
dbus-message_8c-source.html#l01732
dbus_message_iter_get_fixed_array()
.
Generated on Tue Sep 13 01:28:09 2005 for D-BUS by
http://www.doxygen.org/index.html
doxygen
1.4.4
