Merge lp:~smspillaz/compiz-libcompizconfig/compiz-libcompizconfig.setting-funcs-behind-interface into lp:~compiz-team/compiz-libcompizconfig/0.9.8
- compiz-libcompizconfig.setting-funcs-behind-interface
- Merge into 0.9.8
Status: | Superseded |
---|---|
Proposed branch: | lp:~smspillaz/compiz-libcompizconfig/compiz-libcompizconfig.setting-funcs-behind-interface |
Merge into: | lp:~compiz-team/compiz-libcompizconfig/0.9.8 |
Prerequisite: | lp:~smspillaz/compiz-libcompizconfig/compiz-libcompizconfig.refactor-setting |
Diff against target: |
1120 lines (+533/-146) 4 files modified
include/ccs.h (+183/-91) src/ccs-private.h (+1/-1) src/compiz.cpp (+16/-6) src/main.c (+333/-48) |
To merge this branch: | bzr merge lp:~smspillaz/compiz-libcompizconfig/compiz-libcompizconfig.setting-funcs-behind-interface |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Compiz Maintainers | Pending | ||
Review via email: mp+103999@code.launchpad.net |
Commit message
Description of the change
This is all about bug 990690.
!! - It probably isn't a good idea to test this branch in isolation, as it is part of a pipeline to get compiz-
lp:~smspillaz/compiz-libcompizconfig/compiz-libcompizconfig.mock-context
lp:~smspillaz/compiz-compizconfig-python/compiz-compizconfig-python.setting-api
lp:~smspillaz/compiz-compizconfig-gconf/compiz-compizconfig-gconf.adapt-to-new-interfaces
.. that's all !!
This branch indirects the setting API behind an interface
Unmerged revisions
- 455. By Sam Spilsbury
-
Use CCSObjectFinalize
- 454. By Sam Spilsbury
-
Use CCSObject for CCSSetting
- 453. By Sam Spilsbury
-
Merged refactor-setting into setting-
funcs-behind- interface. - 452. By Sam Spilsbury
-
Merged refactor-setting into setting-
funcs-behind- interface. - 451. By Sam Spilsbury
-
Merged refactor-setting into setting-
funcs-behind- interface. - 450. By Sam Spilsbury
-
Merged refactor-setting into setting-
funcs-behind- interface. - 449. By Sam Spilsbury
-
Merged refactor-setting into setting-
funcs-behind- interface. - 448. By Sam Spilsbury
-
Merged refactor-setting into setting-
funcs-behind- interface. - 447. By Sam Spilsbury
-
Works with protocol buffers
- 446. By Sam Spilsbury
-
Merged refactor-setting into setting-
funcs-behind- interface.
Preview Diff
1 | === modified file 'include/ccs.h' |
2 | --- include/ccs.h 2012-04-28 18:59:44 +0000 |
3 | +++ include/ccs.h 2012-04-28 18:59:45 +0000 |
4 | @@ -216,11 +216,13 @@ |
5 | typedef struct _CCSInterfaceTable CCSInterfaceTable; |
6 | typedef struct _CCSContextInterface CCSContextInterface; |
7 | typedef struct _CCSPluginInterface CCSPluginInterface; |
8 | +typedef struct _CCSSettingInterface CCSSettingInterface; |
9 | |
10 | struct _CCSInterfaceTable |
11 | { |
12 | const CCSContextInterface *contextInterface; |
13 | const CCSPluginInterface *pluginInterface; |
14 | + const CCSSettingInterface *settingInterface; |
15 | }; |
16 | |
17 | extern const CCSInterfaceTable ccsDefaultInterfaceTable; |
18 | @@ -599,27 +601,190 @@ |
19 | unsigned int refCount; /* reference count */ |
20 | }; |
21 | |
22 | +/* Interface for CCSSetting */ |
23 | +char * ccsSettingGetName (CCSSetting *setting); |
24 | +char * ccsSettingGetShortDesc (CCSSetting *setting); |
25 | +char * ccsSettingGetLongDesc (CCSSetting *setting); |
26 | +CCSSettingType ccsSettingGetType (CCSSetting *setting); |
27 | +CCSSettingInfo * ccsSettingGetInfo (CCSSetting *setting); |
28 | +char * ccsSettingGetGroup (CCSSetting *setting); |
29 | +char * ccsSettingGetSubGroup (CCSSetting *setting); |
30 | +char * ccsSettingGetHints (CCSSetting *setting); |
31 | +CCSSettingValue * ccsSettingGetDefaultValue (CCSSetting *setting); |
32 | +CCSSettingValue *ccsSettingGetValue (CCSSetting *setting); |
33 | +Bool ccsSettingGetIsDefault (CCSSetting *setting); |
34 | +CCSPlugin * ccsSettingGetParent (CCSSetting *setting); |
35 | +void * ccsSettingGetPrivatePtr (CCSSetting *setting); |
36 | +void ccsSettingSetPrivatePtr (CCSSetting *setting, void *ptr); |
37 | + |
38 | +/* Setting getters. Returns TRUE if the setting value was successfully |
39 | + copied into <data>, FALSE otherwise. */ |
40 | +Bool ccsGetInt (CCSSetting *setting, |
41 | + int *data); |
42 | +Bool ccsGetFloat (CCSSetting *setting, |
43 | + float *data); |
44 | +Bool ccsGetBool (CCSSetting *setting, |
45 | + Bool *data); |
46 | +Bool ccsGetString (CCSSetting *setting, |
47 | + char **data); |
48 | +Bool ccsGetColor (CCSSetting *setting, |
49 | + CCSSettingColorValue *data); |
50 | +Bool ccsGetMatch (CCSSetting *setting, |
51 | + char **data); |
52 | +Bool ccsGetKey (CCSSetting *setting, |
53 | + CCSSettingKeyValue *data); |
54 | +Bool ccsGetButton (CCSSetting *setting, |
55 | + CCSSettingButtonValue *data); |
56 | +Bool ccsGetEdge (CCSSetting *setting, |
57 | + unsigned int *data); |
58 | +Bool ccsGetBell (CCSSetting *setting, |
59 | + Bool *data); |
60 | +Bool ccsGetList (CCSSetting *setting, |
61 | + CCSSettingValueList *data); |
62 | + |
63 | +/* Setting setters. Set <setting> to value <data>. Return TRUE if new value |
64 | + matches data. If the new value doesn't match the old value, the setting |
65 | + is added to the context's changedSettings list. */ |
66 | +Bool ccsSetInt (CCSSetting *setting, |
67 | + int data, |
68 | + Bool processChanged); |
69 | +Bool ccsSetFloat (CCSSetting *setting, |
70 | + float data, |
71 | + Bool processChanged); |
72 | +Bool ccsSetBool (CCSSetting *setting, |
73 | + Bool data, |
74 | + Bool processChanged); |
75 | +Bool ccsSetString (CCSSetting *setting, |
76 | + const char *data, |
77 | + Bool processChanged); |
78 | +Bool ccsSetColor (CCSSetting *setting, |
79 | + CCSSettingColorValue data, |
80 | + Bool processChanged); |
81 | +Bool ccsSetMatch (CCSSetting *setting, |
82 | + const char *data, |
83 | + Bool processChanged); |
84 | +Bool ccsSetKey (CCSSetting *setting, |
85 | + CCSSettingKeyValue data, |
86 | + Bool processChanged); |
87 | +Bool ccsSetButton (CCSSetting *setting, |
88 | + CCSSettingButtonValue data, |
89 | + Bool processChanged); |
90 | +Bool ccsSetEdge (CCSSetting *setting, |
91 | + unsigned int data, |
92 | + Bool processChanged); |
93 | +Bool ccsSetBell (CCSSetting *setting, |
94 | + Bool data, |
95 | + Bool processChanged); |
96 | +Bool ccsSetList (CCSSetting *setting, |
97 | + CCSSettingValueList data, |
98 | + Bool processChanged); |
99 | +Bool ccsSetValue (CCSSetting *setting, |
100 | + CCSSettingValue *data, |
101 | + Bool processChanged); |
102 | + |
103 | +/* Reset all settings to defaults. Settings that were non-default |
104 | + previously are added to the changedSettings list of the context. */ |
105 | +void ccsResetToDefault (CCSSetting * setting, Bool processChanged); |
106 | + |
107 | +/* Checks if a given setting is integrated in the desktop environment. */ |
108 | +Bool ccsSettingIsIntegrated (CCSSetting *setting); |
109 | + |
110 | +/* Checks if a given setting is read-only. */ |
111 | +Bool ccsSettingIsReadOnly (CCSSetting *setting); |
112 | + |
113 | +typedef char * (*CCSSettingGetName) (CCSSetting *); |
114 | +typedef char * (*CCSSettingGetShortDesc) (CCSSetting *); |
115 | +typedef char * (*CCSSettingGetLongDesc) (CCSSetting *); |
116 | +typedef CCSSettingType (*CCSSettingGetType) (CCSSetting *); |
117 | +typedef CCSSettingInfo * (*CCSSettingGetInfo) (CCSSetting *); |
118 | +typedef char * (*CCSSettingGetGroup) (CCSSetting *); |
119 | +typedef char * (*CCSSettingGetSubGroup) (CCSSetting *); |
120 | +typedef char * (*CCSSettingGetHints) (CCSSetting *); |
121 | +typedef CCSSettingValue * (*CCSSettingGetDefaultValue) (CCSSetting *setting); |
122 | +typedef CCSSettingValue * (*CCSSettingGetValue) (CCSSetting *setting); |
123 | +typedef Bool (*CCSSettingGetIsDefault) (CCSSetting *); |
124 | +typedef CCSPlugin * (*CCSSettingGetParent) (CCSSetting *); |
125 | +typedef void * (*CCSSettingGetPrivatePtr) (CCSSetting *); |
126 | +typedef void (*CCSSettingSetPrivatePtr) (CCSSetting *, void *); |
127 | +typedef Bool (*CCSSettingSetInt) (CCSSetting *setting, int data, Bool processChanged); |
128 | +typedef Bool (*CCSSettingSetFloat) (CCSSetting *setting, float data, Bool processChanged); |
129 | +typedef Bool (*CCSSettingSetBool) (CCSSetting *setting, Bool data, Bool processChanged); |
130 | +typedef Bool (*CCSSettingSetString) (CCSSetting *setting, const char * data, Bool processChanged); |
131 | +typedef Bool (*CCSSettingSetColor) (CCSSetting *setting, CCSSettingColorValue data, Bool processChanged); |
132 | +typedef Bool (*CCSSettingSetMatch) (CCSSetting *setting, const char * data, Bool processChanged); |
133 | +typedef Bool (*CCSSettingSetKey) (CCSSetting *setting, CCSSettingKeyValue data, Bool processChanged); |
134 | +typedef Bool (*CCSSettingSetButton) (CCSSetting *setting, CCSSettingButtonValue data, Bool processChanged); |
135 | +typedef Bool (*CCSSettingSetEdge) (CCSSetting *setting, unsigned int data, Bool processChanged); |
136 | +typedef Bool (*CCSSettingSetBell) (CCSSetting *setting, Bool data, Bool processChanged); |
137 | +typedef Bool (*CCSSettingSetList) (CCSSetting *setting, CCSSettingValueList data, Bool processChanged); |
138 | +typedef Bool (*CCSSettingSetValue) (CCSSetting *setting, CCSSettingValue *data, Bool processChanged); |
139 | +typedef Bool (*CCSSettingGetInt) (CCSSetting *setting, int *data); |
140 | +typedef Bool (*CCSSettingGetFloat) (CCSSetting *setting, float *data); |
141 | +typedef Bool (*CCSSettingGetBool) (CCSSetting *setting, Bool *data); |
142 | +typedef Bool (*CCSSettingGetString) (CCSSetting *setting, char **data); |
143 | +typedef Bool (*CCSSettingGetColor) (CCSSetting *setting, CCSSettingColorValue *data); |
144 | +typedef Bool (*CCSSettingGetMatch) (CCSSetting *setting, char **data); |
145 | +typedef Bool (*CCSSettingGetKey) (CCSSetting *setting, CCSSettingKeyValue *data); |
146 | +typedef Bool (*CCSSettingGetButton) (CCSSetting *setting, CCSSettingButtonValue *data); |
147 | +typedef Bool (*CCSSettingGetEdge) (CCSSetting *setting, unsigned int *data); |
148 | +typedef Bool (*CCSSettingGetBell) (CCSSetting *setting, Bool *data); |
149 | +typedef Bool (*CCSSettingGetList) (CCSSetting *setting, CCSSettingValueList *data); |
150 | +typedef void (*CCSSettingResetToDefault) (CCSSetting *setting, Bool processChanged); |
151 | +typedef Bool (*CCSSettingIsIntegrated) (CCSSetting *setting); |
152 | +typedef Bool (*CCSSettingIsReadOnly) (CCSSetting *setting); |
153 | + |
154 | +inline unsigned int ccsCCSSettingInterfaceGetType (); |
155 | + |
156 | +struct _CCSSettingInterface |
157 | +{ |
158 | + CCSSettingGetName settingGetName; |
159 | + CCSSettingGetShortDesc settingGetShortDesc; |
160 | + CCSSettingGetLongDesc settingGetLongDesc; |
161 | + CCSSettingGetType settingGetType; |
162 | + CCSSettingGetInfo settingGetInfo; |
163 | + CCSSettingGetGroup settingGetGroup; |
164 | + CCSSettingGetSubGroup settingGetSubGroup; |
165 | + CCSSettingGetHints settingGetHints; |
166 | + CCSSettingGetDefaultValue settingGetDefaultValue; |
167 | + CCSSettingGetValue settingGetValue; |
168 | + CCSSettingGetIsDefault settingGetIsDefault; |
169 | + CCSSettingGetParent settingGetParent; |
170 | + CCSSettingGetPrivatePtr settingGetPrivatePtr; |
171 | + CCSSettingSetPrivatePtr settingSetPrivatePtr; |
172 | + CCSSettingSetInt settingSetInt; |
173 | + CCSSettingSetFloat settingSetFloat; |
174 | + CCSSettingSetBool settingSetBool; |
175 | + CCSSettingSetString settingSetString; |
176 | + CCSSettingSetColor settingSetColor; |
177 | + CCSSettingSetMatch settingSetMatch; |
178 | + CCSSettingSetKey settingSetKey; |
179 | + CCSSettingSetButton settingSetButton; |
180 | + CCSSettingSetEdge settingSetEdge; |
181 | + CCSSettingSetBell settingSetBell; |
182 | + CCSSettingSetList settingSetList; |
183 | + CCSSettingSetValue settingSetValue; |
184 | + CCSSettingGetInt settingGetInt; |
185 | + CCSSettingGetFloat settingGetFloat; |
186 | + CCSSettingGetBool settingGetBool; |
187 | + CCSSettingGetString settingGetString; |
188 | + CCSSettingGetColor settingGetColor; |
189 | + CCSSettingGetMatch settingGetMatch; |
190 | + CCSSettingGetKey settingGetKey; |
191 | + CCSSettingGetButton settingGetButton; |
192 | + CCSSettingGetEdge settingGetEdge; |
193 | + CCSSettingGetBell settingGetBell; |
194 | + CCSSettingGetList settingGetList; |
195 | + CCSSettingResetToDefault settingResetToDefault; |
196 | + CCSSettingIsIntegrated settingIsIntegrated; |
197 | + CCSSettingIsReadOnly settingIsReadOnly; |
198 | +}; |
199 | + |
200 | struct _CCSSetting |
201 | { |
202 | - void *ccsPrivate; |
203 | - unsigned int refCount; /* reference count */ |
204 | + CCSObject object; |
205 | }; |
206 | |
207 | -/* Interface for CCSSetting */ |
208 | -char * ccsSettingGetName (CCSSetting *); |
209 | -char * ccsSettingGetShortDesc (CCSSetting *); |
210 | -char * ccsSettingGetLongDesc (CCSSetting *); |
211 | -CCSSettingType ccsSettingGetType (CCSSetting *); |
212 | -CCSSettingInfo * ccsSettingGetInfo (CCSSetting *); |
213 | -char * ccsSettingGetGroup (CCSSetting *); |
214 | -char * ccsSettingGetSubGroup (CCSSetting *); |
215 | -char * ccsSettingGetHints (CCSSetting *); |
216 | -CCSSettingValue * ccsSettingGetDefaultValue (CCSSetting *); |
217 | -CCSSettingValue *ccsSettingGetValue (CCSSetting *); |
218 | -Bool ccsSettingGetIsDefault (CCSSetting *); |
219 | -CCSPlugin * ccsSettingGetParent (CCSSetting *); |
220 | -void * ccsSettingGetPrivatePtr (CCSSetting *); |
221 | -void ccsSettingSetPrivatePtr (CCSSetting *, void *); |
222 | +#define CCS_SETTING_INTERFACE_TYPE GET_INTERFACE_TYPE(CCSSettingInterface) |
223 | |
224 | struct _CCSPluginCategory |
225 | { |
226 | @@ -680,45 +845,7 @@ |
227 | void ccsFreeStrExtension (CCSStrExtension *extension); |
228 | void ccsFreeString (CCSString *str); |
229 | |
230 | -/* Setting setters. Set <setting> to value <data>. Return TRUE if new value |
231 | - matches data. If the new value doesn't match the old value, the setting |
232 | - is added to the context's changedSettings list. */ |
233 | -Bool ccsSetInt (CCSSetting *setting, |
234 | - int data, |
235 | - Bool processChanged); |
236 | -Bool ccsSetFloat (CCSSetting *setting, |
237 | - float data, |
238 | - Bool processChanged); |
239 | -Bool ccsSetBool (CCSSetting *setting, |
240 | - Bool data, |
241 | - Bool processChanged); |
242 | -Bool ccsSetString (CCSSetting *setting, |
243 | - const char *data, |
244 | - Bool processChanged); |
245 | -Bool ccsSetColor (CCSSetting *setting, |
246 | - CCSSettingColorValue data, |
247 | - Bool processChanged); |
248 | -Bool ccsSetMatch (CCSSetting *setting, |
249 | - const char *data, |
250 | - Bool processChanged); |
251 | -Bool ccsSetKey (CCSSetting *setting, |
252 | - CCSSettingKeyValue data, |
253 | - Bool processChanged); |
254 | -Bool ccsSetButton (CCSSetting *setting, |
255 | - CCSSettingButtonValue data, |
256 | - Bool processChanged); |
257 | -Bool ccsSetEdge (CCSSetting *setting, |
258 | - unsigned int data, |
259 | - Bool processChanged); |
260 | -Bool ccsSetBell (CCSSetting *setting, |
261 | - Bool data, |
262 | - Bool processChanged); |
263 | -Bool ccsSetList (CCSSetting *setting, |
264 | - CCSSettingValueList data, |
265 | - Bool processChanged); |
266 | -Bool ccsSetValue (CCSSetting *setting, |
267 | - CCSSettingValue *data, |
268 | - Bool processChanged); |
269 | + |
270 | |
271 | /* Compares two setting values. Returns TRUE if values match, |
272 | FALSE otherwise. */ |
273 | @@ -729,31 +856,6 @@ |
274 | Bool ccsIsEqualButton (CCSSettingButtonValue c1, |
275 | CCSSettingButtonValue c2); |
276 | |
277 | -/* Setting getters. Returns TRUE if the setting value was successfully |
278 | - copied into <data>, FALSE otherwise. */ |
279 | -Bool ccsGetInt (CCSSetting *setting, |
280 | - int *data); |
281 | -Bool ccsGetFloat (CCSSetting *setting, |
282 | - float *data); |
283 | -Bool ccsGetBool (CCSSetting *setting, |
284 | - Bool *data); |
285 | -Bool ccsGetString (CCSSetting *setting, |
286 | - char **data); |
287 | -Bool ccsGetColor (CCSSetting *setting, |
288 | - CCSSettingColorValue *data); |
289 | -Bool ccsGetMatch (CCSSetting *setting, |
290 | - char **data); |
291 | -Bool ccsGetKey (CCSSetting *setting, |
292 | - CCSSettingKeyValue *data); |
293 | -Bool ccsGetButton (CCSSetting *setting, |
294 | - CCSSettingButtonValue *data); |
295 | -Bool ccsGetEdge (CCSSetting *setting, |
296 | - unsigned int *data); |
297 | -Bool ccsGetBell (CCSSetting *setting, |
298 | - Bool *data); |
299 | -Bool ccsGetList (CCSSetting *setting, |
300 | - CCSSettingValueList *data); |
301 | - |
302 | /* Retrieves a list of settings in a plugin */ |
303 | CCSSettingList ccsGetPluginSettings (CCSPlugin *plugin); |
304 | |
305 | @@ -905,10 +1007,6 @@ |
306 | /* Write changed settings to disk */ |
307 | void ccsWriteChangedSettings (CCSContext *context); |
308 | |
309 | -/* Reset all settings to defaults. Settings that were non-default |
310 | - previously are added to the changedSettings list of the context. */ |
311 | -void ccsResetToDefault (CCSSetting * setting, Bool processChanged); |
312 | - |
313 | /* Exports a profile to a file. If skipDefaults is TRUE, only exports |
314 | non-default settings. Returns TRUE on successful export, FALSE otherwise. */ |
315 | Bool ccsExportToFile (CCSContext *context, |
316 | @@ -1098,12 +1196,6 @@ |
317 | /* Enumerates the available backends. */ |
318 | CCSBackendInfoList ccsGetExistingBackends (void); |
319 | |
320 | -/* Checks if a given setting is integrated in the desktop environment. */ |
321 | -Bool ccsSettingIsIntegrated (CCSSetting *setting); |
322 | - |
323 | -/* Checks if a given setting is read-only. */ |
324 | -Bool ccsSettingIsReadOnly (CCSSetting *setting); |
325 | - |
326 | CCSStrExtensionList ccsGetPluginStrExtensions (CCSPlugin *plugin); |
327 | |
328 | #ifdef __cplusplus |
329 | |
330 | === modified file 'src/ccs-private.h' |
331 | --- src/ccs-private.h 2012-04-28 18:59:44 +0000 |
332 | +++ src/ccs-private.h 2012-04-28 18:59:45 +0000 |
333 | @@ -30,7 +30,7 @@ |
334 | #define PLUGIN_PRIV(p) \ |
335 | CCSPluginPrivate *pPrivate = (CCSPluginPrivate *) ccsObjectGetPrivate ((CCSObject *) p); |
336 | #define SETTING_PRIV(s) \ |
337 | - CCSSettingPrivate *sPrivate = (CCSSettingPrivate *) s->ccsPrivate; |
338 | + CCSSettingPrivate *sPrivate = (CCSSettingPrivate *) ccsObjectGetPrivate ((CCSObject *) s); |
339 | |
340 | extern Bool basicMetadata; |
341 | |
342 | |
343 | === modified file 'src/compiz.cpp' |
344 | --- src/compiz.cpp 2012-04-28 18:59:44 +0000 |
345 | +++ src/compiz.cpp 2012-04-28 18:59:45 +0000 |
346 | @@ -559,24 +559,29 @@ |
347 | return; |
348 | } |
349 | |
350 | + CONTEXT_PRIV (ccsPluginGetContext (plugin)); |
351 | + |
352 | setting = (CCSSetting *) calloc (1, sizeof (CCSSetting)); |
353 | if (!setting) |
354 | return; |
355 | |
356 | - setting->ccsPrivate = (CCSSettingPrivate *) calloc (1, sizeof (CCSSettingPrivate)); |
357 | + CCSSettingPrivate *ccsPrivate = (CCSSettingPrivate *) calloc (1, sizeof (CCSSettingPrivate)); |
358 | |
359 | - if (!setting->ccsPrivate) |
360 | + if (!ccsPrivate) |
361 | { |
362 | free (setting); |
363 | return; |
364 | } |
365 | |
366 | + ccsObjectSetPrivate ((CCSObject *) setting, (CCSPrivate *) ccsPrivate); |
367 | + ccsObjectAddInterface ((CCSObject *) setting, (CCSInterface *) cPrivate->object_interfaces->settingInterface, CCS_SETTING_INTERFACE_TYPE); |
368 | + ccsSettingRef (setting); |
369 | + |
370 | SETTING_PRIV (setting); |
371 | |
372 | sPrivate->parent = plugin; |
373 | sPrivate->isDefault = TRUE; |
374 | sPrivate->name = strdup (name); |
375 | - setting->refCount = 1; |
376 | |
377 | if (!basicMetadata) |
378 | { |
379 | @@ -2003,24 +2008,29 @@ |
380 | if (getOptionType (type) == TypeNum) |
381 | return; |
382 | |
383 | + CONTEXT_PRIV (ccsPluginGetContext (plugin)); |
384 | + |
385 | setting = (CCSSetting *) calloc (1, sizeof (CCSSetting)); |
386 | if (!setting) |
387 | return; |
388 | |
389 | - setting->ccsPrivate = (void *) calloc (1, sizeof (CCSSettingPrivate)); |
390 | + CCSSettingPrivate *ccsPrivate = (CCSSettingPrivate *) calloc (1, sizeof (CCSSettingPrivate)); |
391 | |
392 | - if (!setting->ccsPrivate) |
393 | + if (!ccsPrivate) |
394 | { |
395 | free (setting); |
396 | return; |
397 | } |
398 | |
399 | + ccsObjectSetPrivate ((CCSObject *) setting, (CCSPrivate *) ccsPrivate); |
400 | + ccsObjectAddInterface ((CCSObject *) setting, (CCSInterface *) cPrivate->object_interfaces->settingInterface, CCS_SETTING_INTERFACE_TYPE); |
401 | + ccsSettingRef (setting); |
402 | + |
403 | SETTING_PRIV (setting) |
404 | |
405 | sPrivate->parent = plugin; |
406 | sPrivate->isDefault = TRUE; |
407 | sPrivate->name = strdup (name); |
408 | - setting->refCount = 1; |
409 | |
410 | if (!basicMetadata) |
411 | { |
412 | |
413 | === modified file 'src/main.c' |
414 | --- src/main.c 2012-04-28 18:59:44 +0000 |
415 | +++ src/main.c 2012-04-28 18:59:45 +0000 |
416 | @@ -169,6 +169,7 @@ |
417 | |
418 | INTERFACE_TYPE (CCSContextInterface) |
419 | INTERFACE_TYPE (CCSPluginInterface) |
420 | +INTERFACE_TYPE (CCSSettingInterface) |
421 | |
422 | Bool basicMetadata = FALSE; |
423 | |
424 | @@ -741,7 +742,7 @@ |
425 | |
426 | ccsFreeSettingValue (&sPrivate->defaultValue); |
427 | |
428 | - free (sPrivate); |
429 | + ccsObjectFinalize ((CCSObject *) s); |
430 | free (s); |
431 | } |
432 | |
433 | @@ -895,7 +896,7 @@ |
434 | ccsFree##type (d); \ |
435 | } \ |
436 | |
437 | -CCSREF (Setting, CCSSetting) |
438 | + |
439 | CCSREF (String, CCSString) |
440 | CCSREF (Group, CCSGroup) |
441 | CCSREF (SubGroup, CCSSubGroup) |
442 | @@ -919,6 +920,7 @@ |
443 | } \ |
444 | |
445 | CCSREF_OBJ (Plugin, CCSPlugin) |
446 | +CCSREF_OBJ (Setting, CCSSetting) |
447 | |
448 | static void * |
449 | openBackend (char *backend) |
450 | @@ -1228,10 +1230,12 @@ |
451 | memcpy (to, from, sizeof (CCSSetting)); |
452 | |
453 | /* Allocate a new private ptr for the new setting */ |
454 | - to->ccsPrivate = calloc (1, sizeof (CCSSettingPrivate)); |
455 | - |
456 | - CCSSettingPrivate *fromPrivate = (CCSSettingPrivate *) from->ccsPrivate; |
457 | - CCSSettingPrivate *toPrivate = (CCSSettingPrivate *) to->ccsPrivate; |
458 | + CCSSettingPrivate *ccsPrivate = calloc (1, sizeof (CCSSettingPrivate)); |
459 | + |
460 | + ccsObjectSetPrivate ((CCSObject *) to, (CCSPrivate *) ccsPrivate); |
461 | + |
462 | + CCSSettingPrivate *fromPrivate = (CCSSettingPrivate *) ccsObjectGetPrivate ((CCSObject *) from); |
463 | + CCSSettingPrivate *toPrivate = (CCSSettingPrivate *) ccsObjectGetPrivate ((CCSObject *) to); |
464 | |
465 | if (fromPrivate->name) |
466 | toPrivate->name = strdup (fromPrivate->name); |
467 | @@ -1264,7 +1268,7 @@ |
468 | toPrivate->defaultValue.parent = to; |
469 | toPrivate->privatePtr = NULL; |
470 | |
471 | - to->refCount = 1; |
472 | + ((CCSObject *) to)->refcnt = 1; |
473 | } |
474 | |
475 | static void |
476 | @@ -1293,7 +1297,7 @@ |
477 | } |
478 | |
479 | void |
480 | -ccsResetToDefault (CCSSetting * setting, Bool processChanged) |
481 | +ccsSettingResetToDefaultDefault (CCSSetting * setting, Bool processChanged) |
482 | { |
483 | SETTING_PRIV (setting) |
484 | |
485 | @@ -1368,7 +1372,7 @@ |
486 | * maybe we need to switch to C++ here and use templates ... */ |
487 | |
488 | Bool |
489 | -ccsSetInt (CCSSetting * setting, int data, Bool processChanged) |
490 | +ccsSettingSetIntDefault (CCSSetting * setting, int data, Bool processChanged) |
491 | { |
492 | SETTING_PRIV (setting) |
493 | |
494 | @@ -1403,7 +1407,7 @@ |
495 | } |
496 | |
497 | Bool |
498 | -ccsSetFloat (CCSSetting * setting, float data, Bool processChanged) |
499 | +ccsSettingSetFloatDefault (CCSSetting * setting, float data, Bool processChanged) |
500 | { |
501 | SETTING_PRIV (setting); |
502 | |
503 | @@ -1440,7 +1444,7 @@ |
504 | } |
505 | |
506 | Bool |
507 | -ccsSetBool (CCSSetting * setting, Bool data, Bool processChanged) |
508 | +ccsSettingSetBoolDefault (CCSSetting * setting, Bool data, Bool processChanged) |
509 | { |
510 | SETTING_PRIV (setting) |
511 | |
512 | @@ -1476,7 +1480,7 @@ |
513 | } |
514 | |
515 | Bool |
516 | -ccsSetString (CCSSetting * setting, const char *data, Bool processChanged) |
517 | +ccsSettingSetStringDefault (CCSSetting * setting, const char *data, Bool processChanged) |
518 | { |
519 | SETTING_PRIV (setting); |
520 | |
521 | @@ -1514,7 +1518,7 @@ |
522 | } |
523 | |
524 | Bool |
525 | -ccsSetColor (CCSSetting * setting, CCSSettingColorValue data, Bool processChanged) |
526 | +ccsSettingSetColorDefault (CCSSetting * setting, CCSSettingColorValue data, Bool processChanged) |
527 | { |
528 | SETTING_PRIV (setting) |
529 | |
530 | @@ -1549,7 +1553,7 @@ |
531 | } |
532 | |
533 | Bool |
534 | -ccsSetMatch (CCSSetting * setting, const char *data, Bool processChanged) |
535 | +ccsSettingSetMatchDefault (CCSSetting * setting, const char *data, Bool processChanged) |
536 | { |
537 | SETTING_PRIV (setting); |
538 | |
539 | @@ -1587,7 +1591,7 @@ |
540 | } |
541 | |
542 | Bool |
543 | -ccsSetKey (CCSSetting * setting, CCSSettingKeyValue data, Bool processChanged) |
544 | +ccsSettingSetKeyDefault (CCSSetting * setting, CCSSettingKeyValue data, Bool processChanged) |
545 | { |
546 | SETTING_PRIV (setting); |
547 | |
548 | @@ -1623,7 +1627,7 @@ |
549 | } |
550 | |
551 | Bool |
552 | -ccsSetButton (CCSSetting * setting, CCSSettingButtonValue data, Bool processChanged) |
553 | +ccsSettingSetButtonDefault (CCSSetting * setting, CCSSettingButtonValue data, Bool processChanged) |
554 | { |
555 | SETTING_PRIV (setting); |
556 | |
557 | @@ -1660,7 +1664,7 @@ |
558 | } |
559 | |
560 | Bool |
561 | -ccsSetEdge (CCSSetting * setting, unsigned int data, Bool processChanged) |
562 | +ccsSettingSetEdgeDefault (CCSSetting * setting, unsigned int data, Bool processChanged) |
563 | { |
564 | SETTING_PRIV (setting) |
565 | |
566 | @@ -1693,7 +1697,7 @@ |
567 | } |
568 | |
569 | Bool |
570 | -ccsSetBell (CCSSetting * setting, Bool data, Bool processChanged) |
571 | +ccsSettingSetBellDefault (CCSSetting * setting, Bool data, Bool processChanged) |
572 | { |
573 | SETTING_PRIV (setting); |
574 | |
575 | @@ -1792,7 +1796,7 @@ |
576 | } |
577 | |
578 | Bool |
579 | -ccsSetList (CCSSetting * setting, CCSSettingValueList data, Bool processChanged) |
580 | +ccsSettingSetListDefault (CCSSetting * setting, CCSSettingValueList data, Bool processChanged) |
581 | { |
582 | SETTING_PRIV (setting) |
583 | |
584 | @@ -1850,7 +1854,7 @@ |
585 | } |
586 | |
587 | Bool |
588 | -ccsSetValue (CCSSetting * setting, CCSSettingValue * data, Bool processChanged) |
589 | +ccsSettingSetValueDefault (CCSSetting * setting, CCSSettingValue * data, Bool processChanged) |
590 | { |
591 | SETTING_PRIV (setting); |
592 | |
593 | @@ -1896,7 +1900,7 @@ |
594 | } |
595 | |
596 | Bool |
597 | -ccsGetInt (CCSSetting * setting, int *data) |
598 | +ccsSettingGetIntDefault (CCSSetting * setting, int *data) |
599 | { |
600 | SETTING_PRIV (setting); |
601 | |
602 | @@ -1908,7 +1912,7 @@ |
603 | } |
604 | |
605 | Bool |
606 | -ccsGetFloat (CCSSetting * setting, float *data) |
607 | +ccsSettingGetFloatDefault (CCSSetting * setting, float *data) |
608 | { |
609 | SETTING_PRIV (setting) |
610 | |
611 | @@ -1920,7 +1924,7 @@ |
612 | } |
613 | |
614 | Bool |
615 | -ccsGetBool (CCSSetting * setting, Bool * data) |
616 | +ccsSettingGetBoolDefault (CCSSetting * setting, Bool * data) |
617 | { |
618 | SETTING_PRIV (setting) |
619 | |
620 | @@ -1932,7 +1936,7 @@ |
621 | } |
622 | |
623 | Bool |
624 | -ccsGetString (CCSSetting * setting, char **data) |
625 | +ccsSettingGetStringDefault (CCSSetting * setting, char **data) |
626 | { |
627 | SETTING_PRIV (setting) |
628 | |
629 | @@ -1944,7 +1948,7 @@ |
630 | } |
631 | |
632 | Bool |
633 | -ccsGetColor (CCSSetting * setting, CCSSettingColorValue * data) |
634 | +ccsSettingGetColorDefault (CCSSetting * setting, CCSSettingColorValue * data) |
635 | { |
636 | SETTING_PRIV (setting) |
637 | |
638 | @@ -1956,7 +1960,7 @@ |
639 | } |
640 | |
641 | Bool |
642 | -ccsGetMatch (CCSSetting * setting, char **data) |
643 | +ccsSettingGetMatchDefault (CCSSetting * setting, char **data) |
644 | { |
645 | SETTING_PRIV (setting) |
646 | |
647 | @@ -1968,7 +1972,7 @@ |
648 | } |
649 | |
650 | Bool |
651 | -ccsGetKey (CCSSetting * setting, CCSSettingKeyValue * data) |
652 | +ccsSettingGetKeyDefault (CCSSetting * setting, CCSSettingKeyValue * data) |
653 | { |
654 | SETTING_PRIV (setting) |
655 | |
656 | @@ -1980,7 +1984,7 @@ |
657 | } |
658 | |
659 | Bool |
660 | -ccsGetButton (CCSSetting * setting, CCSSettingButtonValue * data) |
661 | +ccsSettingGetButtonDefault (CCSSetting * setting, CCSSettingButtonValue * data) |
662 | { |
663 | SETTING_PRIV (setting) |
664 | |
665 | @@ -1992,7 +1996,7 @@ |
666 | } |
667 | |
668 | Bool |
669 | -ccsGetEdge (CCSSetting * setting, unsigned int * data) |
670 | +ccsSettingGetEdgeDefault (CCSSetting * setting, unsigned int * data) |
671 | { |
672 | SETTING_PRIV (setting) |
673 | |
674 | @@ -2004,7 +2008,7 @@ |
675 | } |
676 | |
677 | Bool |
678 | -ccsGetBell (CCSSetting * setting, Bool * data) |
679 | +ccsSettingGetBellDefault (CCSSetting * setting, Bool * data) |
680 | { |
681 | SETTING_PRIV (setting) |
682 | |
683 | @@ -2016,7 +2020,7 @@ |
684 | } |
685 | |
686 | Bool |
687 | -ccsGetList (CCSSetting * setting, CCSSettingValueList * data) |
688 | +ccsSettingGetListDefault (CCSSetting * setting, CCSSettingValueList * data) |
689 | { |
690 | SETTING_PRIV (setting) |
691 | |
692 | @@ -2027,6 +2031,171 @@ |
693 | return TRUE; |
694 | } |
695 | |
696 | +Bool ccsGetInt (CCSSetting *setting, |
697 | + int *data) |
698 | +{ |
699 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingGetInt) (setting, data); |
700 | +} |
701 | + |
702 | +Bool ccsGetFloat (CCSSetting *setting, |
703 | + float *data) |
704 | +{ |
705 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingGetFloat) (setting, data); |
706 | +} |
707 | + |
708 | +Bool ccsGetBool (CCSSetting *setting, |
709 | + Bool *data) |
710 | +{ |
711 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingGetBool) (setting, data); |
712 | +} |
713 | + |
714 | +Bool ccsGetString (CCSSetting *setting, |
715 | + char **data) |
716 | +{ |
717 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingGetString) (setting, data); |
718 | +} |
719 | + |
720 | +Bool ccsGetColor (CCSSetting *setting, |
721 | + CCSSettingColorValue *data) |
722 | +{ |
723 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingGetColor) (setting, data); |
724 | +} |
725 | + |
726 | +Bool ccsGetMatch (CCSSetting *setting, |
727 | + char **data) |
728 | +{ |
729 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingGetMatch) (setting, data); |
730 | +} |
731 | + |
732 | +Bool ccsGetKey (CCSSetting *setting, |
733 | + CCSSettingKeyValue *data) |
734 | +{ |
735 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingGetKey) (setting, data); |
736 | +} |
737 | + |
738 | +Bool ccsGetButton (CCSSetting *setting, |
739 | + CCSSettingButtonValue *data) |
740 | +{ |
741 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingGetButton) (setting, data); |
742 | +} |
743 | + |
744 | +Bool ccsGetEdge (CCSSetting *setting, |
745 | + unsigned int *data) |
746 | +{ |
747 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingGetEdge) (setting, data); |
748 | +} |
749 | + |
750 | +Bool ccsGetBell (CCSSetting *setting, |
751 | + Bool *data) |
752 | +{ |
753 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingGetBell) (setting, data); |
754 | +} |
755 | + |
756 | +Bool ccsGetList (CCSSetting *setting, |
757 | + CCSSettingValueList *data) |
758 | +{ |
759 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingGetList) (setting, data); |
760 | +} |
761 | + |
762 | +Bool ccsSetInt (CCSSetting *setting, |
763 | + int data, |
764 | + Bool processChanged) |
765 | +{ |
766 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingSetInt) (setting, data, processChanged); |
767 | +} |
768 | + |
769 | +Bool ccsSetFloat (CCSSetting *setting, |
770 | + float data, |
771 | + Bool processChanged) |
772 | +{ |
773 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingSetFloat) (setting, data, processChanged); |
774 | +} |
775 | + |
776 | +Bool ccsSetBool (CCSSetting *setting, |
777 | + Bool data, |
778 | + Bool processChanged) |
779 | +{ |
780 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingSetBool) (setting, data, processChanged); |
781 | +} |
782 | + |
783 | +Bool ccsSetString (CCSSetting *setting, |
784 | + const char *data, |
785 | + Bool processChanged) |
786 | +{ |
787 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingSetString) (setting, data, processChanged); |
788 | +} |
789 | + |
790 | +Bool ccsSetColor (CCSSetting *setting, |
791 | + CCSSettingColorValue data, |
792 | + Bool processChanged) |
793 | +{ |
794 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingSetColor) (setting, data, processChanged); |
795 | +} |
796 | + |
797 | +Bool ccsSetMatch (CCSSetting *setting, |
798 | + const char *data, |
799 | + Bool processChanged) |
800 | +{ |
801 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingSetMatch) (setting, data, processChanged); |
802 | +} |
803 | + |
804 | +Bool ccsSetKey (CCSSetting *setting, |
805 | + CCSSettingKeyValue data, |
806 | + Bool processChanged) |
807 | +{ |
808 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingSetKey) (setting, data, processChanged); |
809 | +} |
810 | + |
811 | +Bool ccsSetButton (CCSSetting *setting, |
812 | + CCSSettingButtonValue data, |
813 | + Bool processChanged) |
814 | +{ |
815 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingSetButton) (setting, data, processChanged); |
816 | +} |
817 | + |
818 | +Bool ccsSetEdge (CCSSetting *setting, |
819 | + unsigned int data, |
820 | + Bool processChanged) |
821 | +{ |
822 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingSetEdge) (setting, data, processChanged); |
823 | +} |
824 | + |
825 | +Bool ccsSetBell (CCSSetting *setting, |
826 | + Bool data, |
827 | + Bool processChanged) |
828 | +{ |
829 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingSetBell) (setting, data, processChanged); |
830 | +} |
831 | + |
832 | +Bool ccsSetList (CCSSetting *setting, |
833 | + CCSSettingValueList data, |
834 | + Bool processChanged) |
835 | +{ |
836 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingSetList) (setting, data, processChanged); |
837 | +} |
838 | + |
839 | +Bool ccsSetValue (CCSSetting *setting, |
840 | + CCSSettingValue *data, |
841 | + Bool processChanged) |
842 | +{ |
843 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingSetValue) (setting, data, processChanged); |
844 | +} |
845 | + |
846 | +void ccsResetToDefault (CCSSetting * setting, Bool processChanged) |
847 | +{ |
848 | + (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingResetToDefault) (setting, processChanged); |
849 | +} |
850 | + |
851 | +Bool ccsSettingIsIntegrated (CCSSetting *setting) |
852 | +{ |
853 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingIsIntegrated) (setting); |
854 | +} |
855 | + |
856 | +Bool ccsSettingIsReadOnly (CCSSetting *setting) |
857 | +{ |
858 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingIsReadOnly) (setting); |
859 | +} |
860 | + |
861 | void |
862 | ccsContextDestroy (CCSContext * context) |
863 | { |
864 | @@ -4416,7 +4585,78 @@ |
865 | return (*(GET_INTERFACE (CCSPluginInterface, CCS_PLUGIN_INTERFACE_TYPE, plugin))->pluginGetPluginGroups) (plugin); |
866 | } |
867 | |
868 | -Bool ccsSettingIsIntegrated (CCSSetting *setting) |
869 | +char * ccsSettingGetName (CCSSetting *setting) |
870 | +{ |
871 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingGetName) (setting); |
872 | +} |
873 | + |
874 | +char * ccsSettingGetShortDesc (CCSSetting *setting) |
875 | + |
876 | +{ |
877 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingGetShortDesc) (setting); |
878 | +} |
879 | + |
880 | +char * ccsSettingGetLongDesc (CCSSetting *setting) |
881 | +{ |
882 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingGetLongDesc) (setting); |
883 | +} |
884 | + |
885 | +CCSSettingType ccsSettingGetType (CCSSetting *setting) |
886 | +{ |
887 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingGetType) (setting); |
888 | +} |
889 | + |
890 | +CCSSettingInfo * ccsSettingGetInfo (CCSSetting *setting) |
891 | +{ |
892 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingGetInfo) (setting); |
893 | +} |
894 | + |
895 | +char * ccsSettingGetGroup (CCSSetting *setting) |
896 | +{ |
897 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingGetGroup) (setting); |
898 | +} |
899 | + |
900 | +char * ccsSettingGetSubGroup (CCSSetting *setting) |
901 | +{ |
902 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingGetSubGroup) (setting); |
903 | +} |
904 | + |
905 | +char * ccsSettingGetHints (CCSSetting *setting) |
906 | +{ |
907 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingGetHints) (setting); |
908 | +} |
909 | + |
910 | +CCSSettingValue * ccsSettingGetDefaultValue (CCSSetting *setting) |
911 | +{ |
912 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingGetDefaultValue) (setting); |
913 | +} |
914 | + |
915 | +CCSSettingValue *ccsSettingGetValue (CCSSetting *setting) |
916 | +{ |
917 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingGetValue) (setting); |
918 | +} |
919 | + |
920 | +Bool ccsSettingGetIsDefault (CCSSetting *setting) |
921 | +{ |
922 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingGetIsDefault) (setting); |
923 | +} |
924 | + |
925 | +CCSPlugin * ccsSettingGetParent (CCSSetting *setting) |
926 | +{ |
927 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingGetParent) (setting); |
928 | +} |
929 | + |
930 | +void * ccsSettingGetPrivatePtr (CCSSetting *setting) |
931 | +{ |
932 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingGetPrivatePtr) (setting); |
933 | +} |
934 | + |
935 | +void ccsSettingSetPrivatePtr (CCSSetting *setting, void *ptr) |
936 | +{ |
937 | + return (*(GET_INTERFACE (CCSSettingInterface, CCS_SETTING_INTERFACE_TYPE, setting))->settingSetPrivatePtr) (setting, ptr); |
938 | +} |
939 | + |
940 | +Bool ccsSettingGetIsIntegratedDefault (CCSSetting *setting) |
941 | { |
942 | if (!setting) |
943 | return FALSE; |
944 | @@ -4432,7 +4672,7 @@ |
945 | return FALSE; |
946 | } |
947 | |
948 | -Bool ccsSettingIsReadOnly (CCSSetting *setting) |
949 | +Bool ccsSettingGetIsReadOnlyDefault (CCSSetting *setting) |
950 | { |
951 | if (!setting) |
952 | return FALSE; |
953 | @@ -4450,98 +4690,98 @@ |
954 | |
955 | /* Interface for CCSSetting */ |
956 | char * |
957 | -ccsSettingGetName (CCSSetting *setting) |
958 | +ccsSettingGetNameDefault (CCSSetting *setting) |
959 | { |
960 | SETTING_PRIV (setting); |
961 | |
962 | return sPrivate->name; |
963 | } |
964 | |
965 | -char * ccsSettingGetShortDesc (CCSSetting *setting) |
966 | +char * ccsSettingGetShortDescDefault (CCSSetting *setting) |
967 | { |
968 | SETTING_PRIV (setting); |
969 | |
970 | return sPrivate->shortDesc; |
971 | } |
972 | |
973 | -char * ccsSettingGetLongDesc (CCSSetting *setting) |
974 | +char * ccsSettingGetLongDescDefault (CCSSetting *setting) |
975 | { |
976 | SETTING_PRIV (setting); |
977 | |
978 | return sPrivate->longDesc; |
979 | } |
980 | |
981 | -CCSSettingType ccsSettingGetType (CCSSetting *setting) |
982 | +CCSSettingType ccsSettingGetTypeDefault (CCSSetting *setting) |
983 | { |
984 | SETTING_PRIV (setting); |
985 | |
986 | return sPrivate->type; |
987 | } |
988 | |
989 | -CCSSettingInfo * ccsSettingGetInfo (CCSSetting *setting) |
990 | +CCSSettingInfo * ccsSettingGetInfoDefault (CCSSetting *setting) |
991 | { |
992 | SETTING_PRIV (setting); |
993 | |
994 | return &sPrivate->info; |
995 | } |
996 | |
997 | -char * ccsSettingGetGroup (CCSSetting *setting) |
998 | +char * ccsSettingGetGroupDefault (CCSSetting *setting) |
999 | { |
1000 | SETTING_PRIV (setting); |
1001 | |
1002 | return sPrivate->group; |
1003 | } |
1004 | |
1005 | -char * ccsSettingGetSubGroup (CCSSetting *setting) |
1006 | +char * ccsSettingGetSubGroupDefault (CCSSetting *setting) |
1007 | { |
1008 | SETTING_PRIV (setting); |
1009 | |
1010 | return sPrivate->subGroup; |
1011 | } |
1012 | |
1013 | -char * ccsSettingGetHints (CCSSetting *setting) |
1014 | +char * ccsSettingGetHintsDefault (CCSSetting *setting) |
1015 | { |
1016 | SETTING_PRIV (setting); |
1017 | |
1018 | return sPrivate->hints; |
1019 | } |
1020 | |
1021 | -CCSSettingValue * ccsSettingGetDefaultValue (CCSSetting *setting) |
1022 | +CCSSettingValue * ccsSettingGetDefaultValueDefault (CCSSetting *setting) |
1023 | { |
1024 | SETTING_PRIV (setting); |
1025 | |
1026 | return &sPrivate->defaultValue; |
1027 | } |
1028 | |
1029 | -CCSSettingValue * ccsSettingGetValue (CCSSetting *setting) |
1030 | +CCSSettingValue * ccsSettingGetValueDefault (CCSSetting *setting) |
1031 | { |
1032 | SETTING_PRIV (setting); |
1033 | |
1034 | return sPrivate->value; |
1035 | } |
1036 | |
1037 | -Bool ccsSettingGetIsDefault (CCSSetting *setting) |
1038 | +Bool ccsSettingGetIsDefaultDefault (CCSSetting *setting) |
1039 | { |
1040 | SETTING_PRIV (setting); |
1041 | |
1042 | return sPrivate->isDefault; |
1043 | } |
1044 | |
1045 | -CCSPlugin * ccsSettingGetParent (CCSSetting *setting) |
1046 | +CCSPlugin * ccsSettingGetParentDefault (CCSSetting *setting) |
1047 | { |
1048 | SETTING_PRIV (setting); |
1049 | |
1050 | return sPrivate->parent; |
1051 | } |
1052 | |
1053 | -void * ccsSettingGetPrivatePtr (CCSSetting *setting) |
1054 | +void * ccsSettingGetPrivatePtrDefault (CCSSetting *setting) |
1055 | { |
1056 | SETTING_PRIV (setting); |
1057 | |
1058 | return sPrivate->privatePtr; |
1059 | } |
1060 | |
1061 | -void ccsSettingSetPrivatePtr (CCSSetting *setting, void *ptr) |
1062 | +void ccsSettingSetPrivatePtrDefault (CCSSetting *setting, void *ptr) |
1063 | { |
1064 | SETTING_PRIV (setting); |
1065 | |
1066 | @@ -4624,8 +4864,53 @@ |
1067 | ccsLoadPluginsDefault |
1068 | }; |
1069 | |
1070 | +static const CCSSettingInterface ccsDefaultSettingInterface = |
1071 | +{ |
1072 | + ccsSettingGetNameDefault, |
1073 | + ccsSettingGetShortDescDefault, |
1074 | + ccsSettingGetLongDescDefault, |
1075 | + ccsSettingGetTypeDefault, |
1076 | + ccsSettingGetInfoDefault, |
1077 | + ccsSettingGetGroupDefault, |
1078 | + ccsSettingGetSubGroupDefault, |
1079 | + ccsSettingGetHintsDefault, |
1080 | + ccsSettingGetDefaultValueDefault, |
1081 | + ccsSettingGetValueDefault, |
1082 | + ccsSettingGetIsDefaultDefault, |
1083 | + ccsSettingGetParentDefault, |
1084 | + ccsSettingGetPrivatePtrDefault, |
1085 | + ccsSettingSetPrivatePtrDefault, |
1086 | + ccsSettingSetIntDefault, |
1087 | + ccsSettingSetFloatDefault, |
1088 | + ccsSettingSetBoolDefault, |
1089 | + ccsSettingSetStringDefault, |
1090 | + ccsSettingSetColorDefault, |
1091 | + ccsSettingSetMatchDefault, |
1092 | + ccsSettingSetKeyDefault, |
1093 | + ccsSettingSetButtonDefault, |
1094 | + ccsSettingSetEdgeDefault, |
1095 | + ccsSettingSetBellDefault, |
1096 | + ccsSettingSetListDefault, |
1097 | + ccsSettingSetValueDefault, |
1098 | + ccsSettingGetIntDefault, |
1099 | + ccsSettingGetFloatDefault, |
1100 | + ccsSettingGetBoolDefault, |
1101 | + ccsSettingGetStringDefault, |
1102 | + ccsSettingGetColorDefault, |
1103 | + ccsSettingGetMatchDefault, |
1104 | + ccsSettingGetKeyDefault, |
1105 | + ccsSettingGetButtonDefault, |
1106 | + ccsSettingGetEdgeDefault, |
1107 | + ccsSettingGetBellDefault, |
1108 | + ccsSettingGetListDefault, |
1109 | + ccsSettingResetToDefaultDefault, |
1110 | + ccsSettingGetIsIntegratedDefault, |
1111 | + ccsSettingGetIsReadOnlyDefault |
1112 | +}; |
1113 | + |
1114 | const CCSInterfaceTable ccsDefaultInterfaceTable = |
1115 | { |
1116 | &ccsDefaultContextInterface, |
1117 | - &ccsDefaultPluginInterface |
1118 | + &ccsDefaultPluginInterface, |
1119 | + &ccsDefaultSettingInterface |
1120 | }; |