]>
Dogcows Code - chaz/homebank/blob - src/ext-value.h
2 #ifndef __EXT_VALUE_H__
3 #define __EXT_VALUE_H__
8 #define DA_TYPE_ACC (da_acc_get_type())
9 #define DA_TYPE_TRANSACTION (da_transaction_get_type())
11 #define obj(_1, _2, _3, _4, PREFIX) GType PREFIX##get_type(void);
12 #include "ext-value.h"
16 #define val(CTYPE, NAME, PART, GTYPE) \
17 static inline GValue* EXT_##NAME(GValue* v, CTYPE c) { \
18 g_value_init(v, GTYPE); \
19 g_value_set_##PART(v, c); \
22 #define obj(CTYPE, NAME, PART, GTYPE, _5) val(CTYPE*, NAME, PART, GTYPE)
23 #include "ext-value.h"
28 const GValue
* ext_value_undef(void);
29 const GValue
* ext_value_true(void);
30 const GValue
* ext_value_false(void);
32 #define EXT_UNDEF (ext_value_undef())
33 #define EXT_TRUE (ext_value_true())
34 #define EXT_FALSE (ext_value_false())
36 GValue
* EXT_LIST(GValue
* v
, ...);
37 GValue
* EXT_HASH(GValue
* v
, ...);
38 GValue
* EXT_JULIAN(GValue
* v
, guint32 d
);
44 // C type, name, fundamental, GType
45 val(gboolean
, BOOLEAN
, boolean
, G_TYPE_BOOLEAN
)
46 val(gint
, INT
, int, G_TYPE_INT
)
47 val(guint
, UINT
, uint
, G_TYPE_UINT
)
48 val(gdouble
, DOUBLE
, double, G_TYPE_DOUBLE
)
49 val(gchar
, CHAR
, schar
, G_TYPE_CHAR
)
50 val(gchar
*, STRING
, string
, G_TYPE_STRING
)
51 val(GPtrArray
*, ARRAY
, boxed
, G_TYPE_PTR_ARRAY
)
52 val(GHashTable
*, HASH_TABLE
, boxed
, G_TYPE_HASH_TABLE
)
53 val(GDate
*, DATE
, boxed
, G_TYPE_DATE
)
54 val(void*, OBJECT
, object
, G_TYPE_OBJECT
)
58 // C type, name, fundamental, GType, prefix
59 obj(Account
, ACCOUNT
, pointer
, DA_TYPE_ACC
, da_acc_
)
60 obj(Transaction
, TRANSACTION
, pointer
, DA_TYPE_TRANSACTION
, da_transaction_
)
This page took 0.039404 seconds and 4 git commands to generate.