Proxy for a IPhotoSource that's been cached in the sqlite database.
Inheritance: IPhotoSource
 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);
 }