public StorySyncWorker(IWdcStoryContainer storyContainer, IWdcReader wdcReader, IWdcClient wdcClient, IConfigProvider configProvider, IFileDumper fileDumper, IGuiContext guiContext ) { _storyContainer = storyContainer; _wdcReader = wdcReader; _wdcClient = wdcClient; _configProvider = configProvider; _fileDumper = fileDumper; _gui = guiContext; SetSettings(configProvider.GetSection <StorySyncWorkerSettings>()); // Init some stuff _storyStatusList = new Dictionary <string, StorySyncWorkerStoryStatus>(); _ctSource = new CancellationTokenSource(); _status = new StorySyncWorkerStatus(); // TODO add functionality to react to configuration changes. E.g. Cancel process, update settings, start again. // Subscribe to some events _storyContainer.OnUpdate += new EventHandler <WdcStoryContainerEventArgs>(OnStoryContainerChanged); _configProvider.OnSectionChanged += new EventHandler <ConfigSectionChangedEventArgs>(OnSettingsChanged); }
public DummyStorySyncWorker() { _status = new StorySyncWorkerStatus() { Message = "Dummy sync worker, will do nothing." }; }
private void _SetCurrentStatus(StorySyncWorkerStatus newStatus) { var currentStatus = this.GetCurrentStatus(); lock (_statusLock) _status = newStatus; var statusChangeArgs = new StorySyncWorkerStatusEventArgs() { NewStatus = newStatus }; // Something has changed, send event DoWorkerStatusChange(statusChangeArgs); }