32 qof_kvp_array_va (
KvpFrame * kvp_root,
const gchar *path,
33 QofTime *qt,
const gchar *first_name, va_list ap)
54 guid = va_arg (ap,
const GUID *);
58 name = va_arg (ap,
const char *);
68 QofTime *qt,
const gchar *first_name, ...)
72 va_start (ap, first_name);
73 cwd = qof_kvp_array_va (pwd, path, qt, first_name, ap);
80 #define MATCH_GUID(elt) { \
81 KvpFrame *fr = kvp_value_get_frame (elt); \
83 GUID *guid = kvp_frame_get_guid (fr, guid_name); \
84 if (guid && guid_equal (desired_guid, guid)) return fr; \
90 const gchar *guid_name,
GUID * desired_guid)
96 arr = kvp_frame_get_value (root, path);
97 valtype = kvp_value_get_type (arr);
123 GList *node, *listhead;
125 arr = kvp_frame_get_value (root, path);
126 valtype = kvp_value_get_type (arr);
144 for (node = listhead; node; node = node->next)
149 listhead = g_list_remove_link (listhead, node);
150 g_list_free_1 (node);
162 qof_kvp_bag_get_first (
KvpFrame * root,
const gchar *path)
168 arr = kvp_frame_get_value (root, path);
169 valtype = kvp_value_get_type (arr);
187 KvpFrame * kvp_from,
const gchar *frompath)
191 fr = qof_kvp_bag_get_first (kvp_from, frompath);
196 fr = qof_kvp_bag_get_first (kvp_from, frompath);
201 kv_pair_helper (gpointer key, gpointer val, gpointer user_data)
203 GSList **result = (GSList **) user_data;
208 *result = g_slist_prepend (*result, kvp);
214 GSList *result_list = NULL;
215 g_hash_table_foreach (table, kv_pair_helper, &result_list);
220 g_hash_table_kv_pair_free_gfunc (gpointer data, gpointer user_data
221 __attribute__ ((unused)))