public void RegisterPhotoSource (ICacheablePhotoSource source) { if (source.CacheId != 0) { throw new Exception ("Can't register an already registered source!"); } var cache = new SqliteCachedPhotoSource (source); cache.AvailabilityChanged += OnCachedSourceAvailabilityChanged; source_provider.Save (cache); source.CacheId = cache.CacheId; source.Persist (); cache.Start (this); }
internal StartPhotoSourceJob (SqliteCachedPhotoSource source, IPhotoSourceCache cache) { Source = source; Cache = cache; Title = String.Format ("Starting cached source: {0}/{1}", Source.SourceType, Source.CacheId); }