public StreamerController( ChunkerConfig chunkerConfig, StreamerSessionCfg streamerSessionCfg, IDistributedCache cache, ITokenBroker tokenBroker, ISessionBroker sessionBroker, ITokenParser tokenParser, IChunkCollector chunkCollector, IPlaylistAssembler playlistAssembler) { _cache = cache; _tokenBroker = tokenBroker; _tokenParser = tokenParser; _sessionBroker = sessionBroker; _chunkCollector = chunkCollector; _playlistAssembler = playlistAssembler; _chunkerConfig = chunkerConfig; _sessionCfg = streamerSessionCfg; }
public ProjectExplorerWindow(IServiceProvider serviceProvider) : base(serviceProvider, DockState.DockLeft) { InitializeComponent(); this.serviceProvider = serviceProvider; this.TabText = this.Text; // // This window is a singleton, so we never want it to be closed, // just hidden. // this.HideOnClose = true; this.vsToolStripExtender.SetStyle( this.toolStrip, VisualStudioToolStripExtender.VsVersion.Vs2015, this.vs2015LightTheme); this.treeView.Nodes.Add(this.rootNode); this.mainForm = serviceProvider.GetService <IMainForm>(); this.eventService = serviceProvider.GetService <IEventService>(); this.jobService = serviceProvider.GetService <IJobService>(); this.projectInventoryService = serviceProvider.GetService <IProjectRepository>(); this.authService = serviceProvider.GetService <IAuthorizationAdapter>(); this.sessionBroker = serviceProvider.GetService <IGlobalSessionBroker>(); this.eventService.BindAsyncHandler <ProjectAddedEvent>(OnProjectAdded); this.eventService.BindHandler <ProjectDeletedEvent>(OnProjectDeleted); this.eventService.BindHandler <SessionStartedEvent>(OnRdpSessionStarted); this.eventService.BindHandler <SessionEndedEvent>(OnRdpSessionEnded); this.ContextMenuCommands = new CommandContainer <IProjectExplorerNode>( this, this.contextMenu.Items, ToolStripItemDisplayStyle.ImageAndText, this.serviceProvider); this.ToolbarCommands = new CommandContainer <IProjectExplorerNode>( this, this.toolStrip.Items, ToolStripItemDisplayStyle.Image, this.serviceProvider); this.viewModel = new ProjectExplorerViewModel( serviceProvider.GetService <ApplicationSettingsRepository>()); this.Disposed += (sender, args) => { this.viewModel.Dispose(); }; // // Bind controls. // this.linuxInstancesToolStripMenuItem.BindProperty( c => c.Checked, this.viewModel, m => m.IsLinuxIncluded, this.Container); this.windowsInstancesToolStripMenuItem.BindProperty( c => c.Checked, this.viewModel, m => m.IsWindowsIncluded, this.Container); this.viewModel.PropertyChanged += (sender, args) => { // Refresh tree, and show message on error. refreshButton_Click(sender, EventArgs.Empty); }; }