Example #1
0
        public ProjectExplorerViewModel(
            IWin32Window view,
            ApplicationSettingsRepository settingsRepository,
            IJobService jobService,
            IEventService eventService,
            IGlobalSessionBroker sessionBroker,
            IProjectModelService projectModelService,
            ICloudConsoleService cloudConsoleService)
        {
            this.View = view;
            this.settingsRepository  = settingsRepository;
            this.jobService          = jobService;
            this.sessionBroker       = sessionBroker;
            this.projectModelService = projectModelService;
            this.cloudConsoleService = cloudConsoleService;

            this.RootNode = new CloudViewModelNode(this);

            //
            // Read current settings.
            //
            // NB. Do not hold on to the settings object because it might change.
            //

            this.operatingSystemsFilter = settingsRepository
                                          .GetSettings()
                                          .IncludeOperatingSystems
                                          .EnumValue;

            eventService.BindAsyncHandler <SessionStartedEvent>(
                e => UpdateInstanceAsync(e.Instance, i => i.IsConnected = true));
            eventService.BindAsyncHandler <SessionEndedEvent>(
                e => UpdateInstanceAsync(e.Instance, i => i.IsConnected = false));
        }
Example #2
0
 public RdpConnectionService(IServiceProvider serviceProvider)
 {
     this.jobService          = serviceProvider.GetService <IJobService>();
     this.sessionBroker       = serviceProvider.GetService <IRemoteDesktopSessionBroker>();
     this.tunnelBroker        = serviceProvider.GetService <ITunnelBrokerService>();
     this.credentialPrompt    = serviceProvider.GetService <ICredentialPrompt>();
     this.projectModelService = serviceProvider.GetService <IProjectModelService>();
     this.settingsService     = serviceProvider.GetService <IConnectionSettingsService>();
     this.window = serviceProvider.GetService <IMainForm>().Window;
 }
 public SshConnectionService(IServiceProvider serviceProvider)
 {
     this.jobService            = serviceProvider.GetService <IJobService>();
     this.sessionBroker         = serviceProvider.GetService <ISshTerminalSessionBroker>();
     this.tunnelBroker          = serviceProvider.GetService <ITunnelBrokerService>();
     this.settingsService       = serviceProvider.GetService <IConnectionSettingsService>();
     this.authorizedKeyService  = serviceProvider.GetService <IAuthorizedKeyService>();
     this.keyStoreAdapter       = serviceProvider.GetService <IKeyStoreAdapter>();
     this.authorizationAdapter  = serviceProvider.GetService <IAuthorizationAdapter>();
     this.sshSettingsRepository = serviceProvider.GetService <SshSettingsRepository>();
     this.projectModelService   = serviceProvider.GetService <IProjectModelService>();
     this.window = serviceProvider.GetService <IMainForm>().Window;
 }
        public HtmlPageGenerator(IServiceProvider serviceProvider)
        {
#if DEBUG
            this.settingsService     = serviceProvider.GetService <IConnectionSettingsService>();
            this.projectModelService = serviceProvider.GetService <IProjectModelService>();

            var projectExplorer = serviceProvider.GetService <IProjectExplorer>();
            projectExplorer.ContextMenuCommands.AddCommand(
                new Command <IProjectModelNode>(
                    "Generate HTML page",
                    context => context is IProjectModelProjectNode
                        ? CommandState.Enabled
                        : CommandState.Unavailable,
                    context => GenerateHtmlPageAsync((IProjectModelProjectNode)context)
                    .ContinueWith(_ => { })));
#endif
        }