GNOME Bugzilla – Bug 99022
Overhaul and extension of gconfmm
Last modified: 2011-01-16 23:35:14 UTC
Attached is a huge-ish patch for gconfmm that: 1. Extends the API to include GConfChangeSet. 2. Moves value.*, entry.*, schema.* to the src subdirectory and uses the _WRAP macros to reduce non-generated code. 3. Makes some changes in the API w.r.t. list passing, and uses Glib:SListHandle with specializations for that. 3. Implements documentation generation. 4. Documents most of the API. 5. Updates the defs files. Please ha a look at it. The documentation could be improved, but I think that a first look would be appropriate, with the comments that must follow :-)
Why isn't this 3 or 4 separate patches?
Created attachment 12407 [details] [review] implementation of description. Patch. ~230Kbytes
Created attachment 12409 [details] [review] gconfdefs.patch Updates gconf_methods.defs to 2.0 headers.
The previous attachment patches gconf_methods.defs; the new version has been generated with the CVS h2defs.py on all the client-side gconf headers - private or backend-only headers have been excluded. Also, the "is-constructor-of" property in method definitions has been removed - GtkDefs.pm issued warnings.
Created attachment 12410 [details] [review] 02 documentation generation patch.
gconfdefs.patch applied. Thanks.
Re. 02 documentation generation patch: We currently build documentation in the top-level gnomemm/gnomemm_docs module, because that makes it easy to integrate all the gnomemm docs together.
Created attachment 12411 [details] [review] Entry and Schema update patch; moved to m4-generation of methods.
Regarding the documentation, I just noticed it too. Hum. The previous patch moves the Entry and Schema class file within the gconf/src subdirectory, and replaces most self-written methods with macros. Please do not apply yet, the rest follows tomorrow.
Created attachment 12412 [details] [review] 04 API Additions to gconfmm. Includes SListHandle-based value list handling, a common setter interface and ChangeSet support.
Re. Entry and Schema update patch: Why submit a patch that you don't want me to apply? Re. 04 API Additions to gconfmm: I cannot apply this becaue it breaks the build: In file included from setinterface.cc:22: ../../gconf/gconfmm/setinterface.h:53: parse error before `&'
Created attachment 12427 [details] [review] 05 Patch to update Gnome::Conf::Client and Value.
Above is final pach, it moves value.* to gconf/src and uses the m4 macros for generation of methods in Gcone::Conf::Client. The 04 patch was a foobar by me - An include was missing from setinterface.h. In tandem, patches 03, 04 and 05 provide all the code changes. If you do not want inter-dependent patches, lets close thi sbug and start new ones, one for each patch.
So it doesn't look like any of these outstanding patches will work. Please do provide patches that can be applied individually without breaking the build. And please do create separate bugzilla bugs.
Dealt with in separate patches in other bugs.