Difference between revisions of "ProfileManager"

From Sim-Im
Jump to navigation Jump to search
 
 
Line 1: Line 1:
 
==Requirements==
 
==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
 +
  
 
==Tests==
 
==Tests==

Latest revision as of 20:20, 25 November 2009

Requirements

ProfileManager have following list of responsibilities:

  1. Profile enumeration
  2. Profile creation/destruction/renaming
  3. Profile selection
    1. On profile change, a signal/event should be emit to all entities that store their settings in profile
  4. Provide access to current profile


Profile responsibilities:

  1. Maintain a list of enabled/disabled plugins
  2. Provide get/set methods for this list
  3. Provide access to config storage object (SIM::Config)


Config responsibilities:

  1. Saving/loading profile data to/from disk
  2. Storing/restoring PropertyHub data

In other words, Config should be an intermediate object between PropertyHub and config files on disk

PropertyHub responsibilities:

  1. Generic data storage with string keys
  2. Serialization/deserialization


Tests