/// <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); } }
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; }