GVariant variable arguments, tests, cleanups

Merge GVariant variable arguments support and put it under tests.

Also, remove the hack of the test case directly '#include'ing .c files
from glib/.  Instead, create a non-installed gvariant-internal.h that
the tests can include and make the symbols in it visible on the symbol
table of the shared library.  These symbols (as they are present in no
installed header files) are not part of the API of GLib.

Increase test coverage in a few other areas.
This commit is contained in:
Ryan Lortie
2010-03-08 10:30:59 -05:00
parent 8cd5c94f42
commit 75f761bcaa
12 changed files with 3110 additions and 208 deletions

View File

@@ -33,9 +33,7 @@ typedef struct
} GVariantSerialised;
/* deserialisation */
G_GNUC_INTERNAL
gsize g_variant_serialised_n_children (GVariantSerialised container);
G_GNUC_INTERNAL
GVariantSerialised g_variant_serialised_get_child (GVariantSerialised container,
gsize index);
@@ -43,32 +41,25 @@ GVariantSerialised g_variant_serialised_get_child (GVarian
typedef void (*GVariantSerialisedFiller) (GVariantSerialised *serialised,
gpointer data);
G_GNUC_INTERNAL
gsize g_variant_serialiser_needed_size (GVariantTypeInfo *info,
GVariantSerialisedFiller gsv_filler,
const gpointer *children,
gsize n_children);
G_GNUC_INTERNAL
void g_variant_serialiser_serialise (GVariantSerialised container,
GVariantSerialisedFiller gsv_filler,
const gpointer *children,
gsize n_children);
/* misc */
G_GNUC_INTERNAL
gboolean g_variant_serialised_is_normal (GVariantSerialised value);
G_GNUC_INTERNAL
void g_variant_serialised_byteswap (GVariantSerialised value);
/* validation of strings */
G_GNUC_INTERNAL
gboolean g_variant_serialiser_is_string (gconstpointer data,
gsize size);
G_GNUC_INTERNAL
gboolean g_variant_serialiser_is_object_path (gconstpointer data,
gsize size);
G_GNUC_INTERNAL
gboolean g_variant_serialiser_is_signature (gconstpointer data,
gsize size);