ProfileManager
Jump to navigation
Jump to search
Requirements
ProfileManager have following list of responsibilities:
- Profile enumeration
- Profile creation/destruction/renaming
- Profile selection
- On profile change, a signal/event should be emit to all entities that store their settings in profile
- Provide access to current profile
Profile responsibilities:
- Maintain a list of enabled/disabled plugins
- Provide get/set methods for this list
- Provide access to config storage object (SIM::Config)
Config responsibilities:
- Saving/loading profile data to/from disk
- Storing/restoring PropertyHub data
In other words, Config should be an intermediate object between PropertyHub and config files on disk
PropertyHub responsibilities:
- Generic data storage with string keys
- Serialization/deserialization