tools/gidlnode.c
authorPhilip Van Hoof <pvanhoof@gnome.org>
Sun, 8 Jun 2008 14:37:30 +0000 (14:37 +0000)
committerPhilip Van Hoof <pvanhoof@src.gnome.org>
Sun, 8 Jun 2008 14:37:30 +0000 (14:37 +0000)
2008-06-08  Philip Van Hoof  <pvanhoof@gnome.org>

        * 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

14 files changed:
ChangeLog
girepository/Makefile.am
girepository/ginfo.c
girepository/ginvoke.c
girepository/girepository.c
girepository/girepository.h
girepository/gtypelib.c [moved from girepository/gmetadata.c with 80% similarity]
girepository/gtypelib.h [moved from girepository/gmetadata.h with 94% similarity]
tools/compiler.c
tools/generate.c
tools/gidlmodule.c
tools/gidlmodule.h
tools/gidlnode.c
tools/gidlparser.c

index 64447ad..c1f4dae 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,23 @@
+2008-06-08  Philip Van Hoof  <pvanhoof@gnome.org>
+
+       * 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
+
 2008-06-07  Johan Dahlin  <jdahlin@async.com.br>
 
        * giscanner/xmlwriter.py:
index e95b3cd..9dd5e54 100644 (file)
@@ -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)
index 4a2568e..c54b392 100644 (file)
@@ -24,7 +24,7 @@
 #include <glib-object.h>
 
 #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
index 26f3c58..d283b69 100644 (file)
@@ -24,7 +24,7 @@
 #include <glib-object.h>
 
 #include "girepository.h"
-#include "gmetadata.h"
+#include "gtypelib.h"
 #include "config.h"
 
 GQuark
index c9b3b68..c2b119c 100644 (file)
@@ -26,7 +26,7 @@
 #include <glib/gprintf.h>
 #include <gmodule.h>
 #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,
index fa625aa..ae5e2c5 100644 (file)
@@ -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);
 
 
similarity index 80%
rename from girepository/gmetadata.c
rename to girepository/gtypelib.c
index c33e6bf..3df1918 100644 (file)
@@ -24,7 +24,7 @@
 
 #include <glib.h>
 
-#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);
 }
similarity index 94%
rename from girepository/gmetadata.h
rename to girepository/gtypelib.h
index a22ee23..352c3a8 100644 (file)
@@ -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 <gmodule.h>
 #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__ */
 
index 6ab0fa5..68fc3ca 100644 (file)
@@ -27,7 +27,7 @@
 #include "gidlmodule.h"
 #include "gidlnode.h"
 #include "gidlparser.h"
-#include "gmetadata.h"
+#include "gtypelib.h"
 
 gboolean raw = FALSE;
 gboolean no_init = FALSE;
@@ -39,7 +39,7 @@ gboolean debug = FALSE;
 gboolean verbose = FALSE;
 
 static gchar *
-format_output (GMetadata *metadata)
+format_output (GTypelib *metadata)
 {
   GString *result;
   gint i;
@@ -49,7 +49,7 @@ format_output (GMetadata *metadata)
   g_string_append_printf (result, "#include <stdlib.h>\n");
   g_string_append_printf (result, "#include <girepository.h>\n\n");
   
-  g_string_append_printf (result, "const unsigned char _G_METADATA[] = \n{");
+  g_string_append_printf (result, "const unsigned char _G_TYPELIB[] = \n{");
 
   for (i = 0; i < metadata->len; i++)
     {
@@ -63,7 +63,7 @@ format_output (GMetadata *metadata)
     }
 
   g_string_append_printf (result, "\n};\n\n");
-  g_string_append_printf (result, "const gsize _G_METADATA_SIZE = %u;\n\n",
+  g_string_append_printf (result, "const gsize _G_TYPELIB_SIZE = %u;\n\n",
                          (guint)metadata->len);
 
   if (!no_init)
@@ -72,8 +72,8 @@ format_output (GMetadata *metadata)
                              "__attribute__((constructor)) void\n"
                              "register_metadata (void)\n"
                              "{\n"
-                             "\tGMetadata *metadata;\n"
-                             "\tmetadata = g_metadata_new_from_const_memory (_G_METADATA, _G_METADATA_SIZE);\n"
+                             "\tGTypelib *metadata;\n"
+                             "\tmetadata = g_typelib_new_from_const_memory (_G_TYPELIB, _G_TYPELIB_SIZE);\n"
                              "\tg_irepository_register (NULL, metadata);\n"
                              "}\n\n");
 
@@ -83,7 +83,7 @@ format_output (GMetadata *metadata)
                              "{\n"
                              "\tg_irepository_unregister (NULL, \"%s\");\n"
                              "}\n",
-                             g_metadata_get_namespace (metadata));
+                             g_typelib_get_namespace (metadata));
     }
 
   return g_string_free (result, FALSE);
@@ -91,7 +91,7 @@ format_output (GMetadata *metadata)
 
 static void
 write_out_metadata (gchar *prefix,
-                   GMetadata *metadata)
+                   GTypelib *metadata)
 {
   FILE *file;
 
@@ -167,7 +167,7 @@ main (int argc, char ** argv)
   GError *error = NULL;
   GList *c, *m, *modules; 
   gint i;
-  g_metadata_check_sanity ();
+  g_typelib_check_sanity ();
 
   context = g_option_context_new ("");
   g_option_context_add_main_entries (context, options, NULL);
@@ -210,7 +210,7 @@ main (int argc, char ** argv)
     {
       GIdlModule *module = m->data;
       gchar *prefix;
-      GMetadata *metadata;
+      GTypelib *metadata;
 
       if (mname && strcmp (mname, module->name) != 0)
        continue;
@@ -227,7 +227,7 @@ main (int argc, char ** argv)
 
          continue;
        }
-      if (!g_metadata_validate (metadata, &error))
+      if (!g_typelib_validate (metadata, &error))
        g_error ("Invalid metadata for module '%s': %s", 
                 module->name, error->message);
 
@@ -237,7 +237,7 @@ main (int argc, char ** argv)
        prefix = NULL;
 
       write_out_metadata (prefix, metadata);
-      g_metadata_free (metadata);
+      g_typelib_free (metadata);
       metadata = NULL;
 
       /* when writing to stdout, stop after the first module */
index 8c5c3b3..3e057ef 100644 (file)
@@ -28,7 +28,7 @@
 #include <glib/gstdio.h>
 
 #include "girepository.h"
-#include "gmetadata.h"
+#include "gtypelib.h"
 
 /* FIXME: Avoid global */
 static gchar *output = NULL;
@@ -1103,14 +1103,14 @@ load_metadata (const gchar  *filename,
   GModule *handle; 
 
   handle = g_module_open (filename, G_MODULE_BIND_LOCAL|G_MODULE_BIND_LAZY);
-  if (!g_module_symbol (handle, "_G_METADATA", (gpointer *) &metadata))
+  if (!g_module_symbol (handle, "_G_TYPELIB", (gpointer *) &metadata))
     {
       g_printerr ("Could not load metadata from '%s': %s\n", 
                  filename, g_module_error ());
       return NULL;
     }
   
-  if (!g_module_symbol (handle, "_G_METADATA_SIZE", (gpointer *) &metadata_size))
+  if (!g_module_symbol (handle, "_G_TYPELIB_SIZE", (gpointer *) &metadata_size))
     {
       g_printerr ("Could not load metadata from '%s': %s\n", 
                  filename, g_module_error ());
@@ -1134,7 +1134,7 @@ main (int argc, char *argv[])
   GError *error = NULL;
   gboolean needs_prefix;
   gint i;
-  GMetadata *data;
+  GTypelib *data;
   GOptionEntry options[] = 
     {
       { "raw", 0, 0, G_OPTION_ARG_NONE, &raw, "handle raw metadata", NULL },
@@ -1145,7 +1145,7 @@ main (int argc, char *argv[])
 
   g_type_init ();
 
-  g_metadata_check_sanity ();
+  g_typelib_check_sanity ();
 
   context = g_option_context_new ("");
   g_option_context_add_main_entries (context, options, NULL);
@@ -1190,10 +1190,10 @@ main (int argc, char *argv[])
       else
        needs_prefix = FALSE;
 
-      data = g_metadata_new_from_const_memory (metadata, len);
+      data = g_typelib_new_from_const_memory (metadata, len);
       {
         GError *error = NULL;
-        if (!g_metadata_validate (data, &error)) {
+        if (!g_typelib_validate (data, &error)) {
           g_printerr ("metadata not valid: %s\n", error->message);
           g_clear_error (&error);
         }
@@ -1201,7 +1201,7 @@ main (int argc, char *argv[])
       g_irepository_register (g_irepository_get_default (), data);
       write_repository (g_irepository_get_default (), needs_prefix);
       g_irepository_unregister (g_irepository_get_default (),
-                                g_metadata_get_namespace (data));
+                                g_typelib_get_namespace (data));
 
       if (dlhandle)
        {
index d17a249..d543346 100644 (file)
@@ -60,7 +60,7 @@ g_idl_module_free (GIdlModule *module)
   g_free (module);
 }
 
-GMetadata *
+GTypelib *
 g_idl_module_build_metadata (GIdlModule  *module,
                             GList       *modules)
 {
@@ -210,6 +210,6 @@ g_idl_module_build_metadata (GIdlModule  *module,
 
   metadata = g_realloc (data, offset2);
   length = header->size = offset2;
-  return g_metadata_new_from_memory (metadata, length);
+  return g_typelib_new_from_memory (metadata, length);
 }
 
index 3564a75..0814ed5 100644 (file)
@@ -22,7 +22,7 @@
 #define __G_IDL_MODULE_H__
 
 #include <glib.h>
-#include "gmetadata.h"
+#include "gtypelib.h"
 
 G_BEGIN_DECLS
 
@@ -40,7 +40,7 @@ GIdlModule *g_idl_module_new            (const gchar *name,
                                          const gchar *module_filename);
 void        g_idl_module_free           (GIdlModule  *module);
 
-GMetadata * g_idl_module_build_metadata (GIdlModule  *module,
+GTypelib * g_idl_module_build_metadata (GIdlModule  *module,
                                         GList       *modules);
 
 G_END_DECLS
index 0e240b2..09f3f07 100644 (file)
@@ -24,7 +24,7 @@
 
 #include "gidlmodule.h"
 #include "gidlnode.h"
-#include "gmetadata.h"
+#include "gtypelib.h"
 
 static gulong string_count = 0;
 static gulong unique_string_count = 0;
index 6a76b2c..52b3d78 100644 (file)
@@ -25,7 +25,7 @@
 #include <glib.h>
 #include "gidlmodule.h"
 #include "gidlnode.h"
-#include "gmetadata.h"
+#include "gtypelib.h"
 
 typedef enum
 {