aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorChristian Persch <chpe@cvs.gnome.org>2005-01-16 04:08:38 +0800
committerChristian Persch <chpe@src.gnome.org>2005-01-16 04:08:38 +0800
commitda190dddf2ce2f71b2fe0a32e21d93347b6e7abc (patch)
tree83d9a7f70af865da24223ab1cf03e3ea1e5c46b2 /lib
parent1e95d209e75a03c8340726a8c088d4d6abfed752 (diff)
downloadgsoc2013-epiphany-da190dddf2ce2f71b2fe0a32e21d93347b6e7abc.tar.gz
gsoc2013-epiphany-da190dddf2ce2f71b2fe0a32e21d93347b6e7abc.tar.zst
gsoc2013-epiphany-da190dddf2ce2f71b2fe0a32e21d93347b6e7abc.zip
Add boxed type for EphyNode.
2005-01-15 Christian Persch <chpe@cvs.gnome.org> * lib/ephy-node.c: (ephy_node_get_type): * lib/ephy-node.h: Add boxed type for EphyNode.
Diffstat (limited to 'lib')
-rw-r--r--lib/ephy-node.c15
-rw-r--r--lib/ephy-node.h5
2 files changed, 18 insertions, 2 deletions
diff --git a/lib/ephy-node.c b/lib/ephy-node.c
index af264cbe6..41dbe57de 100644
--- a/lib/ephy-node.c
+++ b/lib/ephy-node.c
@@ -1271,3 +1271,18 @@ ephy_node_signal_disconnect (EphyNode *node,
node->invalidated_signals++;
}
}
+
+GType
+ephy_node_get_type (void)
+{
+ static GType type = 0;
+
+ if (G_UNLIKELY (type == 0))
+ {
+ type = g_boxed_type_register_static ("EphyNode",
+ (GBoxedCopyFunc) ephy_node_ref,
+ (GBoxedFreeFunc) ephy_node_unref);
+ }
+
+ return type;
+}
diff --git a/lib/ephy-node.h b/lib/ephy-node.h
index 34ac0d2ec..7ac63b8eb 100644
--- a/lib/ephy-node.h
+++ b/lib/ephy-node.h
@@ -28,8 +28,7 @@
G_BEGIN_DECLS
-/* convenience macro to check node validity */
-
+#define EPHY_TYPE_NODE (ephy_node_get_type ())
#define EPHY_IS_NODE(o) (o != NULL)
typedef struct _EphyNode EphyNode;
@@ -49,6 +48,8 @@ typedef enum
typedef void (*EphyNodeCallback) (EphyNode *node, ...);
+GType ephy_node_get_type (void) G_GNUC_CONST;
+
EphyNode *ephy_node_new (EphyNodeDb *db);
EphyNode *ephy_node_new_with_id (EphyNodeDb *db,