Updating branch refs/heads/master
to 321ff87ecd1cdbb9e9c0d4b6cc9c16b7c8f0b4e1 (commit)
from 470608d5532e453ea92ea4237c0877302d23d724 (commit)
commit 321ff87ecd1cdbb9e9c0d4b6cc9c16b7c8f0b4e1
Author: Nick Schermer <[email protected]>
Date: Sun Aug 16 12:18:26 2009 +0200
Use G_DEFINE_TYPE where possible and make the iface types thread safe.
garcon/garcon-menu-directory.c | 25 +-----------------------
garcon/garcon-menu-element.c | 24 +++++++---------------
garcon/garcon-menu-item-cache.c | 25 +-----------------------
garcon/garcon-menu-item-pool.c | 25 +-----------------------
garcon/garcon-menu-item.c | 35 +--------------------------------
garcon/garcon-menu-merger.c | 35 +--------------------------------
garcon/garcon-menu-node.c | 25 +-----------------------
garcon/garcon-menu-parser.c | 35 +--------------------------------
garcon/garcon-menu-separator.c | 35 +--------------------------------
garcon/garcon-menu-tree-provider.c | 11 ++++++---
garcon/garcon-menu.c | 37 ++---------------------------------
11 files changed, 30 insertions(+), 282 deletions(-)
diff --git a/garcon/garcon-menu-directory.c b/garcon/garcon-menu-directory.c
index f387535..4fa54b0 100644
--- a/garcon/garcon-menu-directory.c
+++ b/garcon/garcon-menu-directory.c
@@ -79,8 +79,6 @@ enum
-static void garcon_menu_directory_class_init (GarconMenuDirectoryClass
*klass);
-static void garcon_menu_directory_init (GarconMenuDirectory
*directory);
static void garcon_menu_directory_constructed (GObject
*object);
static void garcon_menu_directory_finalize (GObject
*object);
static void garcon_menu_directory_get_property (GObject
*object,
@@ -138,28 +136,7 @@ struct _GarconMenuDirectory
-static GObjectClass *garcon_menu_directory_parent_class = NULL;
-
-
-
-GType
-garcon_menu_directory_get_type (void)
-{
- static GType type = G_TYPE_INVALID;
-
- if (G_UNLIKELY (type == G_TYPE_INVALID))
- {
- type = g_type_register_static_simple (G_TYPE_OBJECT,
- "GarconMenuDirectory",
- sizeof (GarconMenuDirectoryClass),
- (GClassInitFunc)
garcon_menu_directory_class_init,
- sizeof (GarconMenuDirectory),
- (GInstanceInitFunc)
garcon_menu_directory_init,
- 0);
- }
-
- return type;
-}
+G_DEFINE_TYPE (GarconMenuDirectory, garcon_menu_directory, G_TYPE_OBJECT)
diff --git a/garcon/garcon-menu-element.c b/garcon/garcon-menu-element.c
index 2e595c2..7ab8b1a 100644
--- a/garcon/garcon-menu-element.c
+++ b/garcon/garcon-menu-element.c
@@ -26,36 +26,28 @@
-static void garcon_menu_element_class_init (GarconMenuElementIface *klass);
-
-
-
GType
garcon_menu_element_get_type (void)
{
- static GType type = G_TYPE_INVALID;
+ static volatile gsize type__volatile = 0;
+ GType type;
- if (G_UNLIKELY (type == G_TYPE_INVALID))
+ if (g_once_init_enter (&type__volatile))
{
type = g_type_register_static_simple (G_TYPE_INTERFACE,
- "GarconMenuElement",
+ g_intern_static_string
("GarconMenuElement"),
sizeof (GarconMenuElementIface),
- (GClassInitFunc)
garcon_menu_element_class_init,
+ NULL,
0,
NULL,
0);
g_type_interface_add_prerequisite (type, G_TYPE_OBJECT);
- }
-
- return type;
-}
-
+ g_once_init_leave (&type__volatile, type);
+ }
-static void
-garcon_menu_element_class_init (GarconMenuElementIface *klass)
-{
+ return type__volatile;
}
diff --git a/garcon/garcon-menu-item-cache.c b/garcon/garcon-menu-item-cache.c
index 395673d..e232b35 100644
--- a/garcon/garcon-menu-item-cache.c
+++ b/garcon/garcon-menu-item-cache.c
@@ -47,8 +47,6 @@
-static void garcon_menu_item_cache_class_init (GarconMenuItemCacheClass
*klass);
-static void garcon_menu_item_cache_init (GarconMenuItemCache
*cache);
static void garcon_menu_item_cache_finalize (GObject
*object);
@@ -105,28 +103,7 @@ struct _GarconMenuItemCache
-static GObjectClass *garcon_menu_item_cache_parent_class = NULL;
-
-
-
-GType
-garcon_menu_item_cache_get_type (void)
-{
- static GType type = G_TYPE_INVALID;
-
- if (G_UNLIKELY (type == G_TYPE_INVALID))
- {
- type = g_type_register_static_simple (G_TYPE_OBJECT,
- "GarconMenuItemCache",
- sizeof (GarconMenuItemCacheClass),
- (GClassInitFunc)
garcon_menu_item_cache_class_init,
- sizeof (GarconMenuItemCache),
- (GInstanceInitFunc)
garcon_menu_item_cache_init,
- 0);
- }
-
- return type;
-}
+G_DEFINE_TYPE (GarconMenuItemCache, garcon_menu_item_cache, G_TYPE_OBJECT)
diff --git a/garcon/garcon-menu-item-pool.c b/garcon/garcon-menu-item-pool.c
index e0aee1e..957cef1 100644
--- a/garcon/garcon-menu-item-pool.c
+++ b/garcon/garcon-menu-item-pool.c
@@ -31,8 +31,6 @@
-static void garcon_menu_item_pool_class_init (GarconMenuItemPoolClass
*klass);
-static void garcon_menu_item_pool_init (GarconMenuItemPool
*pool);
static void garcon_menu_item_pool_finalize (GObject
*object);
static gboolean garcon_menu_item_pool_filter_exclude (const gchar
*desktop_id,
GarconMenuItem
*item,
@@ -61,28 +59,7 @@ struct _GarconMenuItemPool
-static GObjectClass *garcon_menu_item_pool_parent_class = NULL;
-
-
-
-GType
-garcon_menu_item_pool_get_type (void)
-{
- static GType type = G_TYPE_INVALID;
-
- if (G_UNLIKELY (type == G_TYPE_INVALID))
- {
- type = g_type_register_static_simple (G_TYPE_OBJECT,
- "GarconMenuItemPool",
- sizeof (GarconMenuItemPoolClass),
- (GClassInitFunc)
garcon_menu_item_pool_class_init,
- sizeof (GarconMenuItemPool),
- (GInstanceInitFunc)
garcon_menu_item_pool_init,
- 0);
- }
-
- return type;
-}
+G_DEFINE_TYPE (GarconMenuItemPool, garcon_menu_item_pool, G_TYPE_OBJECT)
diff --git a/garcon/garcon-menu-item.c b/garcon/garcon-menu-item.c
index 24eb851..6bc2fa8 100644
--- a/garcon/garcon-menu-item.c
+++ b/garcon/garcon-menu-item.c
@@ -54,9 +54,7 @@ enum
-static void garcon_menu_item_class_init
(GarconMenuItemClass *klass);
static void garcon_menu_item_element_init
(GarconMenuElementIface *iface);
-static void garcon_menu_item_init
(GarconMenuItem *item);
static void garcon_menu_item_finalize (GObject
*object);
static void garcon_menu_item_get_property (GObject
*object,
guint
prop_id,
@@ -142,37 +140,8 @@ struct _GarconMenuItem
-static GObjectClass *garcon_menu_item_parent_class = NULL;
-
-
-
-GType
-garcon_menu_item_get_type (void)
-{
- static GType type = G_TYPE_INVALID;
-
- if (G_UNLIKELY (type == G_TYPE_INVALID))
- {
- static const GInterfaceInfo element_info =
- {
- (GInterfaceInitFunc) garcon_menu_item_element_init,
- NULL,
- NULL,
- };
-
- type = g_type_register_static_simple (G_TYPE_OBJECT,
- "GarconMenuItem",
- sizeof (GarconMenuItemClass),
- (GClassInitFunc)
garcon_menu_item_class_init,
- sizeof (GarconMenuItem),
- (GInstanceInitFunc)
garcon_menu_item_init,
- 0);
-
- g_type_add_interface_static (type, GARCON_TYPE_MENU_ELEMENT,
&element_info);
- }
-
- return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GarconMenuItem, garcon_menu_item, G_TYPE_OBJECT,
+ G_IMPLEMENT_INTERFACE (GARCON_TYPE_MENU_ELEMENT,
garcon_menu_item_element_init))
diff --git a/garcon/garcon-menu-merger.c b/garcon/garcon-menu-merger.c
index 982c467..ac153d6 100644
--- a/garcon/garcon-menu-merger.c
+++ b/garcon/garcon-menu-merger.c
@@ -60,9 +60,7 @@ enum
-static void garcon_menu_merger_class_init
(GarconMenuMergerClass *klass);
static void garcon_menu_merger_provider_init
(GarconMenuTreeProviderIface *iface);
-static void garcon_menu_merger_init (GarconMenuMerger
*merger);
static void garcon_menu_merger_constructed (GObject
*object);
static void garcon_menu_merger_finalize (GObject
*object);
static void garcon_menu_merger_get_property (GObject
*object,
@@ -102,37 +100,8 @@ struct _GarconMenuMergerPrivate
-static GObjectClass *garcon_menu_merger_parent_class = NULL;
-
-
-
-GType
-garcon_menu_merger_get_type (void)
-{
- static GType type = G_TYPE_INVALID;
-
- if (G_UNLIKELY (type == G_TYPE_INVALID))
- {
- static const GInterfaceInfo provider_info =
- {
- (GInterfaceInitFunc) garcon_menu_merger_provider_init,
- NULL,
- NULL,
- };
-
- type = g_type_register_static_simple (G_TYPE_OBJECT,
- "GarconMenuMerger",
- sizeof (GarconMenuMergerClass),
- (GClassInitFunc)
garcon_menu_merger_class_init,
- sizeof (GarconMenuMerger),
- (GInstanceInitFunc)
garcon_menu_merger_init,
- 0);
-
- g_type_add_interface_static (type, GARCON_TYPE_MENU_TREE_PROVIDER,
&provider_info);
- }
-
- return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GarconMenuMerger, garcon_menu_merger, G_TYPE_OBJECT,
+ G_IMPLEMENT_INTERFACE (GARCON_TYPE_MENU_TREE_PROVIDER,
garcon_menu_merger_provider_init))
diff --git a/garcon/garcon-menu-node.c b/garcon/garcon-menu-node.c
index d4a247a..8faf52d 100644
--- a/garcon/garcon-menu-node.c
+++ b/garcon/garcon-menu-node.c
@@ -39,8 +39,6 @@ enum
-static void garcon_menu_node_class_init (GarconMenuNodeClass *klass);
-static void garcon_menu_node_init (GarconMenuNode *node);
static void garcon_menu_node_finalize (GObject *object);
static void garcon_menu_node_get_property (GObject *object,
guint prop_id,
@@ -80,10 +78,6 @@ struct _GarconMenuNode
-static GObjectClass *garcon_menu_node_parent_class = NULL;
-
-
-
GType
garcon_menu_node_type_get_type (void)
{
@@ -132,24 +126,7 @@ garcon_menu_node_type_get_type (void)
-GType
-garcon_menu_node_get_type (void)
-{
- static GType type = G_TYPE_INVALID;
-
- if (G_UNLIKELY (type == G_TYPE_INVALID))
- {
- type = g_type_register_static_simple (G_TYPE_OBJECT,
- "GarconMenuNode",
- sizeof (GarconMenuNodeClass),
- (GClassInitFunc)
garcon_menu_node_class_init,
- sizeof (GarconMenuNode),
- (GInstanceInitFunc)
garcon_menu_node_init,
- 0);
- }
-
- return type;
-}
+G_DEFINE_TYPE (GarconMenuNode, garcon_menu_node, G_TYPE_OBJECT)
diff --git a/garcon/garcon-menu-parser.c b/garcon/garcon-menu-parser.c
index 31561c8..a10104a 100644
--- a/garcon/garcon-menu-parser.c
+++ b/garcon/garcon-menu-parser.c
@@ -88,9 +88,7 @@ enum
-static void garcon_menu_parser_class_init (GarconMenuParserClass
*klass);
static void garcon_menu_parser_provider_init (GarconMenuTreeProviderIface
*iface);
-static void garcon_menu_parser_init (GarconMenuParser
*parser);
static void garcon_menu_parser_finalize (GObject
*object);
static void garcon_menu_parser_get_property (GObject
*object,
guint
prop_id,
@@ -131,37 +129,8 @@ struct _GarconMenuParserPrivate
-static GObjectClass *garcon_menu_parser_parent_class = NULL;
-
-
-
-GType
-garcon_menu_parser_get_type (void)
-{
- static GType type = G_TYPE_INVALID;
-
- if (G_UNLIKELY (type == G_TYPE_INVALID))
- {
- static const GInterfaceInfo provider_info =
- {
- (GInterfaceInitFunc) garcon_menu_parser_provider_init,
- NULL,
- NULL,
- };
-
- type = g_type_register_static_simple (G_TYPE_OBJECT,
- "GarconMenuParser",
- sizeof (GarconMenuParserClass),
- (GClassInitFunc)
garcon_menu_parser_class_init,
- sizeof (GarconMenuParser),
- (GInstanceInitFunc)
garcon_menu_parser_init,
- 0);
-
- g_type_add_interface_static (type, GARCON_TYPE_MENU_TREE_PROVIDER,
&provider_info);
- }
-
- return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GarconMenuParser, garcon_menu_parser, G_TYPE_OBJECT,
+ G_IMPLEMENT_INTERFACE (GARCON_TYPE_MENU_TREE_PROVIDER,
garcon_menu_parser_provider_init))
diff --git a/garcon/garcon-menu-separator.c b/garcon/garcon-menu-separator.c
index 469c40c..a33de80 100644
--- a/garcon/garcon-menu-separator.c
+++ b/garcon/garcon-menu-separator.c
@@ -27,9 +27,7 @@
-static void garcon_menu_separator_class_init
(GarconMenuSeparatorClass *klass);
static void garcon_menu_separator_element_init
(GarconMenuElementIface *iface);
-static void garcon_menu_separator_init
(GarconMenuSeparator *separator);
static void garcon_menu_separator_finalize
(GObject *object);
static const gchar *garcon_menu_separator_get_element_name
(GarconMenuElement *element);
@@ -80,37 +78,8 @@ struct _GarconMenuSeparator
-static GObjectClass *garcon_menu_separator_parent_class = NULL;
-
-
-
-GType
-garcon_menu_separator_get_type (void)
-{
- static GType type = G_TYPE_INVALID;
-
- if (G_UNLIKELY (type == G_TYPE_INVALID))
- {
- static const GInterfaceInfo element_info =
- {
- (GInterfaceInitFunc) garcon_menu_separator_element_init,
- NULL,
- NULL,
- };
-
- type = g_type_register_static_simple (G_TYPE_OBJECT,
- "GarconMenuSeparator",
- sizeof (GarconMenuSeparatorClass),
- (GClassInitFunc)
garcon_menu_separator_class_init,
- sizeof (GarconMenuSeparator),
- (GInstanceInitFunc)
garcon_menu_separator_init,
- 0);
-
- g_type_add_interface_static (type, GARCON_TYPE_MENU_ELEMENT,
&element_info);
- }
-
- return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GarconMenuSeparator, garcon_menu_separator,
G_TYPE_OBJECT,
+ G_IMPLEMENT_INTERFACE (GARCON_TYPE_MENU_ELEMENT,
garcon_menu_separator_element_init))
diff --git a/garcon/garcon-menu-tree-provider.c
b/garcon/garcon-menu-tree-provider.c
index 89075ad..ff8fe95 100644
--- a/garcon/garcon-menu-tree-provider.c
+++ b/garcon/garcon-menu-tree-provider.c
@@ -29,12 +29,13 @@
GType
garcon_menu_tree_provider_get_type (void)
{
- static GType type = G_TYPE_INVALID;
+ static volatile gsize type__volatile = 0;
+ GType type;
- if (G_UNLIKELY (type == G_TYPE_INVALID))
+ if (g_once_init_enter (&type__volatile))
{
type = g_type_register_static_simple (G_TYPE_INTERFACE,
- "GarconMenuTreeProvider",
+ g_intern_static_string
("GarconMenuTreeProvider"),
sizeof
(GarconMenuTreeProviderIface),
NULL,
0,
@@ -42,9 +43,11 @@ garcon_menu_tree_provider_get_type (void)
0);
g_type_interface_add_prerequisite (type, G_TYPE_OBJECT);
+
+ g_once_init_leave (&type__volatile, type);
}
- return type;
+ return type__volatile;
}
diff --git a/garcon/garcon-menu.c b/garcon/garcon-menu.c
index 50803a7..7988aa3 100644
--- a/garcon/garcon-menu.c
+++ b/garcon/garcon-menu.c
@@ -94,9 +94,7 @@ enum
-static void garcon_menu_class_init
(GarconMenuClass *klass);
static void garcon_menu_element_init
(GarconMenuElementIface *iface);
-static void garcon_menu_instance_init
(GarconMenu *menu);
static void garcon_menu_finalize
(GObject *object);
static void garcon_menu_get_property
(GObject *object,
guint
prop_id,
@@ -167,37 +165,8 @@ struct _GarconMenuPrivate
-static GObjectClass *garcon_menu_parent_class = NULL;
-
-
-
-GType
-garcon_menu_get_type (void)
-{
- static GType type = G_TYPE_INVALID;
-
- if (G_UNLIKELY (type == G_TYPE_INVALID))
- {
- static const GInterfaceInfo element_info =
- {
- (GInterfaceInitFunc) garcon_menu_element_init,
- NULL,
- NULL,
- };
-
- type = g_type_register_static_simple (G_TYPE_OBJECT,
- "GarconMenu",
- sizeof (GarconMenuClass),
- (GClassInitFunc)
garcon_menu_class_init,
- sizeof (GarconMenu),
- (GInstanceInitFunc)
garcon_menu_instance_init,
- 0);
-
- g_type_add_interface_static (type, GARCON_TYPE_MENU_ELEMENT,
&element_info);
- }
-
- return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GarconMenu, garcon_menu, G_TYPE_OBJECT,
+ G_IMPLEMENT_INTERFACE (GARCON_TYPE_MENU_ELEMENT, garcon_menu_element_init))
@@ -259,7 +228,7 @@ garcon_menu_element_init (GarconMenuElementIface *iface)
static void
-garcon_menu_instance_init (GarconMenu *menu)
+garcon_menu_init (GarconMenu *menu)
{
menu->priv = GARCON_MENU_GET_PRIVATE (menu);
menu->priv->file = NULL;
_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits