Esempio n. 1
0
 private void checkForUpdatesCheckEdit_CheckedChanged(object sender, EventArgs e)
 {
     if (applicationUpdateService == null)
     {
         applicationUpdateService = (ApplicationUpdateService)ContextRegistry.GetContext().GetObject("ApplicationUpdateService");
     }
     applicationUpdateService.EnableTimer(checkForUpdatesCheckEdit.Checked);
 }
Esempio n. 2
0
 private void Download(object o)
 {
     try
     {
         Process.Start(new ProcessStartInfo(ApplicationUpdateService.GetDownloadUri().AbsoluteUri));
     }
     catch (Exception exception)
     {
         Logger.Error(exception);
     }
 }
Esempio n. 3
0
 private async Task Download(object o)
 {
     try
     {
         await Task.Run(() =>
         {
             Process.Start(new ProcessStartInfo(ApplicationUpdateService.GetDownloadUri().AbsoluteUri));
         });
     }
     catch (Exception exception)
     {
         Logger.Error(exception);
     }
 }
Esempio n. 4
0
 public void CheckForUpdates()
 {
     if (Settings.AppSettings.CheckForUpdates)
     {
         if (_lastCheckDateTime == null ||
             DateTime.Now.Subtract(_lastCheckDateTime.GetValueOrDefault()).TotalHours > 6)
         {
             Task <string> .Factory.StartNew(
                 () =>
                 ApplicationUpdateService.GetLatestReleaseFromServer(
                     Settings.AppSettings.CheckForAlphaReleases))
             .ContinueWith(UpdateContinuationAction);
         }
     }
 }
Esempio n. 5
0
 private void UpdateContinuationAction(Task <string> task)
 {
     BeginInvokeOnCurrentDispatcher(() =>
     {
         if (task.Result == null)
         {
             if (ApplicationUpdateService.IsNewVersionAvailable())
             {
                 var version = ApplicationUpdateService.GetNewAvailableVersion();
                 if (string.IsNullOrEmpty(LatestVersion) || !version.Equals(LatestVersion))
                 {
                     IsLatestVersionAvailable = true;
                     LatestVersion            = version;
                     SystemTrayNotifierViewModel.ShowBalloon(
                         $"New Update {version} Available!", 5000);
                 }
             }
             _lastCheckDateTime = DateTime.Now;
         }
     });
 }
Esempio n. 6
0
        public AgentHost(
            IDeviceConfiguration deviceConfiguration,
            IUptimeProvider uptimeProvider,
            DeviceStateProvider deviceStateProvider,
            IPathFactory pathFactory,
            DeviceApiClient deviceApiClient,
            ApplicationUpdateService applicationUpdateService,
            IRootFileSystemUpdateService rootFileSystemUpdateService,
            AgentUpdateService agentUpdateService,
            IDockerClient dockerClient,
            ApplicationLogSucker applicationLogSucker,
            ILogger logger)
        {
            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }
            _deviceApiClient             = deviceApiClient ?? throw new ArgumentNullException(nameof(deviceApiClient));
            _applicationUpdateService    = applicationUpdateService ?? throw new ArgumentNullException(nameof(applicationUpdateService));
            _rootFileSystemUpdateService = rootFileSystemUpdateService ?? throw new ArgumentNullException(nameof(rootFileSystemUpdateService));
            _agentUpdateService          = agentUpdateService ?? throw new ArgumentNullException(nameof(agentUpdateService));
            _dockerClient         = dockerClient ?? throw new ArgumentNullException(nameof(dockerClient));
            _applicationLogSucker = applicationLogSucker ?? throw new ArgumentNullException(nameof(applicationLogSucker));
            _logger = logger.ForContext(GetType());
            _deviceStateProvider = deviceStateProvider ?? throw new ArgumentNullException(nameof(deviceStateProvider));
            _uptimeProvider      = uptimeProvider ?? throw new ArgumentNullException(nameof(uptimeProvider));
            _deviceConfiguration = deviceConfiguration;

            //Config
            _logger.Information("Docker Endpoint: {DockerSocket}", pathFactory.DockerEndpoint);
            _logger.Information("DeviceId: {DeviceId}", deviceConfiguration?.DeviceId);
            _logger.Information("DeviceApi Url: {DeviceApiUrl}", deviceConfiguration?.DeviceApiUrl);

            //The agent should be updated before the application
            _updateServices = new UpdateService[]
            {
                _agentUpdateService,
                _applicationUpdateService
            };
        }