1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
3 * Copyright (C) 2007 Red Hat, Inc.
6 #ifndef SOUP_VALUE_UTILS_H
7 #define SOUP_VALUE_UTILS_H 1
9 #include <libsoup/soup-types.h>
10 #include <gobject/gvaluecollector.h>
14 #define SOUP_VALUE_SETV(val, type, args) \
18 memset (val, 0, sizeof (GValue)); \
19 g_value_init (val, type); \
20 G_VALUE_COLLECT (val, args, G_VALUE_NOCOPY_CONTENTS, &error); \
25 #define SOUP_VALUE_GETV(val, type, args) \
29 G_VALUE_LCOPY (val, args, G_VALUE_NOCOPY_CONTENTS, &error); \
34 GHashTable *soup_value_hash_new (void);
35 GHashTable *soup_value_hash_new_with_vals (const char *first_key,
36 ...) G_GNUC_NULL_TERMINATED;
37 void soup_value_hash_insert_value (GHashTable *hash,
40 void soup_value_hash_insert (GHashTable *hash,
44 void soup_value_hash_insert_vals (GHashTable *hash,
45 const char *first_key,
46 ...) G_GNUC_NULL_TERMINATED;
47 gboolean soup_value_hash_lookup (GHashTable *hash,
51 gboolean soup_value_hash_lookup_vals (GHashTable *hash,
52 const char *first_key,
53 ...) G_GNUC_NULL_TERMINATED;
55 GValueArray *soup_value_array_from_args (va_list args);
56 gboolean soup_value_array_to_args (GValueArray *array,
59 GValueArray *soup_value_array_new (void);
60 GValueArray *soup_value_array_new_with_vals (GType first_type,
61 ...) G_GNUC_NULL_TERMINATED;
63 void soup_value_array_insert (GValueArray *array,
67 void soup_value_array_append (GValueArray *array,
70 void soup_value_array_append_vals (GValueArray *array,
72 ...) G_GNUC_NULL_TERMINATED;
73 gboolean soup_value_array_get_nth (GValueArray *array,
79 GType soup_byte_array_get_type (void);
80 #define SOUP_TYPE_BYTE_ARRAY (soup_byte_array_get_type ())
84 #endif /* SOUP_VALUE_UTILS_H */