public void Register(Action<Func<object>, Type, string> registerFunction) { #if SILVERLIGHT || XAMARIN_MOBILE var fs = new IsolatedStorageProvider(); #else var fs = new SimpleFilesystemProvider(); #endif registerFunction(() => fs, typeof(IFilesystemProvider), null); var localCache = default(Lazy<IBlobCache>); var userAccount = default(Lazy<IBlobCache>); var secure = default(Lazy<ISecureBlobCache>); if (!RxApp.InUnitTestRunner()) { localCache = new Lazy<IBlobCache>(() => new CPersistentBlobCache(fs.GetDefaultLocalMachineCacheDirectory(), fs)); userAccount = new Lazy<IBlobCache>(() => new CPersistentBlobCache(fs.GetDefaultRoamingCacheDirectory(), fs)); secure = new Lazy<ISecureBlobCache>(() => new CEncryptedBlobCache(fs.GetDefaultRoamingCacheDirectory(), fs)); } else { localCache = new Lazy<IBlobCache>(() => new TestBlobCache()); userAccount = new Lazy<IBlobCache>(() => new TestBlobCache()); secure = new Lazy<ISecureBlobCache>(() => new TestBlobCache()); } registerFunction(() => localCache.Value, typeof(IBlobCache), "LocalMachine"); registerFunction(() => userAccount.Value, typeof(IBlobCache), "UserAccount"); registerFunction(() => secure.Value, typeof(ISecureBlobCache), null); registerFunction(() => new AkavacheHttpMixin(), typeof(IAkavacheHttpMixin), null); }
public void Register(Action <Func <object>, Type, string> registerFunction) { #if SILVERLIGHT || XAMARIN_MOBILE var fs = new IsolatedStorageProvider(); #else var fs = new SimpleFilesystemProvider(); #endif registerFunction(() => fs, typeof(IFilesystemProvider), null); var localCache = new Lazy <IBlobCache>(() => new CPersistentBlobCache(fs.GetDefaultLocalMachineCacheDirectory(), fs)); registerFunction(() => localCache.Value, typeof(IBlobCache), "LocalMachine"); var userAccount = new Lazy <IBlobCache>(() => new CPersistentBlobCache(fs.GetDefaultRoamingCacheDirectory(), fs)); registerFunction(() => userAccount.Value, typeof(IBlobCache), "UserAccount"); var secure = new Lazy <ISecureBlobCache>(() => new CEncryptedBlobCache(fs.GetDefaultRoamingCacheDirectory(), fs)); registerFunction(() => secure.Value, typeof(ISecureBlobCache), null); registerFunction(() => new AkavacheHttpMixin(), typeof(IAkavacheHttpMixin), null); }