D-Bus 1.13.18

dbus-signature.h
1/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
2/* dbus-signatures.h utility functions for D-Bus types
3 *
4 * Copyright (C) 2005 Red Hat Inc.
5 *
6 * Licensed under the Academic Free License version 2.1
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 *
22 */
23#if !defined (DBUS_INSIDE_DBUS_H) && !defined (DBUS_COMPILATION)
24#error "Only <dbus/dbus.h> can be included directly, this file may disappear or change contents."
25#endif
26
27#ifndef DBUS_SIGNATURES_H
28#define DBUS_SIGNATURES_H
29
30#include <dbus/dbus-macros.h>
31#include <dbus/dbus-types.h>
32#include <dbus/dbus-errors.h>
33
34 DBUS_BEGIN_DECLS
35
44 typedef struct
45{
46 void *dummy1;
47 void *dummy2;
48 dbus_uint32_t dummy8;
49 int dummy12;
50 int dummy17;
51} DBusSignatureIter;
52
53DBUS_EXPORT
54 void dbus_signature_iter_init (DBusSignatureIter *iter,
55 const char *signature);
56
57DBUS_EXPORT
58 int dbus_signature_iter_get_current_type (const DBusSignatureIter *iter);
59
60DBUS_EXPORT
61 char * dbus_signature_iter_get_signature (const DBusSignatureIter *iter);
62
63DBUS_EXPORT
64 int dbus_signature_iter_get_element_type (const DBusSignatureIter *iter);
65
66DBUS_EXPORT
67 dbus_bool_t dbus_signature_iter_next (DBusSignatureIter *iter);
68
69DBUS_EXPORT
70 void dbus_signature_iter_recurse (const DBusSignatureIter *iter,
71 DBusSignatureIter *subiter);
72
73DBUS_EXPORT
74 dbus_bool_t dbus_signature_validate (const char *signature,
75 DBusError *error);
76
77DBUS_EXPORT
78 dbus_bool_t dbus_signature_validate_single (const char *signature,
79 DBusError *error);
80
81DBUS_EXPORT
82 dbus_bool_t dbus_type_is_valid (int typecode);
83
84DBUS_EXPORT
85 dbus_bool_t dbus_type_is_basic (int typecode);
86DBUS_EXPORT
87 dbus_bool_t dbus_type_is_container (int typecode);
88DBUS_EXPORT
89 dbus_bool_t dbus_type_is_fixed (int typecode);
90
93 DBUS_END_DECLS
94
95#endif /* DBUS_SIGNATURE_H */
DBUS_BEGIN_DECLS
#define DBUS_BEGIN_DECLS
Macro used prior to declaring functions in the D-Bus header files.
DBUS_END_DECLS
#define DBUS_END_DECLS
Macro used after declaring functions in the D-Bus header files.
dbus_signature_iter_recurse
void dbus_signature_iter_recurse(const DBusSignatureIter *iter, DBusSignatureIter *subiter)
Initialize a new iterator pointing to the first type in the current container.
Definition: dbus-signature.c:210
dbus_signature_validate
dbus_bool_t dbus_signature_validate(const char *signature, DBusError *error)
Check a type signature for validity.
Definition: dbus-signature.c:236
dbus_type_is_basic
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 ful...
Definition: dbus-signature.c:322
dbus_type_is_fixed
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.
Definition: dbus-signature.c:353
dbus_type_is_valid
dbus_bool_t dbus_type_is_valid(int typecode)
Return TRUE if the argument is a valid typecode.
Definition: dbus-signature.c:387
dbus_signature_iter_get_signature
char * dbus_signature_iter_get_signature(const DBusSignatureIter *iter)
Returns the signature of the single complete type starting at the given iterator.
Definition: dbus-signature.c:115
dbus_signature_iter_next
dbus_bool_t dbus_signature_iter_next(DBusSignatureIter *iter)
Skip to the next value on this "level".
Definition: dbus-signature.c:167
dbus_type_is_container
dbus_bool_t dbus_type_is_container(int typecode)
A "container type" can contain basic types, or nested container types.
Definition: dbus-signature.c:298
dbus_signature_iter_init
void dbus_signature_iter_init(DBusSignatureIter *iter, const char *signature)
Initializes a DBusSignatureIter for reading a type signature.
Definition: dbus-signature.c:70
dbus_signature_validate_single
dbus_bool_t dbus_signature_validate_single(const char *signature, DBusError *error)
Check that a type signature is both valid and contains exactly one complete type.
Definition: dbus-signature.c:268
dbus_signature_iter_get_current_type
int dbus_signature_iter_get_current_type(const DBusSignatureIter *iter)
Returns the current type pointed to by the iterator.
Definition: dbus-signature.c:95
dbus_signature_iter_get_element_type
int dbus_signature_iter_get_element_type(const DBusSignatureIter *iter)
Convenience function for returning the element type of an array; This function allows you to avoid in...
Definition: dbus-signature.c:149
dbus_bool_t
dbus_uint32_t dbus_bool_t
A boolean, valid values are TRUE and FALSE.
Definition: dbus-types.h:35
DBusError
Object representing an exception.
Definition: dbus-errors.h:49
DBusSignatureIter
DBusSignatureIter struct; contains no public fields.
Definition: dbus-signature.h:45
DBusSignatureIter::dummy12
int dummy12
Don't use this.
Definition: dbus-signature.h:49
DBusSignatureIter::dummy2
void * dummy2
Don't use this.
Definition: dbus-signature.h:47
DBusSignatureIter::dummy1
void * dummy1
Don't use this.
Definition: dbus-signature.h:46
DBusSignatureIter::dummy8
dbus_uint32_t dummy8
Don't use this.
Definition: dbus-signature.h:48
DBusSignatureIter::dummy17
int dummy17
Don't use this.
Definition: dbus-signature.h:50