49
ccsGNOMEIntegrationGSettingsWrapperFactoryNewGSettingsWrapper (CCSGNOMEIntegrationGSettingsWrapperFactory *factory,
50
const gchar *schemaName,
51
CCSGNOMEIntegrationGSettingsChangedCallback callback,
52
CCSGNOMEValueChangeData *data,
53
CCSObjectAllocationInterface *ai)
55
return (*(GET_INTERFACE (CCSGNOMEIntegrationGSettingsWrapperFactoryInterface, factory))->newGSettingsWrapper) (factory, schemaName, callback, data, ai);
58
/* CCSGNOMEIntegrationGSettingsWrapperFactory implementation */
59
typedef struct _CCSGNOMEIntegrationGSettingsWrapperFactoryPrivate CCSGNOMEIntegrationGSettingsWrapperFactoryPrivate;
60
struct _CCSGNOMEIntegrationGSettingsWrapperFactoryPrivate
65
ccsGNOMEIntegrationGSettingsWrapperFactoryNewGSettingsWrapperDefault (CCSGNOMEIntegrationGSettingsWrapperFactory *factory,
66
const gchar *schemaName,
67
CCSGNOMEIntegrationGSettingsChangedCallback callback,
68
CCSGNOMEValueChangeData *data,
69
CCSObjectAllocationInterface *ai)
71
CCSGSettingsWrapper *wrapper = ccsGSettingsWrapperNewForSchema (schemaName, ai);
72
ccsGSettingsWrapperConnectToChangedSignal (wrapper, (GCallback) callback, data);
77
const CCSGNOMEIntegrationGSettingsWrapperFactoryInterface ccsGNOMEIntegrationGSettingsWrapperFactoryInterface =
79
ccsGNOMEIntegrationGSettingsWrapperFactoryNewGSettingsWrapperDefault
83
ccsGNOMEIntegrationGSettingsWrapperDefaultImplFree (CCSGNOMEIntegrationGSettingsWrapperFactory *wrapperFactory)
85
ccsObjectFinalize (wrapperFactory);
86
(*wrapperFactory->object.object_allocation->free_) (wrapperFactory->object.object_allocation->allocator,
90
CCSGNOMEIntegrationGSettingsWrapperFactory *
91
ccsGNOMEIntegrationGSettingsWrapperDefaultImplNew (CCSObjectAllocationInterface *ai)
93
CCSGNOMEIntegrationGSettingsWrapperFactory *wrapperFactory = (*ai->calloc_) (ai->allocator, 1, sizeof (CCSGNOMEIntegrationGSettingsWrapperFactory));
98
CCSGNOMEIntegrationGSettingsWrapperFactoryPrivate *priv = (*ai->calloc_) (ai->allocator, 1, sizeof (CCSGNOMEIntegrationGSettingsWrapperFactoryPrivate));
102
(*ai->free_) (ai->allocator, wrapperFactory);
106
ccsObjectInit (wrapperFactory, ai);
107
ccsObjectAddInterface (wrapperFactory, (const CCSInterface *) &ccsGNOMEIntegrationGSettingsWrapperFactoryInterface, GET_INTERFACE_TYPE (CCSGNOMEIntegrationGSettingsWrapperFactoryInterface));
108
ccsObjectSetPrivate (wrapperFactory, (CCSPrivate *) priv);
110
return wrapperFactory;
114
ccsGNOMEIntegrationGSettingsWrapperDefaultImpl (CCSGNOMEIntegrationGSettingsWrapperFactory *factory)
116
ccsObjectFinalize (factory);
117
(*factory->object.object_allocation->free_) (factory->object.object_allocation->allocator, factory);
120
47
typedef struct _CCSGSettingsIntegratedSettingFactoryPrivate CCSGSettingsIntegratedSettingFactoryPrivate;
122
49
struct _CCSGSettingsIntegratedSettingFactoryPrivate
124
CCSGNOMEIntegrationGSettingsWrapperFactory *wrapperFactory;
51
CCSGSettingsWrapperFactory *wrapperFactory;
125
52
GHashTable *pluginsToSettingsGSettingsWrapperQuarksHashTable;
126
53
GHashTable *quarksToGSettingsWrappersHashTable;
127
54
GHashTable *pluginsToSettingsSpecialTypesHashTable;
195
128
static GHashTable *
196
initializeGSettingsWrappers (CCSGNOMEIntegrationGSettingsWrapperFactory *factory,
197
CCSGNOMEValueChangeData *data)
129
initializeGSettingsWrappers (CCSGSettingsWrapperFactory *factory)
199
131
const CCSGSettingsWrapperIntegratedSchemasQuarks *quarks = ccsGNOMEGSettingsWrapperQuarks ();
200
132
GHashTable *quarksToGSettingsWrappers = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, ccsGSettingsWrapperUnrefWrapper);
202
134
g_hash_table_insert (quarksToGSettingsWrappers, GINT_TO_POINTER (quarks->ORG_COMPIZ_INTEGRATED),
203
ccsGNOMEIntegrationGSettingsWrapperFactoryNewGSettingsWrapper (factory,
204
g_quark_to_string (quarks->ORG_COMPIZ_INTEGRATED),
205
gnomeGSettingsValueChanged,
207
factory->object.object_allocation));
135
ccsGSettingsWrapperFactoryNewGSettingsWrapper (factory,
136
g_quark_to_string (quarks->ORG_COMPIZ_INTEGRATED),
137
factory->object.object_allocation));
208
138
g_hash_table_insert (quarksToGSettingsWrappers, GINT_TO_POINTER (quarks->ORG_GNOME_DESKTOP_WM_KEYBINDINGS),
209
ccsGNOMEIntegrationGSettingsWrapperFactoryNewGSettingsWrapper (factory,
210
g_quark_to_string (quarks->ORG_GNOME_DESKTOP_WM_KEYBINDINGS),
211
gnomeGSettingsValueChanged,
213
factory->object.object_allocation));
139
ccsGSettingsWrapperFactoryNewGSettingsWrapper (factory,
140
g_quark_to_string (quarks->ORG_GNOME_DESKTOP_WM_KEYBINDINGS),
141
factory->object.object_allocation));
214
142
g_hash_table_insert (quarksToGSettingsWrappers, GINT_TO_POINTER (quarks->ORG_GNOME_DESKTOP_WM_PREFERENCES),
215
ccsGNOMEIntegrationGSettingsWrapperFactoryNewGSettingsWrapper (factory,
216
g_quark_to_string (quarks->ORG_GNOME_DESKTOP_WM_PREFERENCES),
217
gnomeGSettingsValueChanged,
219
factory->object.object_allocation));
143
ccsGSettingsWrapperFactoryNewGSettingsWrapper (factory,
144
g_quark_to_string (quarks->ORG_GNOME_DESKTOP_WM_PREFERENCES),
145
factory->object.object_allocation));
220
146
g_hash_table_insert (quarksToGSettingsWrappers, GINT_TO_POINTER (quarks->ORG_GNOME_DESKTOP_DEFAULT_APPLICATIONS_TERMINAL),
221
ccsGNOMEIntegrationGSettingsWrapperFactoryNewGSettingsWrapper (factory,
222
g_quark_to_string (quarks->ORG_GNOME_DESKTOP_DEFAULT_APPLICATIONS_TERMINAL),
223
gnomeGSettingsValueChanged,
225
factory->object.object_allocation));
147
ccsGSettingsWrapperFactoryNewGSettingsWrapper (factory,
148
g_quark_to_string (quarks->ORG_GNOME_DESKTOP_DEFAULT_APPLICATIONS_TERMINAL),
149
factory->object.object_allocation));
226
150
g_hash_table_insert (quarksToGSettingsWrappers, GINT_TO_POINTER (quarks->ORG_GNOME_SETTINGS_DAEMON_PLUGINS_MEDIA_KEYS),
227
ccsGNOMEIntegrationGSettingsWrapperFactoryNewGSettingsWrapper (factory,
228
g_quark_to_string (quarks->ORG_GNOME_SETTINGS_DAEMON_PLUGINS_MEDIA_KEYS),
229
gnomeGSettingsValueChanged,
231
factory->object.object_allocation));
151
ccsGSettingsWrapperFactoryNewGSettingsWrapper (factory,
152
g_quark_to_string (quarks->ORG_GNOME_SETTINGS_DAEMON_PLUGINS_MEDIA_KEYS),
153
factory->object.object_allocation));
233
155
return quarksToGSettingsWrappers;
236
158
CCSIntegratedSetting *
237
159
ccsGSettingsIntegratedSettingFactoryCreateIntegratedSettingForCCSSettingNameAndType (CCSIntegratedSettingFactory *factory,
238
CCSIntegration *integration,
239
const char *pluginName,
240
const char *settingName,
160
CCSIntegration *integration,
161
const char *pluginName,
162
const char *settingName,
243
165
CCSGSettingsIntegratedSettingFactoryPrivate *priv = (CCSGSettingsIntegratedSettingFactoryPrivate *) ccsObjectGetPrivate (factory);
244
166
GHashTable *settingsGSettingsWrapperQuarksHashTable = g_hash_table_lookup (priv->pluginsToSettingsGSettingsWrapperQuarksHashTable, pluginName);