common types

common types — TODO

Synopsis

union               GIArgument;
                    GIUnresolvedInfo;
enum                GITypeTag;
enum                GIArrayType;
#define             GI_TYPE_TAG_N_TYPES
#define             G_TYPE_TAG_IS_BASIC                 (tag)

Description

TODO

Details

union GIArgument

union _GIArgument
{
  gboolean v_boolean;
  gint8    v_int8;
  guint8   v_uint8;
  gint16   v_int16;
  guint16  v_uint16;
  gint32   v_int32;
  guint32  v_uint32;
  gint64   v_int64;
  guint64  v_uint64;
  gfloat   v_float;
  gdouble  v_double;
  gshort   v_short;
  gushort  v_ushort;
  gint     v_int;
  guint    v_uint;
  glong    v_long;
  gulong   v_ulong;
  gssize   v_ssize;
  gsize    v_size;
  gchar *  v_string;
  gpointer v_pointer;
};

Stores an argument of varying type

gboolean v_boolean;

TODO

gint8 v_int8;

TODO

guint8 v_uint8;

TODO

gint16 v_int16;

TODO

guint16 v_uint16;

TODO

gint32 v_int32;

TODO

guint32 v_uint32;

TODO

gint64 v_int64;

TODO

guint64 v_uint64;

TODO

gfloat v_float;

TODO

gdouble v_double;

TODO

gshort v_short;

TODO

gushort v_ushort;

TODO

gint v_int;

TODO

guint v_uint;

TODO

glong v_long;

TODO

gulong v_ulong;

TODO

gssize v_ssize;

TODO

gsize v_size;

TODO

gchar *v_string;

TODO

gpointer v_pointer;

TODO

GIUnresolvedInfo

typedef struct _GIUnresolvedInfo GIUnresolvedInfo;

Represents a unresolved type in a typelib.


enum GITypeTag

typedef enum {
  /* Basic types */
  GI_TYPE_TAG_VOID      =  0,
  GI_TYPE_TAG_BOOLEAN   =  1,
  GI_TYPE_TAG_INT8      =  2,
  GI_TYPE_TAG_UINT8     =  3,
  GI_TYPE_TAG_INT16     =  4,
  GI_TYPE_TAG_UINT16    =  5,
  GI_TYPE_TAG_INT32     =  6,
  GI_TYPE_TAG_UINT32    =  7,
  GI_TYPE_TAG_INT64     =  8,
  GI_TYPE_TAG_UINT64    =  9,
  GI_TYPE_TAG_FLOAT     = 10,
  GI_TYPE_TAG_DOUBLE    = 11,
  GI_TYPE_TAG_GTYPE     = 12,
  GI_TYPE_TAG_UTF8      = 13,
  GI_TYPE_TAG_FILENAME  = 14,
  /* Non-basic types; compare with G_TYPE_TAG_IS_BASIC */
  GI_TYPE_TAG_ARRAY     = 15,
  GI_TYPE_TAG_INTERFACE = 16,
  GI_TYPE_TAG_GLIST     = 17,
  GI_TYPE_TAG_GSLIST    = 18,
  GI_TYPE_TAG_GHASH     = 19,
  GI_TYPE_TAG_ERROR     = 20,
  /* Another basic type */
  GI_TYPE_TAG_UNICHAR   = 21
  /* Note - there is currently only room for 32 tags */
} GITypeTag;

The type tag of a GITypeInfo.

GI_TYPE_TAG_VOID

void

GI_TYPE_TAG_BOOLEAN

boolean

GI_TYPE_TAG_INT8

8-bit signed integer

GI_TYPE_TAG_UINT8

8-bit unsigned integer

GI_TYPE_TAG_INT16

16-bit signed integer

GI_TYPE_TAG_UINT16

16-bit unsigned integer

GI_TYPE_TAG_INT32

32-bit signed integer

GI_TYPE_TAG_UINT32

32-bit unsigned integer

GI_TYPE_TAG_INT64

64-bit signed integer

GI_TYPE_TAG_UINT64

64-bit unsigned integer

GI_TYPE_TAG_FLOAT

float

GI_TYPE_TAG_DOUBLE

double floating point

GI_TYPE_TAG_GTYPE

a GType

GI_TYPE_TAG_UTF8

a UTF-8 encoded string

GI_TYPE_TAG_FILENAME

a filename, encoded in the same encoding as the native filesystem is using.

GI_TYPE_TAG_ARRAY

an array

GI_TYPE_TAG_INTERFACE

an extended interface object

GI_TYPE_TAG_GLIST

a GList

GI_TYPE_TAG_GSLIST

a GSList

GI_TYPE_TAG_GHASH

a GHashTable

GI_TYPE_TAG_ERROR

a GError

GI_TYPE_TAG_UNICHAR

Unicode character

enum GIArrayType

typedef enum {
  GI_ARRAY_TYPE_C,
  GI_ARRAY_TYPE_ARRAY,
  GI_ARRAY_TYPE_PTR_ARRAY,
  GI_ARRAY_TYPE_BYTE_ARRAY
} GIArrayType;

The type of array in a GITypeInfo.

GI_ARRAY_TYPE_C

a C array, char[] for instance

GI_ARRAY_TYPE_ARRAY

a GArray array

GI_ARRAY_TYPE_PTR_ARRAY

a GPtrArray array

GI_ARRAY_TYPE_BYTE_ARRAY

a GByteArray array

GI_TYPE_TAG_N_TYPES

#define GI_TYPE_TAG_N_TYPES (GI_TYPE_TAG_UNICHAR+1)

TODO


G_TYPE_TAG_IS_BASIC()

#define G_TYPE_TAG_IS_BASIC(tag) (tag < GI_TYPE_TAG_ARRAY || tag == GI_TYPE_TAG_UNICHAR)

Checks if tag is a basic type.

tag :

a type tag