From 776ee5f79e32437277925240d0e17dae2dfabb0d Mon Sep 17 00:00:00 2001 From: Philip Van Hoof Date: Sun, 8 Jun 2008 14:37:30 +0000 Subject: [PATCH] tools/gidlnode.c 2008-06-08 Philip Van Hoof * girepository/girepository.c: * girepository/gtypelib.c: * girepository/ginfo.c: * girepository/ginvoke.c: * girepository/girepository.h: * girepository/gtypelib.h: * girepository/gmetadata.c: * girepository/Makefile.am: * girepository/gmetadata.h: * tools/compiler.c: * tools/gidlmodule.c: * tools/gidlnode.c * tools/generate.c: * tools/gidlmodule.h: * tools/gidlparser.c: Renamed GMetadata to GTypelib svn path=/trunk/; revision=288 --- Makefile.am | 4 +- ginfo.c | 50 ++-- ginvoke.c | 2 +- girepository.c | 46 ++-- girepository.h | 20 +- gmetadata.c => gtypelib.c | 534 +++++++++++++++++++------------------- gmetadata.h => gtypelib.h | 32 +-- 7 files changed, 344 insertions(+), 344 deletions(-) rename gmetadata.c => gtypelib.c (80%) rename gmetadata.h => gtypelib.h (94%) diff --git a/Makefile.am b/Makefile.am index e95b3cd73..9dd5e547f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -8,8 +8,8 @@ noinst_LTLIBRARIES = libgirepository.la libgirepository_la_SOURCES = \ girepository.c \ - gmetadata.h \ - gmetadata.c \ + gtypelib.h \ + gtypelib.c \ ginfo.c \ ginvoke.c libgirepository_la_CPPFLAGS = $(GIREPO_CFLAGS) diff --git a/ginfo.c b/ginfo.c index 4a2568e01..c54b39283 100644 --- a/ginfo.c +++ b/ginfo.c @@ -24,7 +24,7 @@ #include #include "girepository.h" -#include "gmetadata.h" +#include "gtypelib.h" struct _GIBaseInfo { @@ -32,7 +32,7 @@ struct _GIBaseInfo gint ref_count; GIBaseInfo *container; - GMetadata *metadata; + GTypelib *metadata; guint32 offset; }; @@ -136,7 +136,7 @@ struct _GIUnionInfo GIBaseInfo * g_info_new (GIInfoType type, GIBaseInfo *container, - GMetadata *metadata, + GTypelib *metadata, guint32 offset) { GIBaseInfo *info; @@ -156,18 +156,18 @@ g_info_new (GIInfoType type, } static GIBaseInfo * -g_info_from_entry (GMetadata *metadata, +g_info_from_entry (GTypelib *metadata, guint16 index) { GIBaseInfo *result; - DirEntry *entry = g_metadata_get_dir_entry (metadata, index); + DirEntry *entry = g_typelib_get_dir_entry (metadata, index); if (entry->local) result = g_info_new (entry->blob_type, NULL, metadata, entry->offset); else { - const gchar *namespace = g_metadata_get_string (metadata, entry->offset); - const gchar *name = g_metadata_get_string (metadata, entry->name); + const gchar *namespace = g_typelib_get_string (metadata, entry->offset); + const gchar *name = g_typelib_get_string (metadata, entry->name); GIRepository *repository = g_irepository_get_default (); @@ -240,7 +240,7 @@ g_base_info_get_name (GIBaseInfo *info) { CommonBlob *blob = (CommonBlob *)&info->metadata->data[info->offset]; - return g_metadata_get_string (info->metadata, blob->name); + return g_typelib_get_string (info->metadata, blob->name); } break; @@ -248,7 +248,7 @@ g_base_info_get_name (GIBaseInfo *info) { ValueBlob *blob = (ValueBlob *)&info->metadata->data[info->offset]; - return g_metadata_get_string (info->metadata, blob->name); + return g_typelib_get_string (info->metadata, blob->name); } break; @@ -256,7 +256,7 @@ g_base_info_get_name (GIBaseInfo *info) { SignalBlob *blob = (SignalBlob *)&info->metadata->data[info->offset]; - return g_metadata_get_string (info->metadata, blob->name); + return g_typelib_get_string (info->metadata, blob->name); } break; @@ -264,7 +264,7 @@ g_base_info_get_name (GIBaseInfo *info) { PropertyBlob *blob = (PropertyBlob *)&info->metadata->data[info->offset]; - return g_metadata_get_string (info->metadata, blob->name); + return g_typelib_get_string (info->metadata, blob->name); } break; @@ -272,7 +272,7 @@ g_base_info_get_name (GIBaseInfo *info) { VFuncBlob *blob = (VFuncBlob *)&info->metadata->data[info->offset]; - return g_metadata_get_string (info->metadata, blob->name); + return g_typelib_get_string (info->metadata, blob->name); } break; @@ -280,7 +280,7 @@ g_base_info_get_name (GIBaseInfo *info) { FieldBlob *blob = (FieldBlob *)&info->metadata->data[info->offset]; - return g_metadata_get_string (info->metadata, blob->name); + return g_typelib_get_string (info->metadata, blob->name); } break; @@ -288,7 +288,7 @@ g_base_info_get_name (GIBaseInfo *info) { ArgBlob *blob = (ArgBlob *)&info->metadata->data[info->offset]; - return g_metadata_get_string (info->metadata, blob->name); + return g_typelib_get_string (info->metadata, blob->name); } break; @@ -320,7 +320,7 @@ g_base_info_get_namespace (GIBaseInfo *info) return unresolved->namespace; } - return g_metadata_get_string (info->metadata, header->namespace); + return g_typelib_get_string (info->metadata, header->namespace); } gboolean @@ -430,9 +430,9 @@ g_base_info_get_annotation (GIBaseInfo *info, { res = next; - rname = g_metadata_get_string (base->metadata, res->name); + rname = g_typelib_get_string (base->metadata, res->name); if (strcmp (name, rname) == 0) - return g_metadata_get_string (base->metadata, res->value); + return g_typelib_get_string (base->metadata, res->value); next = res += header->annotation_blob_size; } @@ -447,7 +447,7 @@ g_base_info_get_container (GIBaseInfo *info) return info->container; } -GMetadata * +GTypelib * g_base_info_get_metadata (GIBaseInfo *info) { return info->metadata; @@ -460,7 +460,7 @@ g_function_info_get_symbol (GIFunctionInfo *info) GIBaseInfo *base = (GIBaseInfo *)info; FunctionBlob *blob = (FunctionBlob *)&base->metadata->data[base->offset]; - return g_metadata_get_string (base->metadata, blob->symbol); + return g_typelib_get_string (base->metadata, blob->symbol); } GIFunctionInfoFlags @@ -530,7 +530,7 @@ signature_offset (GICallableInfo *info) GITypeInfo * g_type_info_new (GIBaseInfo *container, - GMetadata *metadata, + GTypelib *metadata, guint32 offset) { SimpleTypeBlob *type = (SimpleTypeBlob *)&metadata->data[offset]; @@ -874,7 +874,7 @@ g_error_domain_info_get_quark (GIErrorDomainInfo *info) GIBaseInfo *base = (GIBaseInfo *)info; ErrorDomainBlob *blob = (ErrorDomainBlob *)&base->metadata->data[base->offset]; - return g_metadata_get_string (base->metadata, blob->get_quark); + return g_typelib_get_string (base->metadata, blob->get_quark); } GIInterfaceInfo * @@ -951,7 +951,7 @@ g_registered_type_info_get_type_name (GIRegisteredTypeInfo *info) RegisteredTypeBlob *blob = (RegisteredTypeBlob *)&base->metadata->data[base->offset]; if (blob->gtype_name) - return g_metadata_get_string (base->metadata, blob->gtype_name); + return g_typelib_get_string (base->metadata, blob->gtype_name); return NULL; } @@ -963,7 +963,7 @@ g_registered_type_info_get_type_init (GIRegisteredTypeInfo *info) RegisteredTypeBlob *blob = (RegisteredTypeBlob *)&base->metadata->data[base->offset]; if (blob->gtype_init) - return g_metadata_get_string (base->metadata, blob->gtype_init); + return g_typelib_get_string (base->metadata, blob->gtype_init); return NULL; } @@ -1116,7 +1116,7 @@ g_object_info_get_type_name (GIObjectInfo *info) GIBaseInfo *base = (GIBaseInfo *)info; ObjectBlob *blob = (ObjectBlob *)&base->metadata->data[base->offset]; - return g_metadata_get_string (base->metadata, blob->gtype_name); + return g_typelib_get_string (base->metadata, blob->gtype_name); } const gchar * @@ -1125,7 +1125,7 @@ g_object_info_get_type_init (GIObjectInfo *info) GIBaseInfo *base = (GIBaseInfo *)info; ObjectBlob *blob = (ObjectBlob *)&base->metadata->data[base->offset]; - return g_metadata_get_string (base->metadata, blob->gtype_init); + return g_typelib_get_string (base->metadata, blob->gtype_init); } gint diff --git a/ginvoke.c b/ginvoke.c index 26f3c5800..d283b69f0 100644 --- a/ginvoke.c +++ b/ginvoke.c @@ -24,7 +24,7 @@ #include #include "girepository.h" -#include "gmetadata.h" +#include "gtypelib.h" #include "config.h" GQuark diff --git a/girepository.c b/girepository.c index c9b3b683c..c2b119cd7 100644 --- a/girepository.c +++ b/girepository.c @@ -26,7 +26,7 @@ #include #include #include "girepository.h" -#include "gmetadata.h" +#include "gtypelib.h" static GIRepository *default_repository = NULL; static GHashTable *default_metadata = NULL; @@ -34,7 +34,7 @@ static GSList *search_path = NULL; struct _GIRepositoryPrivate { - GHashTable *metadata; /* (string) namespace -> GMetadata */ + GHashTable *metadata; /* (string) namespace -> GTypelib */ }; G_DEFINE_TYPE (GIRepository, g_irepository, G_TYPE_OBJECT); @@ -70,7 +70,7 @@ g_irepository_class_init (GIRepositoryClass *class) const gchar * g_irepository_register (GIRepository *repository, - GMetadata *metadata) + GTypelib *metadata) { Header *header; const gchar *name; @@ -88,7 +88,7 @@ g_irepository_register (GIRepository *repository, if (repository->priv->metadata == NULL) repository->priv->metadata = g_hash_table_new_full (g_str_hash, g_str_equal, (GDestroyNotify) NULL, - (GDestroyNotify) g_metadata_free); + (GDestroyNotify) g_typelib_free); table = repository->priv->metadata; } else @@ -96,11 +96,11 @@ g_irepository_register (GIRepository *repository, if (default_metadata == NULL) default_metadata = g_hash_table_new_full (g_str_hash, g_str_equal, (GDestroyNotify) NULL, - (GDestroyNotify) g_metadata_free); + (GDestroyNotify) g_typelib_free); table = default_metadata; } - name = g_metadata_get_string (metadata, header->namespace); + name = g_typelib_get_string (metadata, header->namespace); if (g_hash_table_lookup (table, name)) { @@ -158,7 +158,7 @@ g_irepository_get_default (void) if (default_metadata == NULL) default_metadata = g_hash_table_new_full (g_str_hash, g_str_equal, (GDestroyNotify) NULL, - (GDestroyNotify) g_metadata_free); + (GDestroyNotify) g_typelib_free); default_repository->priv->metadata = default_metadata; } @@ -170,7 +170,7 @@ count_interfaces (gpointer key, gpointer value, gpointer data) { - guchar *metadata = ((GMetadata *) value)->data; + guchar *metadata = ((GTypelib *) value)->data; gint *n_interfaces = (gint *)data; *n_interfaces += ((Header *)metadata)->n_local_entries; @@ -184,7 +184,7 @@ g_irepository_get_n_infos (GIRepository *repository, if (namespace) { - GMetadata *metadata; + GTypelib *metadata; metadata = g_hash_table_lookup (repository->priv->metadata, namespace); @@ -214,7 +214,7 @@ find_interface (gpointer key, gpointer data) { gint i; - GMetadata *metadata = (GMetadata *)value; + GTypelib *metadata = (GTypelib *)value; IfaceData *iface_data = (IfaceData *)data; gint index; gint n_entries; @@ -230,8 +230,8 @@ find_interface (gpointer key, { for (i = 1; i <= n_entries; i++) { - entry = g_metadata_get_dir_entry (metadata, i); - name = g_metadata_get_string (metadata, entry->name); + entry = g_typelib_get_dir_entry (metadata, i); + name = g_typelib_get_string (metadata, entry->name); if (strcmp (name, iface_data->name) == 0) { index = i; @@ -243,12 +243,12 @@ find_interface (gpointer key, { for (i = 1; i <= n_entries; i++) { - entry = g_metadata_get_dir_entry (metadata, i); + entry = g_typelib_get_dir_entry (metadata, i); if (entry->blob_type < 4) continue; offset = *(guint32*)&metadata->data[entry->offset + 8]; - type = g_metadata_get_string (metadata, offset); + type = g_typelib_get_string (metadata, offset); if (strcmp (type, iface_data->type) == 0) { index = i; @@ -266,7 +266,7 @@ find_interface (gpointer key, if (index != 0) { - entry = g_metadata_get_dir_entry (metadata, index); + entry = g_typelib_get_dir_entry (metadata, index); iface_data->iface = g_info_new (entry->blob_type, NULL, metadata, entry->offset); } @@ -286,7 +286,7 @@ g_irepository_get_info (GIRepository *repository, if (namespace) { - GMetadata *metadata; + GTypelib *metadata; metadata = g_hash_table_lookup (repository->priv->metadata, namespace); @@ -329,7 +329,7 @@ g_irepository_find_by_name (GIRepository *repository, if (namespace) { - GMetadata *metadata; + GTypelib *metadata; metadata = g_hash_table_lookup (repository->priv->metadata, namespace); @@ -374,7 +374,7 @@ const gchar * g_irepository_get_shared_library (GIRepository *repository, const gchar *namespace) { - GMetadata *metadata; + GTypelib *metadata; Header *header; metadata = g_hash_table_lookup (repository->priv->metadata, namespace); @@ -382,7 +382,7 @@ g_irepository_get_shared_library (GIRepository *repository, return NULL; header = (Header *) metadata->data; if (header->shared_library) - return g_metadata_get_string (metadata, header->shared_library); + return g_typelib_get_string (metadata, header->shared_library); else return NULL; } @@ -418,7 +418,7 @@ g_irepository_register_file (GIRepository *repository, gchar *fname, *full_path; GMappedFile *mfile; GError *error1 = NULL; - GMetadata *metadata = NULL; + GTypelib *metadata = NULL; const gchar *metadata_namespace, *shlib_fname; GModule *module; guint32 shlib; @@ -449,8 +449,8 @@ g_irepository_register_file (GIRepository *repository, continue; } g_free (full_path); - metadata = g_metadata_new_from_mapped_file (mfile); - metadata_namespace = g_metadata_get_string (metadata, ((Header *) metadata->data)->namespace); + metadata = g_typelib_new_from_mapped_file (mfile); + metadata_namespace = g_typelib_get_string (metadata, ((Header *) metadata->data)->namespace); if (strcmp (metadata_namespace, namespace) != 0) { g_set_error (error, G_IREPOSITORY_ERROR, G_IREPOSITORY_ERROR_NAMESPACE_MISMATCH, @@ -472,7 +472,7 @@ g_irepository_register_file (GIRepository *repository, /* optionally load shared library and attach it to the metadata */ shlib = ((Header *) metadata->data)->shared_library; if (shlib) { - shlib_fname = g_metadata_get_string (metadata, shlib); + shlib_fname = g_typelib_get_string (metadata, shlib); module = g_module_open (shlib_fname, G_MODULE_BIND_LAZY|G_MODULE_BIND_LOCAL); if (module == NULL) { g_set_error (error, G_IREPOSITORY_ERROR, diff --git a/girepository.h b/girepository.h index fa625aa2a..ae5e2c583 100644 --- a/girepository.h +++ b/girepository.h @@ -52,7 +52,7 @@ typedef struct _GIArgInfo GIArgInfo; typedef struct _GITypeInfo GITypeInfo; typedef struct _GIErrorDomainInfo GIErrorDomainInfo; typedef struct _GIUnresolvedInfo GIUnresolvedInfo; -typedef struct _GMetadata GMetadata; +typedef struct _GTypelib GTypelib; struct _GIRepository { @@ -73,7 +73,7 @@ struct _GIRepositoryClass GType g_irepository_get_type (void) G_GNUC_CONST; GIRepository *g_irepository_get_default (void); const gchar * g_irepository_register (GIRepository *repository, - GMetadata *metadata); + GTypelib *metadata); void g_irepository_unregister (GIRepository *repository, const gchar *namespace); const gchar * g_irepository_register_file (GIRepository *repository, @@ -96,15 +96,15 @@ const gchar * g_irepository_get_shared_library (GIRepository *repository, const gchar *namespace); /* Metadata */ -GMetadata * g_metadata_new_from_memory (guchar *memory, +GTypelib * g_typelib_new_from_memory (guchar *memory, gsize len); -GMetadata * g_metadata_new_from_const_memory (const guchar *memory, +GTypelib * g_typelib_new_from_const_memory (const guchar *memory, gsize len); -GMetadata * g_metadata_new_from_mapped_file (GMappedFile *mfile); -void g_metadata_free (GMetadata *metadata); -void g_metadata_set_module (GMetadata *metadata, +GTypelib * g_typelib_new_from_mapped_file (GMappedFile *mfile); +void g_typelib_free (GTypelib *metadata); +void g_typelib_set_module (GTypelib *metadata, GModule *module); -const gchar * g_metadata_get_namespace (GMetadata *metadata); +const gchar * g_typelib_get_namespace (GTypelib *metadata); typedef enum { @@ -156,11 +156,11 @@ gboolean g_base_info_is_deprecated (GIBaseInfo *info); const gchar * g_base_info_get_annotation (GIBaseInfo *info, const gchar *name); GIBaseInfo * g_base_info_get_container (GIBaseInfo *info); -GMetadata * g_base_info_get_metadata (GIBaseInfo *info); +GTypelib * g_base_info_get_metadata (GIBaseInfo *info); GIBaseInfo * g_info_new (GIInfoType type, GIBaseInfo *container, - GMetadata *metadata, + GTypelib *metadata, guint32 offset); diff --git a/gmetadata.c b/gtypelib.c similarity index 80% rename from gmetadata.c rename to gtypelib.c index c33e6bffc..3df1918bf 100644 --- a/gmetadata.c +++ b/gtypelib.c @@ -24,7 +24,7 @@ #include -#include "gmetadata.h" +#include "gtypelib.h" #define ALIGN_VALUE(this, boundary) \ @@ -32,7 +32,7 @@ DirEntry * -g_metadata_get_dir_entry (GMetadata *metadata, +g_typelib_get_dir_entry (GTypelib *metadata, guint16 index) { Header *header = (Header *)metadata->data; @@ -41,7 +41,7 @@ g_metadata_get_dir_entry (GMetadata *metadata, } void -g_metadata_check_sanity (void) +g_typelib_check_sanity (void) { /* Check that struct layout is as we expect */ g_assert (sizeof (Header) == 100); @@ -97,7 +97,7 @@ is_name (const guchar *data, guint32 offset) } static gboolean -validate_header (GMetadata *metadata, +validate_header (GTypelib *metadata, GError **error) { Header *header; @@ -105,8 +105,8 @@ validate_header (GMetadata *metadata, if (metadata->len < sizeof (Header)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID, "The buffer is too short"); return FALSE; } @@ -116,8 +116,8 @@ validate_header (GMetadata *metadata, if (strncmp (header->magic, G_IDL_MAGIC, 16) != 0) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_HEADER, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_HEADER, "Magic string not found"); return FALSE; @@ -126,8 +126,8 @@ validate_header (GMetadata *metadata, if (header->major_version != 1 || header->minor_version != 0) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_HEADER, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_HEADER, "Version mismatch"); return FALSE; @@ -136,8 +136,8 @@ validate_header (GMetadata *metadata, if (header->n_entries < header->n_local_entries) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_HEADER, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_HEADER, "Inconsistent entry counts"); return FALSE; } @@ -145,8 +145,8 @@ validate_header (GMetadata *metadata, if (header->size != metadata->len) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_HEADER, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_HEADER, "Metadata size mismatch"); return FALSE; } @@ -171,8 +171,8 @@ validate_header (GMetadata *metadata, header->union_blob_size != 28) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_HEADER, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_HEADER, "Blob size mismatch"); return FALSE; } @@ -180,8 +180,8 @@ validate_header (GMetadata *metadata, if (!is_aligned (header->directory)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_HEADER, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_HEADER, "Misaligned directory"); return FALSE; } @@ -189,8 +189,8 @@ validate_header (GMetadata *metadata, if (!is_aligned (header->annotations)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_HEADER, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_HEADER, "Misaligned annotations"); return FALSE; } @@ -198,8 +198,8 @@ validate_header (GMetadata *metadata, if (header->annotations == 0 && header->n_annotations > 0) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_HEADER, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_HEADER, "Wrong number of annotations"); return FALSE; } @@ -207,8 +207,8 @@ validate_header (GMetadata *metadata, if (!is_name (metadata->data, header->namespace)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_HEADER, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_HEADER, "Invalid namespace name"); return FALSE; } @@ -216,14 +216,14 @@ validate_header (GMetadata *metadata, return TRUE; } -static gboolean validate_type_blob (GMetadata *metadata, +static gboolean validate_type_blob (GTypelib *metadata, guint32 offset, guint32 signature_offset, gboolean return_type, GError **error); static gboolean -validate_array_type_blob (GMetadata *metadata, +validate_array_type_blob (GTypelib *metadata, guint32 offset, guint32 signature_offset, gboolean return_type, @@ -236,8 +236,8 @@ validate_array_type_blob (GMetadata *metadata, if (!blob->pointer) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Pointer type exected for tag %d", blob->tag); return FALSE; } @@ -253,7 +253,7 @@ validate_array_type_blob (GMetadata *metadata, } static gboolean -validate_iface_type_blob (GMetadata *metadata, +validate_iface_type_blob (GTypelib *metadata, guint32 offset, guint32 signature_offset, gboolean return_type, @@ -269,8 +269,8 @@ validate_iface_type_blob (GMetadata *metadata, if (blob->interface == 0 || blob->interface > header->n_entries) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Invalid directory index %d", blob->interface); return FALSE; } @@ -279,7 +279,7 @@ validate_iface_type_blob (GMetadata *metadata, } static gboolean -validate_param_type_blob (GMetadata *metadata, +validate_param_type_blob (GTypelib *metadata, guint32 offset, guint32 signature_offset, gboolean return_type, @@ -294,8 +294,8 @@ validate_param_type_blob (GMetadata *metadata, if (!blob->pointer) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Pointer type exected for tag %d", blob->tag); return FALSE; } @@ -303,8 +303,8 @@ validate_param_type_blob (GMetadata *metadata, if (blob->n_types != n_params) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Parameter type number mismatch"); return FALSE; } @@ -322,7 +322,7 @@ validate_param_type_blob (GMetadata *metadata, } static gboolean -validate_error_type_blob (GMetadata *metadata, +validate_error_type_blob (GTypelib *metadata, guint32 offset, guint32 signature_offset, gboolean return_type, @@ -340,8 +340,8 @@ validate_error_type_blob (GMetadata *metadata, if (!blob->pointer) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Pointer type exected for tag %d", blob->tag); return FALSE; } @@ -351,20 +351,20 @@ validate_error_type_blob (GMetadata *metadata, if (blob->domains[i] == 0 || blob->domains[i] > header->n_entries) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Invalid directory index %d", blob->domains[i]); return FALSE; } - entry = g_metadata_get_dir_entry (metadata, blob->domains[i]); + entry = g_typelib_get_dir_entry (metadata, blob->domains[i]); if (entry->blob_type != BLOB_TYPE_ERROR_DOMAIN && (entry->local || entry->blob_type != BLOB_TYPE_INVALID)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Wrong blob type"); return FALSE; } @@ -374,7 +374,7 @@ validate_error_type_blob (GMetadata *metadata, } static gboolean -validate_type_blob (GMetadata *metadata, +validate_type_blob (GTypelib *metadata, guint32 offset, guint32 signature_offset, gboolean return_type, @@ -391,8 +391,8 @@ validate_type_blob (GMetadata *metadata, if (simple->tag >= TYPE_TAG_ARRAY) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Wrong tag in simple type"); return FALSE; } @@ -401,8 +401,8 @@ validate_type_blob (GMetadata *metadata, !simple->pointer) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Pointer type exected for tag %d", simple->tag); return FALSE; } @@ -442,8 +442,8 @@ validate_type_blob (GMetadata *metadata, break; default: g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Wrong tag in complex type"); return FALSE; } @@ -452,7 +452,7 @@ validate_type_blob (GMetadata *metadata, } static gboolean -validate_arg_blob (GMetadata *metadata, +validate_arg_blob (GTypelib *metadata, guint32 offset, guint32 signature_offset, GError **error) @@ -462,8 +462,8 @@ validate_arg_blob (GMetadata *metadata, if (metadata->len < offset + sizeof (ArgBlob)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID, "The buffer is too short"); return FALSE; } @@ -473,8 +473,8 @@ validate_arg_blob (GMetadata *metadata, if (!is_name (metadata->data, blob->name)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Invalid argument name"); return FALSE; } @@ -488,7 +488,7 @@ validate_arg_blob (GMetadata *metadata, } static gboolean -validate_signature_blob (GMetadata *metadata, +validate_signature_blob (GTypelib *metadata, guint32 offset, GError **error) { @@ -498,8 +498,8 @@ validate_signature_blob (GMetadata *metadata, if (metadata->len < offset + sizeof (SignatureBlob)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID, "The buffer is too short"); return FALSE; } @@ -530,7 +530,7 @@ validate_signature_blob (GMetadata *metadata, } static gboolean -validate_function_blob (GMetadata *metadata, +validate_function_blob (GTypelib *metadata, guint32 offset, guint16 container_type, GError **error) @@ -540,8 +540,8 @@ validate_function_blob (GMetadata *metadata, if (metadata->len < offset + sizeof (FunctionBlob)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID, "The buffer is too short"); return FALSE; } @@ -551,8 +551,8 @@ validate_function_blob (GMetadata *metadata, if (blob->blob_type != BLOB_TYPE_FUNCTION) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Wrong blob type"); return FALSE; } @@ -560,8 +560,8 @@ validate_function_blob (GMetadata *metadata, if (!is_name (metadata->data, blob->name)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Invalid function name"); return FALSE; } @@ -569,8 +569,8 @@ validate_function_blob (GMetadata *metadata, if (!is_name (metadata->data, blob->symbol)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Invalid function symbol"); return FALSE; } @@ -585,8 +585,8 @@ validate_function_blob (GMetadata *metadata, break; default: g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Constructor not allowed"); return FALSE; } @@ -601,8 +601,8 @@ validate_function_blob (GMetadata *metadata, break; default: g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Setter, getter or wrapper not allowed"); return FALSE; } @@ -613,8 +613,8 @@ validate_function_blob (GMetadata *metadata, if (!(blob->setter || blob->getter || blob->wraps_vfunc)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Must be setter, getter or wrapper"); return FALSE; } @@ -631,7 +631,7 @@ validate_function_blob (GMetadata *metadata, } static gboolean -validate_callback_blob (GMetadata *metadata, +validate_callback_blob (GTypelib *metadata, guint32 offset, GError **error) { @@ -640,8 +640,8 @@ validate_callback_blob (GMetadata *metadata, if (metadata->len < offset + sizeof (CallbackBlob)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID, "The buffer is too short"); return FALSE; } @@ -651,8 +651,8 @@ validate_callback_blob (GMetadata *metadata, if (blob->blob_type != BLOB_TYPE_CALLBACK) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Wrong blob type"); return FALSE; } @@ -660,8 +660,8 @@ validate_callback_blob (GMetadata *metadata, if (!is_name (metadata->data, blob->name)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Invalid callback name"); return FALSE; } @@ -673,7 +673,7 @@ validate_callback_blob (GMetadata *metadata, } static gboolean -validate_constant_blob (GMetadata *metadata, +validate_constant_blob (GTypelib *metadata, guint32 offset, GError **error) { @@ -691,8 +691,8 @@ validate_constant_blob (GMetadata *metadata, if (metadata->len < offset + sizeof (ConstantBlob)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID, "The buffer is too short"); return FALSE; } @@ -702,8 +702,8 @@ validate_constant_blob (GMetadata *metadata, if (blob->blob_type != BLOB_TYPE_CONSTANT) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Wrong blob type"); return FALSE; } @@ -711,8 +711,8 @@ validate_constant_blob (GMetadata *metadata, if (!is_name (metadata->data, blob->name)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Invalid constant name"); return FALSE; } @@ -724,8 +724,8 @@ validate_constant_blob (GMetadata *metadata, if (!is_aligned (blob->offset)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Misaligned constant value"); return FALSE; } @@ -736,8 +736,8 @@ validate_constant_blob (GMetadata *metadata, if (type->tag == 0) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Constant value type void"); return FALSE; } @@ -746,8 +746,8 @@ validate_constant_blob (GMetadata *metadata, blob->size != value_size[type->tag]) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Constant value size mismatch"); return FALSE; } @@ -758,7 +758,7 @@ validate_constant_blob (GMetadata *metadata, } static gboolean -validate_value_blob (GMetadata *metadata, +validate_value_blob (GTypelib *metadata, guint32 offset, GError **error) { @@ -767,8 +767,8 @@ validate_value_blob (GMetadata *metadata, if (metadata->len < offset + sizeof (ValueBlob)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID, "The buffer is too short"); return FALSE; } @@ -778,8 +778,8 @@ validate_value_blob (GMetadata *metadata, if (!is_name (metadata->data, blob->name)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Invalid value name"); return FALSE; } @@ -788,7 +788,7 @@ validate_value_blob (GMetadata *metadata, } static gboolean -validate_field_blob (GMetadata *metadata, +validate_field_blob (GTypelib *metadata, guint32 offset, GError **error) { @@ -797,8 +797,8 @@ validate_field_blob (GMetadata *metadata, if (metadata->len < offset + sizeof (FieldBlob)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID, "The buffer is too short"); return FALSE; } @@ -808,8 +808,8 @@ validate_field_blob (GMetadata *metadata, if (!is_name (metadata->data, blob->name)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Invalid field name"); return FALSE; } @@ -823,7 +823,7 @@ validate_field_blob (GMetadata *metadata, } static gboolean -validate_property_blob (GMetadata *metadata, +validate_property_blob (GTypelib *metadata, guint32 offset, GError **error) { @@ -832,8 +832,8 @@ validate_property_blob (GMetadata *metadata, if (metadata->len < offset + sizeof (PropertyBlob)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID, "The buffer is too short"); return FALSE; } @@ -843,8 +843,8 @@ validate_property_blob (GMetadata *metadata, if (!is_name (metadata->data, blob->name)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Invalid property name"); return FALSE; } @@ -858,7 +858,7 @@ validate_property_blob (GMetadata *metadata, } static gboolean -validate_signal_blob (GMetadata *metadata, +validate_signal_blob (GTypelib *metadata, guint32 offset, guint32 container_offset, GError **error) @@ -869,8 +869,8 @@ validate_signal_blob (GMetadata *metadata, if (metadata->len < offset + sizeof (SignalBlob)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID, "The buffer is too short"); return FALSE; } @@ -880,8 +880,8 @@ validate_signal_blob (GMetadata *metadata, if (!is_name (metadata->data, blob->name)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Invalid signal name"); return FALSE; } @@ -891,8 +891,8 @@ validate_signal_blob (GMetadata *metadata, (blob->run_cleanup != 0) != 1) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Invalid signal run flags"); return FALSE; } @@ -919,8 +919,8 @@ validate_signal_blob (GMetadata *metadata, if (blob->class_closure >= n_signals) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Invalid class closure index"); return FALSE; } @@ -933,7 +933,7 @@ validate_signal_blob (GMetadata *metadata, } static gboolean -validate_vfunc_blob (GMetadata *metadata, +validate_vfunc_blob (GTypelib *metadata, guint32 offset, guint32 container_offset, GError **error) @@ -944,8 +944,8 @@ validate_vfunc_blob (GMetadata *metadata, if (metadata->len < offset + sizeof (VFuncBlob)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID, "The buffer is too short"); return FALSE; } @@ -955,8 +955,8 @@ validate_vfunc_blob (GMetadata *metadata, if (!is_name (metadata->data, blob->name)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Invalid vfunc name"); return FALSE; } @@ -983,8 +983,8 @@ validate_vfunc_blob (GMetadata *metadata, if (blob->class_closure >= n_vfuncs) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Invalid class closure index"); return FALSE; } @@ -997,7 +997,7 @@ validate_vfunc_blob (GMetadata *metadata, } static gboolean -validate_struct_blob (GMetadata *metadata, +validate_struct_blob (GTypelib *metadata, guint32 offset, guint16 blob_type, GError **error) @@ -1008,8 +1008,8 @@ validate_struct_blob (GMetadata *metadata, if (metadata->len < offset + sizeof (StructBlob)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID, "The buffer is too short"); return FALSE; } @@ -1019,8 +1019,8 @@ validate_struct_blob (GMetadata *metadata, if (blob->blob_type != blob_type) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Wrong blob type"); return FALSE; } @@ -1029,8 +1029,8 @@ validate_struct_blob (GMetadata *metadata, (blob->blob_type == BLOB_TYPE_STRUCT && !blob->unregistered)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Registration/blob type mismatch"); return FALSE; } @@ -1038,8 +1038,8 @@ validate_struct_blob (GMetadata *metadata, if (!is_name (metadata->data, blob->name)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Invalid struct name"); return FALSE; } @@ -1049,8 +1049,8 @@ validate_struct_blob (GMetadata *metadata, if (!is_name (metadata->data, blob->gtype_name)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Invalid boxed type name"); return FALSE; } @@ -1058,8 +1058,8 @@ validate_struct_blob (GMetadata *metadata, if (!is_name (metadata->data, blob->gtype_init)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Invalid boxed type init"); return FALSE; } @@ -1069,8 +1069,8 @@ validate_struct_blob (GMetadata *metadata, if (blob->gtype_name || blob->gtype_init) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Gtype data in struct"); return FALSE; } @@ -1081,8 +1081,8 @@ validate_struct_blob (GMetadata *metadata, blob->n_methods * sizeof (FunctionBlob)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID, "The buffer is too short"); return FALSE; } @@ -1111,7 +1111,7 @@ validate_struct_blob (GMetadata *metadata, } static gboolean -validate_enum_blob (GMetadata *metadata, +validate_enum_blob (GTypelib *metadata, guint32 offset, guint16 blob_type, GError **error) @@ -1123,8 +1123,8 @@ validate_enum_blob (GMetadata *metadata, if (metadata->len < offset + sizeof (EnumBlob)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID, "The buffer is too short"); return FALSE; } @@ -1134,8 +1134,8 @@ validate_enum_blob (GMetadata *metadata, if (blob->blob_type != blob_type) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Wrong blob type"); return FALSE; } @@ -1145,8 +1145,8 @@ validate_enum_blob (GMetadata *metadata, if (!is_name (metadata->data, blob->gtype_name)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Invalid enum type name"); return FALSE; } @@ -1154,8 +1154,8 @@ validate_enum_blob (GMetadata *metadata, if (!is_name (metadata->data, blob->gtype_init)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Invalid enum type init"); return FALSE; } @@ -1165,8 +1165,8 @@ validate_enum_blob (GMetadata *metadata, if (blob->gtype_name || blob->gtype_init) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Gtype data in unregistered enum"); return FALSE; } @@ -1175,8 +1175,8 @@ validate_enum_blob (GMetadata *metadata, if (!is_name (metadata->data, blob->name)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Invalid enum name"); return FALSE; } @@ -1185,8 +1185,8 @@ validate_enum_blob (GMetadata *metadata, blob->n_values * sizeof (ValueBlob)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID, "The buffer is too short"); return FALSE; } @@ -1210,8 +1210,8 @@ validate_enum_blob (GMetadata *metadata, { /* FIXME should this be an error ? */ g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Duplicate enum value"); return FALSE; } @@ -1222,7 +1222,7 @@ validate_enum_blob (GMetadata *metadata, } static gboolean -validate_object_blob (GMetadata *metadata, +validate_object_blob (GTypelib *metadata, guint32 offset, GError **error) { @@ -1236,8 +1236,8 @@ validate_object_blob (GMetadata *metadata, if (metadata->len < offset + sizeof (ObjectBlob)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID, "The buffer is too short"); return FALSE; } @@ -1247,8 +1247,8 @@ validate_object_blob (GMetadata *metadata, if (blob->blob_type != BLOB_TYPE_OBJECT) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Wrong blob type"); return FALSE; } @@ -1256,8 +1256,8 @@ validate_object_blob (GMetadata *metadata, if (!is_name (metadata->data, blob->gtype_name)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Invalid object type name"); return FALSE; } @@ -1265,8 +1265,8 @@ validate_object_blob (GMetadata *metadata, if (!is_name (metadata->data, blob->gtype_init)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Invalid object type init"); return FALSE; } @@ -1274,8 +1274,8 @@ validate_object_blob (GMetadata *metadata, if (!is_name (metadata->data, blob->name)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Invalid object name"); return FALSE; } @@ -1283,8 +1283,8 @@ validate_object_blob (GMetadata *metadata, if (blob->parent > header->n_entries) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Invalid parent index"); return FALSE; } @@ -1293,13 +1293,13 @@ validate_object_blob (GMetadata *metadata, { DirEntry *entry; - entry = g_metadata_get_dir_entry (metadata, blob->parent); + entry = g_typelib_get_dir_entry (metadata, blob->parent); if (entry->blob_type != BLOB_TYPE_OBJECT && (entry->local || entry->blob_type != 0)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Parent not object"); return FALSE; } @@ -1316,8 +1316,8 @@ validate_object_blob (GMetadata *metadata, { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID, "The buffer is too short"); return FALSE; } @@ -1333,20 +1333,20 @@ validate_object_blob (GMetadata *metadata, if (iface == 0 || iface > header->n_entries) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Invalid interface index"); return FALSE; } - entry = g_metadata_get_dir_entry (metadata, iface); + entry = g_typelib_get_dir_entry (metadata, iface); if (entry->blob_type != BLOB_TYPE_INTERFACE && (entry->local || entry->blob_type != 0)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Not an interface"); return FALSE; } @@ -1394,7 +1394,7 @@ validate_object_blob (GMetadata *metadata, } static gboolean -validate_interface_blob (GMetadata *metadata, +validate_interface_blob (GTypelib *metadata, guint32 offset, GError **error) { @@ -1408,8 +1408,8 @@ validate_interface_blob (GMetadata *metadata, if (metadata->len < offset + sizeof (InterfaceBlob)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID, "The buffer is too short"); return FALSE; } @@ -1419,8 +1419,8 @@ validate_interface_blob (GMetadata *metadata, if (blob->blob_type != BLOB_TYPE_INTERFACE) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Wrong blob type"); return FALSE; } @@ -1428,8 +1428,8 @@ validate_interface_blob (GMetadata *metadata, if (!is_name (metadata->data, blob->gtype_name)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Invalid interface type name"); return FALSE; } @@ -1437,8 +1437,8 @@ validate_interface_blob (GMetadata *metadata, if (!is_name (metadata->data, blob->gtype_init)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Invalid interface type init"); return FALSE; } @@ -1446,8 +1446,8 @@ validate_interface_blob (GMetadata *metadata, if (!is_name (metadata->data, blob->name)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Invalid interface name"); return FALSE; } @@ -1462,8 +1462,8 @@ validate_interface_blob (GMetadata *metadata, { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID, "The buffer is too short"); return FALSE; } @@ -1479,20 +1479,20 @@ validate_interface_blob (GMetadata *metadata, if (req == 0 || req > header->n_entries) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Invalid prerequisite index"); return FALSE; } - entry = g_metadata_get_dir_entry (metadata, req); + entry = g_typelib_get_dir_entry (metadata, req); if (entry->blob_type != BLOB_TYPE_INTERFACE && entry->blob_type != BLOB_TYPE_OBJECT && (entry->local || entry->blob_type != 0)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_BLOB, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_BLOB, "Not an interface or object"); return FALSE; } @@ -1534,7 +1534,7 @@ validate_interface_blob (GMetadata *metadata, } static gboolean -validate_errordomain_blob (GMetadata *metadata, +validate_errordomain_blob (GTypelib *metadata, guint32 offset, GError **error) { @@ -1542,7 +1542,7 @@ validate_errordomain_blob (GMetadata *metadata, } static gboolean -validate_union_blob (GMetadata *metadata, +validate_union_blob (GTypelib *metadata, guint32 offset, GError **error) { @@ -1550,7 +1550,7 @@ validate_union_blob (GMetadata *metadata, } static gboolean -validate_blob (GMetadata *metadata, +validate_blob (GTypelib *metadata, guint32 offset, GError **error) { @@ -1559,8 +1559,8 @@ validate_blob (GMetadata *metadata, if (metadata->len < offset + sizeof (CommonBlob)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID, "The buffer is too short"); return FALSE; } @@ -1609,8 +1609,8 @@ validate_blob (GMetadata *metadata, break; default: g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_ENTRY, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_ENTRY, "Invalid blob type"); return FALSE; } @@ -1619,7 +1619,7 @@ validate_blob (GMetadata *metadata, } static gboolean -validate_directory (GMetadata *metadata, +validate_directory (GTypelib *metadata, GError **error) { Header *header = (Header *)metadata->data; @@ -1629,21 +1629,21 @@ validate_directory (GMetadata *metadata, if (metadata->len < header->directory + header->n_entries * sizeof (DirEntry)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID, "The buffer is too short"); return FALSE; } for (i = 0; i < header->n_entries; i++) { - entry = g_metadata_get_dir_entry (metadata, i + 1); + entry = g_typelib_get_dir_entry (metadata, i + 1); if (!is_name (metadata->data, entry->name)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_DIRECTORY, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_DIRECTORY, "Invalid entry name"); return FALSE; } @@ -1652,8 +1652,8 @@ validate_directory (GMetadata *metadata, entry->blob_type > BLOB_TYPE_UNION) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_DIRECTORY, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_DIRECTORY, "Invalid entry type"); return FALSE; } @@ -1663,8 +1663,8 @@ validate_directory (GMetadata *metadata, if (!entry->local) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_DIRECTORY, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_DIRECTORY, "Too few local directory entries"); return FALSE; } @@ -1672,8 +1672,8 @@ validate_directory (GMetadata *metadata, if (!is_aligned (entry->offset)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_DIRECTORY, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_DIRECTORY, "Misaligned entry"); return FALSE; } @@ -1686,8 +1686,8 @@ validate_directory (GMetadata *metadata, if (entry->local) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_DIRECTORY, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_DIRECTORY, "Too many local directory entries"); return FALSE; } @@ -1695,8 +1695,8 @@ validate_directory (GMetadata *metadata, if (!is_name (metadata->data, entry->offset)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID_DIRECTORY, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID_DIRECTORY, "Invalid namespace name"); return FALSE; } @@ -1707,7 +1707,7 @@ validate_directory (GMetadata *metadata, } static gboolean -validate_annotations (GMetadata *metadata, +validate_annotations (GTypelib *metadata, GError **error) { Header *header = (Header *)metadata->data; @@ -1715,8 +1715,8 @@ validate_annotations (GMetadata *metadata, if (header->size < header->annotations + header->n_annotations * sizeof (AnnotationBlob)) { g_set_error (error, - G_METADATA_ERROR, - G_METADATA_ERROR_INVALID, + G_TYPELIB_ERROR, + G_TYPELIB_ERROR_INVALID, "The buffer is too short"); return FALSE; } @@ -1725,7 +1725,7 @@ validate_annotations (GMetadata *metadata, } gboolean -g_metadata_validate (GMetadata *metadata, +g_typelib_validate (GTypelib *metadata, GError **error) { if (!validate_header (metadata, error)) @@ -1741,7 +1741,7 @@ g_metadata_validate (GMetadata *metadata, } GQuark -g_metadata_error_quark (void) +g_typelib_error_quark (void) { static GQuark quark = 0; if (quark == 0) @@ -1750,7 +1750,7 @@ g_metadata_error_quark (void) } static const char* -find_some_symbol (GMetadata *metadata) +find_some_symbol (GTypelib *metadata) { Header *header = (Header *) metadata->data; gint i; @@ -1759,7 +1759,7 @@ find_some_symbol (GMetadata *metadata) { DirEntry *entry; - entry = g_metadata_get_dir_entry (metadata, i + 1); + entry = g_typelib_get_dir_entry (metadata, i + 1); switch (entry->blob_type) { @@ -1768,7 +1768,7 @@ find_some_symbol (GMetadata *metadata) FunctionBlob *blob = (FunctionBlob *) &metadata->data[entry->offset]; if (blob->symbol) - return g_metadata_get_string (metadata, blob->symbol); + return g_typelib_get_string (metadata, blob->symbol); } break; case BLOB_TYPE_OBJECT: @@ -1776,7 +1776,7 @@ find_some_symbol (GMetadata *metadata) RegisteredTypeBlob *blob = (RegisteredTypeBlob *) &metadata->data[entry->offset]; if (blob->gtype_init) - return g_metadata_get_string (metadata, blob->gtype_init); + return g_typelib_get_string (metadata, blob->gtype_init); } break; default: @@ -1788,7 +1788,7 @@ find_some_symbol (GMetadata *metadata) } static inline void -_g_metadata_init (GMetadata *metadata) +_g_typelib_init (GTypelib *metadata) { Header *header; @@ -1797,7 +1797,7 @@ _g_metadata_init (GMetadata *metadata) { const gchar *shlib; - shlib = g_metadata_get_string (metadata, header->shared_library); + shlib = g_typelib_get_string (metadata, header->shared_library); /* note that NULL shlib means to open the main app, which is allowed */ /* If we do have a shared lib, first be sure the main app isn't already linked to it */ @@ -1851,81 +1851,81 @@ _g_metadata_init (GMetadata *metadata) } /** - * g_metadata_new_from_memory: + * g_typelib_new_from_memory: * @memory: address of memory chunk containing the metadata * @len: length of memory chunk containing the metadata * - * Creates a new #GMetadata from a memory location. The memory block + * Creates a new #GTypelib from a memory location. The memory block * pointed to by @metadata will be automatically g_free()d when the * repository is destroyed. * - * Return value: the new #GMetadata + * Return value: the new #GTypelib **/ -GMetadata * -g_metadata_new_from_memory (guchar *memory, gsize len) +GTypelib * +g_typelib_new_from_memory (guchar *memory, gsize len) { - GMetadata *meta; + GTypelib *meta; - meta = g_new0 (GMetadata, 1); + meta = g_new0 (GTypelib, 1); meta->data = memory; meta->len = len; meta->owns_memory = TRUE; - _g_metadata_init (meta); + _g_typelib_init (meta); return meta; } /** - * g_metadata_new_from_const_memory: + * g_typelib_new_from_const_memory: * @memory: address of memory chunk containing the metadata * @len: length of memory chunk containing the metadata * - * Creates a new #GMetadata from a memory location. + * Creates a new #GTypelib from a memory location. * - * Return value: the new #GMetadata + * Return value: the new #GTypelib **/ -GMetadata * -g_metadata_new_from_const_memory (const guchar *memory, gsize len) +GTypelib * +g_typelib_new_from_const_memory (const guchar *memory, gsize len) { - GMetadata *meta; + GTypelib *meta; - meta = g_new0 (GMetadata, 1); + meta = g_new0 (GTypelib, 1); meta->data = (guchar *) memory; meta->len = len; meta->owns_memory = FALSE; - _g_metadata_init (meta); + _g_typelib_init (meta); return meta; } /** - * g_metadata_new_from_mapped_file: + * g_typelib_new_from_mapped_file: * @mfile: a #GMappedFile, that will be free'd when the repository is destroyed * - * Creates a new #GMetadata from a #GMappedFile. + * Creates a new #GTypelib from a #GMappedFile. * - * Return value: the new #GMetadata + * Return value: the new #GTypelib **/ -GMetadata * -g_metadata_new_from_mapped_file (GMappedFile *mfile) +GTypelib * +g_typelib_new_from_mapped_file (GMappedFile *mfile) { - GMetadata *meta; + GTypelib *meta; - meta = g_new0 (GMetadata, 1); + meta = g_new0 (GTypelib, 1); meta->mfile = mfile; meta->owns_memory = FALSE; meta->data = (guchar *) g_mapped_file_get_contents (mfile); meta->len = g_mapped_file_get_length (mfile); - _g_metadata_init (meta); + _g_typelib_init (meta); return meta; } /** - * g_metadata_free: - * @metadata: a #GMetadata + * g_typelib_free: + * @metadata: a #GTypelib * - * Free a #GMetadata. + * Free a #GTypelib. **/ void -g_metadata_free (GMetadata *metadata) +g_typelib_free (GTypelib *metadata) { if (metadata->mfile) g_mapped_file_free (metadata->mfile); @@ -1938,14 +1938,14 @@ g_metadata_free (GMetadata *metadata) } /** - * g_metadata_set_module: - * @metadata: a #GMetadata instance + * g_typelib_set_module: + * @metadata: a #GTypelib instance * @module: a #GModule; takes ownership of this module * * Sets the target module for all symbols referenced by the metadata. **/ void -g_metadata_set_module (GMetadata *metadata, GModule *module) +g_typelib_set_module (GTypelib *metadata, GModule *module) { if (metadata->module) g_module_close (metadata->module); @@ -1953,7 +1953,7 @@ g_metadata_set_module (GMetadata *metadata, GModule *module) } const gchar * -g_metadata_get_namespace(GMetadata *metadata) +g_typelib_get_namespace(GTypelib *metadata) { - return g_metadata_get_string (metadata, ((Header *) metadata->data)->namespace); + return g_typelib_get_string (metadata, ((Header *) metadata->data)->namespace); } diff --git a/gmetadata.h b/gtypelib.h similarity index 94% rename from gmetadata.h rename to gtypelib.h index a22ee235e..352c3a8ea 100644 --- a/gmetadata.h +++ b/gtypelib.h @@ -19,8 +19,8 @@ * Boston, MA 02111-1307, USA. */ -#ifndef __G_METADATA_H__ -#define __G_METADATA_H__ +#ifndef __G_TYPELIB_H__ +#define __G_TYPELIB_H__ #include #include "girepository.h" @@ -510,7 +510,7 @@ typedef struct } AnnotationBlob; -struct _GMetadata { +struct _GTypelib { guchar *data; gsize len; gboolean owns_memory; @@ -518,32 +518,32 @@ struct _GMetadata { GModule *module; }; -DirEntry *g_metadata_get_dir_entry (GMetadata *metadata, +DirEntry *g_typelib_get_dir_entry (GTypelib *metadata, guint16 index); -void g_metadata_check_sanity (void); +void g_typelib_check_sanity (void); -#define g_metadata_get_string(metadata,offset) ((const gchar*)&(metadata->data)[(offset)]) +#define g_typelib_get_string(metadata,offset) ((const gchar*)&(metadata->data)[(offset)]) typedef enum { - G_METADATA_ERROR_INVALID, - G_METADATA_ERROR_INVALID_HEADER, - G_METADATA_ERROR_INVALID_DIRECTORY, - G_METADATA_ERROR_INVALID_ENTRY, - G_METADATA_ERROR_INVALID_BLOB -} GMetadataError; + G_TYPELIB_ERROR_INVALID, + G_TYPELIB_ERROR_INVALID_HEADER, + G_TYPELIB_ERROR_INVALID_DIRECTORY, + G_TYPELIB_ERROR_INVALID_ENTRY, + G_TYPELIB_ERROR_INVALID_BLOB +} GTypelibError; -#define G_METADATA_ERROR (g_metadata_error_quark ()) +#define G_TYPELIB_ERROR (g_typelib_error_quark ()) -GQuark g_metadata_error_quark (void); +GQuark g_typelib_error_quark (void); -gboolean g_metadata_validate (GMetadata *metadata, +gboolean g_typelib_validate (GTypelib *metadata, GError **error); G_END_DECLS -#endif /* __G_METADATA_H__ */ +#endif /* __G_TYPELIB_H__ */