bzr branch
http://gegoxaren.bato24.eu/bzr/gpump/trunk
|
20
by Gustav Hatvigsson
* Added a singeltonian class to keep settings data in. |
1 |
/* c-basic-offset: 2; tab-width: 2; indent-tabs-mode: nil
|
2 |
* vi: set shiftwidth=2 tabstop=2 expandtab:
|
|
3 |
* :indentSize=2:tabSize=2:noTabs=true:
|
|
4 |
*/
|
|
5 |
||
6 |
#ifndef __H_GPUMP_SETTINGS_DATA__
|
|
7 |
#define __H_GPUMP_SETTINGS_DATA__
|
|
8 |
||
9 |
#include <gtk/gtk.h> |
|
10 |
#include <gio/gio.h> |
|
11 |
#include <rest/oauth2-proxy.h> |
|
12 |
#include <rest/rest-proxy-call.h> |
|
13 |
#include <stdlib.h> |
|
14 |
#include <string.h> |
|
15 |
#include <glib/gi18n.h> |
|
16 |
||
17 |
#define GPUMP_TYPE_SETTINGS_DATA (gpump_settings_data_get_type ())
|
|
18 |
#define GPUMP_SETTINGS_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPUMP_TYPE_SETTINGS_DATA, GPumpSettingsData))
|
|
19 |
#define GPUMP_SETTINGS_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPUMP_TYPE_SETTINGS_DATA, GPumpSettingsDataClass))
|
|
20 |
#define GPUMP_IS_SETTINGS_DATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPUMP_TYPE_SETTINGS_DATA))
|
|
21 |
#define GPUMP_IS_SETTINGS_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GPUMP_TYPE_SETTINGS_DATA))
|
|
22 |
#define GPUMP_SETTINGS_DATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPUMP_TYPE_SETTINGS_DATA, GPumpSettingsDataClass))
|
|
23 |
||
24 |
typedef struct GPumpSettingsData GPumpSettingsData; |
|
25 |
typedef struct GPumpSettingsDataClass GPumpSettingsDataClass; |
|
26 |
typedef struct GPumpSettingsDataPrivate GPumpSettingsDataPrivate; |
|
27 |
||
28 |
/*
|
|
29 |
* NAMESPACE: gpump_*
|
|
30 |
*
|
|
31 |
* CLASS NAMESPACE: gpump_settings_data_*
|
|
32 |
*/
|
|
33 |
||
34 |
/**
|
|
35 |
* A class that holds the settings data.
|
|
36 |
*
|
|
37 |
* the reason for this is to split data and wiev, simplefying the data modle
|
|
38 |
* and what not.
|
|
39 |
*
|
|
40 |
* This is a singletonian class, to get the instance use the provided
|
|
41 |
* gpump_settings_data_get_default () function.
|
|
42 |
*
|
|
43 |
* Pleace note that this is not thread safe, and should be used with care.
|
|
44 |
*/
|
|
45 |
struct GPumpSettingsData { |
|
46 |
GObject parent; |
|
47 |
|
|
48 |
/* org.gego.gpump.ui */ |
|
49 |
GSettings * ui_settings; |
|
50 |
/* org.gego.gpump */ |
|
51 |
GSettings * gpump_settings; |
|
52 |
};
|
|
53 |
||
54 |
struct GPumpSettingsDataClass { |
|
55 |
GObjectClass parent; |
|
56 |
};
|
|
57 |
||
58 |
||
59 |
/**
|
|
60 |
* Create a GPumpSettingsData instance if it does not already exist,
|
|
61 |
* if it exists return a pointer to the object.
|
|
62 |
*
|
|
63 |
* The object's reference count is incleased every time this is called, so
|
|
64 |
* you need to unref it whet you are done with it.
|
|
65 |
*/
|
|
66 |
GPumpSettingsData * gpump_settings_data_get_default (); |
|
67 |
||
68 |
||
69 |
#endif /* #ifndef __H_GPUMP_SETTINGS_DATA__*/ |