GNOME Bugzilla – Bug 381323
Refactor AEState objects to support observer pattern
Last modified: 2006-12-08 18:26:55 UTC
The current AEState class design has the following problems: 1) Arbitrary naming scheme for persisted versus non-persisted data. 2) Vague distinction between user configurable settings and data objects stored by a Perk to be shared across Perk instances. 3) Separation of data and metadata proxy without cross reference. 4) Lack of a model/view notification scheme caused by #3 (see bug #376101) We need to rectify these problems while retaining the following fundamental features: 1) Ability to easily assign settings default values. 2) Ability to easily set/get settings as object attributes. 3) Ability to group settings to suggest relations for view generation. 4) Ability to specify metadata for view generation.
After speaking to Eitan: 5) Ability to receive setting notifications in devices as well as Perks (so Perks don't have to be responsible for communication with devices).
Created attachment 77682 [details] Potential implementation
Completed. All five requirements listed above were satisfied. Documentation about the change and its effect on devices and Perks is (will be) available at http://live.gnome.org/LSR/ScratchPad/NewSettings.