Changeset 2370


Ignore:
Timestamp:
11/7/2011 12:04:58 PM (3 years ago)
Author:
lowjoel
Message:

Persistent Stores will need to be passed from the Host initialiser. The Plugin Host will then dish out persistent stores for each plugin.

Location:
branches/eraser6/pluginsRewrite/Eraser.Plugins
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Host.cs

    r2358 r2370  
    6868        /// initialisation is complete. 
    6969        /// </summary> 
     70        /// <param name="store">The root persistent store for all plugins.</param> 
    7071        /// <remarks>Call <see cref="Host.Instance.Dispose"/> when exiting.</remarks> 
    71         public static void Initialise() 
    72         { 
    73             new DefaultHost(); 
     72        public static void Initialise(PersistentStore store) 
     73        { 
     74            new DefaultHost(store); 
    7475        } 
    7576 
     
    7778        /// Constructor. Sets the global Plugin Host instance. 
    7879        /// </summary> 
     80        /// <param name="store">The root persistent store for all plugins.</param> 
    7981        /// <see cref="Host.Instance"/> 
    80         protected Host() 
     82        protected Host(PersistentStore store) 
    8183        { 
    8284            if (Instance != null) 
     
    8486                    "exist at any one point of time."); 
    8587            Instance = this; 
     88            PersistentStore = store; 
    8689 
    8790            EntropySources = new EntropySourceRegistrar(); 
     
    9699        /// </summary> 
    97100        public static Host Instance 
     101        { 
     102            get; 
     103            private set; 
     104        } 
     105 
     106        /// <summary> 
     107        /// The root persistent store for all plugins. 
     108        /// </summary> 
     109        public PersistentStore PersistentStore 
    98110        { 
    99111            get; 
     
    218230        /// Constructor. 
    219231        /// </summary> 
    220         public DefaultHost() 
    221             : base() 
     232        public DefaultHost(PersistentStore store) 
     233            : base(store) 
    222234        { 
    223235            //Specify additional places to load assemblies from 
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/PluginInfo.cs

    r2369 r2370  
    5959                AssemblyAuthenticode = cert; 
    6060            } 
     61 
     62            //Get the persistent store for this assembly 
     63            PersistentStore = Host.PersistentStore.GetSettings<PersistentStore>( 
     64                new Guid(((GuidAttribute)Assembly.GetCallingAssembly(). 
     65                    GetCustomAttributes(typeof(GuidAttribute), false)[0]).Value).ToString()); 
    6166        } 
    6267 
Note: See TracChangeset for help on using the changeset viewer.