/// <summary> /// Gets a persistence manager for the storage key specified. /// </summary> /// <param name="key">The storage key.</param> /// <returns>A persistence manager object.</returns> public IPersistenceManager GetPersistenceManager(string key) { string provider = ClientProfile.PersistenceProvider; if (!_persistenceProviders.ContainsKey(provider)) { throw new Exception(String.Format( "Unknown persistence provider type: {0}", provider)); } PersistenceManagerFactoryHandler handler = _persistenceProviders[provider]; return(handler(key)); }
/// <summary> /// Register a persistence provider. Associates the provider name /// with a persistence manager factory method. /// </summary> /// <param name="provider">The name of the provider.</param> /// <param name="handler">A factory method for creating instances of the provider /// persistence manager.</param> public void RegisterPersistenceProvider( string provider, PersistenceManagerFactoryHandler handler) { // Overwrite if provider already exists. _persistenceProviders[provider] = handler; }