public WorkspacesManager( ILogSourcesManager logSources, ILogProviderFactoryRegistry logProviderFactoryRegistry, IStorageManager storageManager, Backend.IBackendAccess backend, ITempFilesManager tempFilesManager, MRU.IRecentlyUsedEntities recentlyUsedEntities, IShutdown shutdown, ITraceSourceFactory traceSourceFactory ) { this.tracer = traceSourceFactory.CreateTraceSource("Workspaces", "ws"); this.logSources = logSources; this.backendAccess = backend; this.tempFilesManager = tempFilesManager; this.logProviderFactoryRegistry = logProviderFactoryRegistry; this.storageManager = storageManager; this.recentlyUsedEntities = recentlyUsedEntities; if (backend.IsConfigured) { this.status = WorkspacesManagerStatus.NoWorkspace; } else { this.status = WorkspacesManagerStatus.Unavailable; } shutdown.Cleanup += (s, e) => shutdown.AddCleanupTask( WaitUploadCompletion().WithTimeout(TimeSpan.FromSeconds(10))); }
void SetStatus(WorkspacesManagerStatus status) { if (this.status == status) { return; } tracer.Info("status {0}->{1}", this.status, status); this.status = status; if (StatusChanged != null) { StatusChanged(this, EventArgs.Empty); } }