Merge lp:~smspillaz/compiz-libcompizconfig/compiz-libcompizconfig.ccs-object into lp:~compiz-team/compiz-libcompizconfig/0.9.8
Status: | Superseded |
---|---|
Proposed branch: | lp:~smspillaz/compiz-libcompizconfig/compiz-libcompizconfig.ccs-object |
Merge into: | lp:~compiz-team/compiz-libcompizconfig/0.9.8 |
Diff against target: |
547 lines (+470/-1) 6 files modified
CMakeLists.txt (+1/-0) include/ccs.h (+63/-1) src/CMakeLists.txt (+3/-0) src/main.c (+140/-0) tests/CMakeLists.txt (+56/-0) tests/test-ccs-object.cpp (+207/-0) |
To merge this branch: | bzr merge lp:~smspillaz/compiz-libcompizconfig/compiz-libcompizconfig.ccs-object |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Compiz Maintainers | Pending | ||
Review via email: mp+103993@code.launchpad.net |
This proposal has been superseded by a proposal from 2012-04-29.
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 introduces some preliminary work in a series of branches to get libcompizconfig under test. In order to test the objects properly, we need to abstract away their interfaces into replacable structs so you can test the interaction between the various classes.
This would be awkward to do correctly if we didn't have a suitable object system to handle interface implementation, referencing, private storage etc.
As such, a new struct CCSObject is introduced. It is similar in design to GObject, but with a much smaller feature set centered mostly around the handling of interfaces and composition / indirection. A type registrar is also included (also very simple).
Tests are included.
Unmerged revisions
- 433. By Sam Spilsbury
-
Added a simple type registrar
- 432. By Sam Spilsbury
-
Added a ccsObjectFinalize function which frees everything in CCSObject storage
- 431. By Sam Spilsbury
-
Added tests for CCSObject
- 430. By Sam Spilsbury
-
Added some testing code
- 429. By Sam Spilsbury
-
Added CCSObject