/// <summary> /// run an export for a given handler /// </summary> public IEnumerable <uSyncAction> ExportHandler(string handler, uSyncImportOptions options) { var handlerPair = _handlerFactory.GetValidHandler(handler, new SyncHandlerOptions { Set = options.HandlerSet, Action = HandlerActions.Export }); if (handlerPair == null) { return(Enumerable.Empty <uSyncAction>()); } var folder = GetHandlerFolder(options.RootFolder, handlerPair.Handler); return(handlerPair.Handler.ExportAll(folder, handlerPair.Settings, options.Callbacks?.Update)); }
/// <summary> /// run an import for a given handler /// </summary> public IEnumerable <uSyncAction> ImportHandler(string handlerAlias, uSyncImportOptions options) { lock (_importLock) { using (var pause = _mutexService.ImportPause()) { var handlerPair = _handlerFactory.GetValidHandler(handlerAlias, new SyncHandlerOptions { Set = options.HandlerSet, Action = HandlerActions.Import }); if (handlerPair == null) { return(Enumerable.Empty <uSyncAction>()); } var folder = GetHandlerFolder(options.RootFolder, handlerPair.Handler); return(handlerPair.Handler.ImportAll(folder, handlerPair.Settings, options.Flags.HasFlag(SerializerFlags.Force), options.Callbacks?.Update)); } } }