Example #1
0
 /// <summary>
 /// Call back method which is called when sync event occurs
 /// </summary>
 /// <param name="args">Simias event details</param>
 private void OnSyncEvent(SimiasEventArgs args)
 {
     try
     {
         if (enabled)
         {
             CollectionSyncEventArgs cArgs = args as CollectionSyncEventArgs;
             if (cArgs != null)
             {
                 if (CollectionSync != null)
                 {
                     Delegate[] cbList = CollectionSync.GetInvocationList();
                     foreach (CollectionSyncEventHandler cb in cbList)
                     {
                         try
                         {
                             cb(cArgs);
                         }
                         catch (Exception ex)
                         {
                             logger.Debug(ex, "Delegate {0}.{1} failed", cb.Target, cb.Method);
                             CollectionSync -= cb;
                         }
                     }
                 }
             }
             else
             {
                 FileSyncEventArgs fArgs = args as FileSyncEventArgs;
                 if (fArgs != null)
                 {
                     if (FileSync != null)
                     {
                         Delegate[] cbList = FileSync.GetInvocationList();
                         foreach (FileSyncEventHandler cb in cbList)
                         {
                             try
                             {
                                 cb(fArgs);
                             }
                             catch (Exception ex)
                             {
                                 logger.Debug(ex, "Delegate {0}.{1} failed", cb.Target, cb.Method);
                                 FileSync -= cb;
                             }
                         }
                     }
                 }
             }
         }
     }
     catch (Exception ex)
     {
         new SimiasException(args.ToString(), ex);
     }
 }
		private void RefreshModelData(object state)
		{
			lock (_refreshLock)
			{
				var syncer = new CollectionSync();
				syncer.ExecuteInUIThread += (sender, args) => SafeInvoke(args.Action);
				syncer.SyncDownloads(Downloads);
				syncer.SyncFavorites(Favorites);
			}
		}
Example #3
0
 public SyncPhotos(IGoogleBearerTokenRetriever googleBearerTokenRetriever,
                   LocalSource localSource,
                   GoogleSource googleSource,
                   CollectionSync collectionSync,
                   ILogger <SyncPhotos> logger)
 {
     m_GoogleBearerTokenRetriever = googleBearerTokenRetriever;
     m_LocalSource    = localSource;
     m_GoogleSource   = googleSource;
     m_CollectionSync = collectionSync;
     m_Logger         = logger;
 }