2
#include "GPumpSettingsData.h"
4
G_DEFINE_TYPE (GPumpSettingsData, gpump_settings_data, G_TYPE_OBJECT)
7
/* * Override the default constructer *****************************************/
8
GObject * _constructor (GType type,
9
guint n_construct_params,
10
GObjectConstructParam * construct_params);
13
/******************************************************************************/
14
GPumpSettingsData * gpump_settings_data_get_default () {
15
GPumpSettingsData * self = g_object_new (GPUMP_TYPE_SETTINGS_DATA,
21
void gpump_settings_data_init (GPumpSettingsData * self) {
22
g_print ("Init GPumpSettingsData\n");
23
self->ui_settings = g_settings_new ("org.gego.gpump.ui");
24
self->gpump_settings = g_settings_new ("org.gego.gpump");
28
void gpump_settings_data_class_init (GPumpSettingsDataClass * klass) {
29
GObjectClass * parent = G_OBJECT_CLASS (klass);
31
parent->constructor = _constructor;
34
/* * Implementation of the constructor ****************************************
36
* See: blogs.gnome.org/xclaesse/2010/02/11/how-to-make-a-gobject-singleton/
37
* for more information.
39
GObject * _constructor (GType type,
40
guint n_construct_params,
41
GObjectConstructParam * construct_params) {
42
static GObject * self = NULL;
45
g_mutex_lock (&mutex);
47
self = G_OBJECT_CLASS (gpump_settings_data_parent_class)->constructor (
48
type, n_construct_params, construct_params);
49
g_object_add_weak_pointer (self, (gpointer) &self);
50
g_mutex_unlock (&mutex);
53
g_mutex_unlock (&mutex);
54
return g_object_ref (self);