summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohan Dahlin <johan@gnome.org>2010-06-06 19:28:35 -0300
committerJohan Dahlin <johan@gnome.org>2010-06-06 19:28:35 -0300
commit553097d46144cef1b2e3a1315581c38d16fb73f4 (patch)
tree19c15d2c623b1404c152d456e831d3f10e335d06
parent7d82920e00359c22fba826d0a0113f28db06eded (diff)
downloadgobject-introspection-553097d46144cef1b2e3a1315581c38d16fb73f4.tar.gz
[girepository] Move GIRegisteredTypeInfo out of ginfo.ch
-rw-r--r--girepository/Makefile.am6
-rw-r--r--girepository/ginfo.c48
-rw-r--r--girepository/giregisteredtypeinfo.c75
-rw-r--r--girepository/giregisteredtypeinfo.h51
-rw-r--r--girepository/girepository.h14
5 files changed, 131 insertions, 63 deletions
diff --git a/girepository/Makefile.am b/girepository/Makefile.am
index 8fccc93b..34cdfabf 100644
--- a/girepository/Makefile.am
+++ b/girepository/Makefile.am
@@ -7,6 +7,7 @@ girepo_HEADERS = \
gierrordomaininfo.h \
gifieldinfo.h \
gifunctioninfo.h \
+ giregisteredtypeinfo.h \
girepository.h \
girffi.h \
gitypeinfo.h \
@@ -27,15 +28,16 @@ libgirepository_1_0_la_SOURCES = \
gifunctioninfo.c \
ginfo.c \
ginvoke.c \
+ giregisteredtypeinfo.c \
girepository.c \
girepository-private.h \
girffi.c \
girffi.h \
girffi-private.h \
- glib-compat.h \
gitypeinfo.c \
gitypelib.c \
- gitypelib-internal.h
+ gitypelib-internal.h \
+ glib-compat.h
libgirepository_1_0_la_CPPFLAGS = $(GIREPO_CFLAGS)
libgirepository_1_0_la_LIBADD = $(GIREPO_LIBS)
diff --git a/girepository/ginfo.c b/girepository/ginfo.c
index 825ad5d6..5048431a 100644
--- a/girepository/ginfo.c
+++ b/girepository/ginfo.c
@@ -28,54 +28,6 @@
#include "gitypelib-internal.h"
#include "girepository-private.h"
-/* GIRegisteredTypeInfo functions */
-const gchar *
-g_registered_type_info_get_type_name (GIRegisteredTypeInfo *info)
-{
- GIRealInfo *rinfo = (GIRealInfo *)info;
- RegisteredTypeBlob *blob = (RegisteredTypeBlob *)&rinfo->typelib->data[rinfo->offset];
-
- if (blob->gtype_name)
- return g_typelib_get_string (rinfo->typelib, blob->gtype_name);
-
- return NULL;
-}
-
-const gchar *
-g_registered_type_info_get_type_init (GIRegisteredTypeInfo *info)
-{
- GIRealInfo *rinfo = (GIRealInfo *)info;
- RegisteredTypeBlob *blob = (RegisteredTypeBlob *)&rinfo->typelib->data[rinfo->offset];
-
- if (blob->gtype_init)
- return g_typelib_get_string (rinfo->typelib, blob->gtype_init);
-
- return NULL;
-}
-
-GType
-g_registered_type_info_get_g_type (GIRegisteredTypeInfo *info)
-{
- const char *type_init;
- GType (* get_type_func) (void);
- GIRealInfo *rinfo = (GIRealInfo*)info;
-
- type_init = g_registered_type_info_get_type_init (info);
-
- if (type_init == NULL)
- return G_TYPE_NONE;
- else if (!strcmp (type_init, "intern"))
- return G_TYPE_OBJECT;
-
- get_type_func = NULL;
- if (!g_typelib_symbol (rinfo->typelib,
- type_init,
- (void**) &get_type_func))
- return G_TYPE_NONE;
-
- return (* get_type_func) ();
-}
-
/* GIStructInfo functions */
gint
g_struct_info_get_n_fields (GIStructInfo *info)
diff --git a/girepository/giregisteredtypeinfo.c b/girepository/giregisteredtypeinfo.c
new file mode 100644
index 00000000..944444f0
--- /dev/null
+++ b/girepository/giregisteredtypeinfo.c
@@ -0,0 +1,75 @@
+/* GObject introspection: Registered Type implementation
+ *
+ * Copyright (C) 2005 Matthias Clasen
+ * Copyright (C) 2008,2009 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <glib.h>
+
+#include <girepository.h>
+#include "girepository-private.h"
+#include "gitypelib-internal.h"
+#include "girffi.h"
+
+const gchar *
+g_registered_type_info_get_type_name (GIRegisteredTypeInfo *info)
+{
+ GIRealInfo *rinfo = (GIRealInfo *)info;
+ RegisteredTypeBlob *blob = (RegisteredTypeBlob *)&rinfo->typelib->data[rinfo->offset];
+
+ if (blob->gtype_name)
+ return g_typelib_get_string (rinfo->typelib, blob->gtype_name);
+
+ return NULL;
+}
+
+const gchar *
+g_registered_type_info_get_type_init (GIRegisteredTypeInfo *info)
+{
+ GIRealInfo *rinfo = (GIRealInfo *)info;
+ RegisteredTypeBlob *blob = (RegisteredTypeBlob *)&rinfo->typelib->data[rinfo->offset];
+
+ if (blob->gtype_init)
+ return g_typelib_get_string (rinfo->typelib, blob->gtype_init);
+
+ return NULL;
+}
+
+GType
+g_registered_type_info_get_g_type (GIRegisteredTypeInfo *info)
+{
+ const char *type_init;
+ GType (* get_type_func) (void);
+ GIRealInfo *rinfo = (GIRealInfo*)info;
+
+ type_init = g_registered_type_info_get_type_init (info);
+
+ if (type_init == NULL)
+ return G_TYPE_NONE;
+ else if (!strcmp (type_init, "intern"))
+ return G_TYPE_OBJECT;
+
+ get_type_func = NULL;
+ if (!g_typelib_symbol (rinfo->typelib,
+ type_init,
+ (void**) &get_type_func))
+ return G_TYPE_NONE;
+
+ return (* get_type_func) ();
+}
+
diff --git a/girepository/giregisteredtypeinfo.h b/girepository/giregisteredtypeinfo.h
new file mode 100644
index 00000000..8a633214
--- /dev/null
+++ b/girepository/giregisteredtypeinfo.h
@@ -0,0 +1,51 @@
+/* GObject introspection: Registered Type
+ *
+ * Copyright (C) 2005 Matthias Clasen
+ * Copyright (C) 2008,2009 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GIREGISTEREDTYPEINFO_H__
+#define __GIREGISTEREDTYPEINFO_H__
+
+#if !defined (__GIREPOSITORY_H_INSIDE__) && !defined (GI_COMPILATION)
+#error "Only <girepository.h> can be included directly."
+#endif
+
+#include <glib-object.h>
+#include <gitypes.h>
+
+G_BEGIN_DECLS
+
+/* GIRegisteredTypeInfo */
+
+#define GI_IS_REGISTERED_TYPE_INFO(info) \
+ ((g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_ENUM) || \
+ (g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_INTERFACE) || \
+ (g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_OBJECT) || \
+ (g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_STRUCT) || \
+ (g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_UNION))
+
+const gchar * g_registered_type_info_get_type_name (GIRegisteredTypeInfo *info);
+const gchar * g_registered_type_info_get_type_init (GIRegisteredTypeInfo *info);
+GType g_registered_type_info_get_g_type (GIRegisteredTypeInfo *info);
+
+G_END_DECLS
+
+
+#endif /* __GIREGISTEREDTYPEINFO_H__ */
+
diff --git a/girepository/girepository.h b/girepository/girepository.h
index d0384593..47d02b59 100644
--- a/girepository/girepository.h
+++ b/girepository/girepository.h
@@ -33,6 +33,7 @@
#include <gierrordomaininfo.h>
#include <gifieldinfo.h>
#include <gifunctioninfo.h>
+#include <giregisteredtypeinfo.h>
#include <gitypeinfo.h>
#include <gitypelib.h>
#include <gitypes.h>
@@ -191,19 +192,6 @@ gsize g_struct_info_get_alignment (GIStructInfo *info);
gboolean g_struct_info_is_gtype_struct (GIStructInfo *info);
gboolean g_struct_info_is_foreign (GIStructInfo *info);
-/* GIRegisteredTypeInfo */
-
-#define GI_IS_REGISTERED_TYPE_INFO(info) \
- ((g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_ENUM) || \
- (g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_INTERFACE) || \
- (g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_OBJECT) || \
- (g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_STRUCT) || \
- (g_base_info_get_type((GIBaseInfo*)info) == GI_INFO_TYPE_UNION))
-
-const gchar * g_registered_type_info_get_type_name (GIRegisteredTypeInfo *info);
-const gchar * g_registered_type_info_get_type_init (GIRegisteredTypeInfo *info);
-GType g_registered_type_info_get_g_type (GIRegisteredTypeInfo *info);
-
/* GIObjectInfo */
#define GI_IS_OBJECT_INFO(info) \