Details
enum wsdl_typecode_kind_t
typedef enum {
WSDL_TK_GLIB_NULL=0,
WSDL_TK_GLIB_VOID,
WSDL_TK_GLIB_BOOLEAN,
WSDL_TK_GLIB_CHAR,
WSDL_TK_GLIB_UCHAR,
WSDL_TK_GLIB_INT,
WSDL_TK_GLIB_UINT,
WSDL_TK_GLIB_SHORT,
WSDL_TK_GLIB_USHORT,
WSDL_TK_GLIB_LONG,
WSDL_TK_GLIB_ULONG,
WSDL_TK_GLIB_INT8,
WSDL_TK_GLIB_UINT8,
WSDL_TK_GLIB_INT16,
WSDL_TK_GLIB_UINT16,
WSDL_TK_GLIB_INT32,
WSDL_TK_GLIB_UINT32,
WSDL_TK_GLIB_FLOAT,
WSDL_TK_GLIB_DOUBLE,
WSDL_TK_GLIB_STRING,
WSDL_TK_GLIB_ELEMENT,
WSDL_TK_GLIB_STRUCT,
WSDL_TK_GLIB_LIST,
WSDL_TK_GLIB_MAX
} wsdl_typecode_kind_t; |
struct wsdl_typecode
struct wsdl_typecode {
wsdl_typecode_kind_t kind;
const guchar *name;
const guchar *ns; /* used in the typecode struct name */
const guchar *nsuri; /* used when looking up ns-qualified codes */
gboolean dynamic;
gulong sub_parts;
const guchar **subnames; /* for struct */
const wsdl_typecode **subtypes; /* for struct, list, element */
WsdlTypecodeFreeFn free_func;
}; |
ALIGN_ADDRESS()
#define ALIGN_ADDRESS(this, boundary) |
Finds a pointer to the next memory location after this that can
accept an alignment of boundary.
WSDL_TC_glib_null_struct
extern const wsdl_typecode WSDL_TC_glib_null_struct; |
The typecode for the NULL glib type. (Not used anywhere, sort of
an error condition)
WSDL_TC_glib_void_struct
extern const wsdl_typecode WSDL_TC_glib_void_struct; |
The typecode for the void glib type. (Not currently used anywhere)
WSDL_TC_glib_boolean_struct
extern const wsdl_typecode WSDL_TC_glib_boolean_struct; |
The typecode for the gboolean glib type.
WSDL_TC_glib_char_struct
extern const wsdl_typecode WSDL_TC_glib_char_struct; |
The typecode for the gchar glib type.
WSDL_TC_glib_uchar_struct
extern const wsdl_typecode WSDL_TC_glib_uchar_struct; |
The typecode for the guchar glib type.
WSDL_TC_glib_int_struct
extern const wsdl_typecode WSDL_TC_glib_int_struct; |
The typecode for the gint glib type.
WSDL_TC_glib_uint_struct
extern const wsdl_typecode WSDL_TC_glib_uint_struct; |
The typecode for the guint glib type.
WSDL_TC_glib_short_struct
extern const wsdl_typecode WSDL_TC_glib_short_struct; |
The typecode for the gshort glib type.
WSDL_TC_glib_ushort_struct
extern const wsdl_typecode WSDL_TC_glib_ushort_struct; |
The typecode for the gushort glib type.
WSDL_TC_glib_long_struct
extern const wsdl_typecode WSDL_TC_glib_long_struct; |
The typecode for the glong glib type.
WSDL_TC_glib_ulong_struct
extern const wsdl_typecode WSDL_TC_glib_ulong_struct; |
The typecode for the gulong glib type.
WSDL_TC_glib_int8_struct
extern const wsdl_typecode WSDL_TC_glib_int8_struct; |
The typecode for the gint8 glib type.
WSDL_TC_glib_uint8_struct
extern const wsdl_typecode WSDL_TC_glib_uint8_struct; |
The typecode for the guint8 glib type.
WSDL_TC_glib_int16_struct
extern const wsdl_typecode WSDL_TC_glib_int16_struct; |
The typecode for the gint16 glib type.
WSDL_TC_glib_uint16_struct
extern const wsdl_typecode WSDL_TC_glib_uint16_struct; |
The typecode for the guint16 glib type.
WSDL_TC_glib_int32_struct
extern const wsdl_typecode WSDL_TC_glib_int32_struct; |
The typecode for the gint32 glib type.
WSDL_TC_glib_uint32_struct
extern const wsdl_typecode WSDL_TC_glib_uint32_struct; |
The typecode for the guint32 glib type.
WSDL_TC_glib_float_struct
extern const wsdl_typecode WSDL_TC_glib_float_struct; |
The typecode for the gfloat glib type.
WSDL_TC_glib_double_struct
extern const wsdl_typecode WSDL_TC_glib_double_struct; |
The typecode for the gdouble glib type.
WSDL_TC_glib_string_struct
extern const wsdl_typecode WSDL_TC_glib_string_struct; |
The typecode for the guchar * glib type.
wsdl_typecode_kind ()
Finds the typecode kind of tc.
wsdl_typecode_element_kind ()
Finds the typecode kind of tc, recursing through
WSDL_TK_GLIB_ELEMENT typecodes.
wsdl_typecode_is_simple ()
gboolean wsdl_typecode_is_simple (const wsdl_typecode *const tc); |
Checks the kind of tc, recursing through WSDL_TK_GLIB_ELEMENT
typecodes.
wsdl_typecode_member_count ()
guint wsdl_typecode_member_count (const wsdl_typecode *const tc); |
Counts the members in a WSDL_TK_GLIB_STRUCT typecode.
wsdl_typecode_member_name ()
const guchar* wsdl_typecode_member_name (const wsdl_typecode *const tc,
guint member); |
Looks up the name of the member of tc at index position member.
wsdl_typecode_member_type ()
Looks up the type of the member of tc at index position member.
wsdl_typecode_content_type ()
Looks up the typecode that is either the aliased type of a
WSDL_TK_GLIB_ELEMENT kind or the content of a WSDL_TK_GLIB_LIST
kind.
wsdl_typecode_name ()
const guchar* wsdl_typecode_name (const wsdl_typecode *const tc); |
Finds the name of the typecode tc.
wsdl_typecode_ns ()
Finds the namespace prefix of the typecode tc.
wsdl_typecode_nsuri ()
const guchar* wsdl_typecode_nsuri (const wsdl_typecode *const tc); |
Finds the namespace URI of the typecode tc.
wsdl_typecode_type ()
Constructs a string containing the C mapping of the type
represented by typecode tc.
wsdl_typecode_param_type ()
guchar* wsdl_typecode_param_type (const wsdl_typecode *const tc); |
Constructs a string containing the C mapping of the type
represented by typecode tc, in a form suitable for function
parameter types. The difference with wsdl_typecode_type() is that
'*' is appended to C types that represent WSDL_TK_GLIB_STRUCT
typecodes.
wsdl_typecode_print ()
void wsdl_typecode_print (const wsdl_typecode *const tc,
guint ind); |
Produces a printable representation of typecode tc on standard
output.
wsdl_typecode_lookup ()
const wsdl_typecode* wsdl_typecode_lookup (const guchar *name,
const guchar *nsuri); |
Looks up a typecode by comparing the name with any prefix removed
with the known typecode names. If nsuri is not NULL, the
typecode namespace URI must also match nsuri.
wsdl_typecode_register ()
Stores the typecode pointer tc in the internal list of known typecodes.
wsdl_typecode_unregister ()
void wsdl_typecode_unregister (const guchar *name,
const guchar *nsuri); |
Finds a typecode by calling wsdl_typecode_lookup(), removes it from
the list of known typecodes and then passes it to
wsdl_typecode_free().
wsdl_typecode_free ()
Recursively frees all memory used by a typecode.
wsdl_typecode_free_all ()
void wsdl_typecode_free_all (void); |
Unregisters all known typecodes, freeing any memory used.
wsdl_typecode_foreach ()
void wsdl_typecode_foreach (gboolean predefined,
WsdlTypecodeForeachFn callback,
gpointer user_data); |
For each typecode known (including predefined ones if predefined is
TRUE), callback is called with arguments of the typecode, and
user_data.
wsdl_typecode_alloc ()
Allocated memory for the C representation of the typecode tc.
wsdl_typecode_find_alignment ()
guint wsdl_typecode_find_alignment (const wsdl_typecode *const tc); |
Works out the C type alignment required for typecode tc, using
data supplied by configure.
wsdl_typecode_size ()
Works out the size in bytes needed for the C representation of a
typecode, taking alignment into account.
wsdl_typecode_offset ()
If tc is a typecode of kind WSDL_TK_GLIB_STRUCT, finds the member
named name and works out the offset to this member from the start
of the C representation of this typecode. The offset is stored in
the integer pointed to by offset.