private void RequestConfigurationFileDownload(DownloadItem downloadItem, IBeforeDownloadCallback callback)
        {
            var args = new DownloadEventArgs();

            logger.Debug($"Handling download of configuration file '{downloadItem.SuggestedFileName}'.");
            ConfigurationDownloadRequested?.Invoke(downloadItem.SuggestedFileName, args);

            if (args.AllowDownload)
            {
                if (args.Callback != null)
                {
                    callbacks[downloadItem.Id] = args.Callback;
                }

                logger.Debug($"Starting download of configuration file '{downloadItem.SuggestedFileName}'...");

                using (callback)
                {
                    callback.Continue(args.DownloadPath, false);
                }
            }
            else
            {
                logger.Debug($"Download of configuration file '{downloadItem.SuggestedFileName}' was cancelled.");
            }
        }
Exemplo n.º 2
0
        private void DownloadHandler_ConfigurationDownloadRequested(string fileName, DownloadEventArgs args)
        {
            if (settings.AllowConfigurationDownloads)
            {
                logger.Debug($"Forwarding download request for configuration file '{fileName}'.");
                ConfigurationDownloadRequested?.Invoke(fileName, args);

                if (args.AllowDownload)
                {
                    logger.Debug($"Download request for configuration file '{fileName}' was granted. Asking user to confirm the reconfiguration...");

                    var message = TextKey.MessageBox_ReconfigurationQuestion;
                    var title   = TextKey.MessageBox_ReconfigurationQuestionTitle;
                    var result  = messageBox.Show(message, title, MessageBoxAction.YesNo, MessageBoxIcon.Question, window);

                    args.AllowDownload = result == MessageBoxResult.Yes;
                    logger.Info($"The user chose to {(args.AllowDownload ? "start" : "abort")} the reconfiguration.");
                }
                else
                {
                    logger.Debug($"Download request for configuration file '{fileName}' was denied.");
                    messageBox.Show(TextKey.MessageBox_ReconfigurationDenied, TextKey.MessageBox_ReconfigurationDeniedTitle, parent: window);
                }
            }
            else
            {
                logger.Debug($"Discarded download request for configuration file '{fileName}'.");
            }
        }
Exemplo n.º 3
0
 private void DownloadHandler_ConfigurationDownloadRequested(string fileName, DownloadEventArgs args)
 {
     if (settings.AllowConfigurationDownloads)
     {
         args.BrowserWindow = window;
         logger.Debug($"Forwarding download request for configuration file '{fileName}'.");
         ConfigurationDownloadRequested?.Invoke(fileName, args);
     }
     else
     {
         logger.Debug($"Discarded download request for configuration file '{fileName}'.");
     }
 }
        private void CreateNewInstance(string url = null)
        {
            var id             = new BrowserInstanceIdentifier(++instanceIdCounter);
            var isMainInstance = instances.Count == 0;
            var instanceLogger = logger.CloneFor($"BrowserInstance {id}");
            var startUrl       = url ?? settings.StartUrl;
            var instance       = new BrowserApplicationInstance(appConfig, settings, id, isMainInstance, messageBox, instanceLogger, text, uiFactory, startUrl);

            instance.ConfigurationDownloadRequested += (fileName, args) => ConfigurationDownloadRequested?.Invoke(fileName, args);
            instance.PopupRequested += Instance_PopupRequested;
            instance.Terminated     += Instance_Terminated;

            instance.Initialize();
            instances.Add(instance);
            InstanceStarted?.Invoke(instance);

            logger.Info($"Created browser instance {instance.Id}.");
        }
Exemplo n.º 5
0
        private void CreateNewInstance(string url = null)
        {
            var id             = ++instanceIdCounter;
            var isMainInstance = instances.Count == 0;
            var instanceLogger = logger.CloneFor($"Browser Instance #{id}");
            var startUrl       = url ?? GenerateStartUrl();
            var instance       = new BrowserApplicationInstance(appConfig, settings, id, isMainInstance, fileSystemDialog, hashAlgorithm, messageBox, instanceLogger, text, uiFactory, startUrl);

            instance.ConfigurationDownloadRequested += (fileName, args) => ConfigurationDownloadRequested?.Invoke(fileName, args);
            instance.PopupRequested            += Instance_PopupRequested;
            instance.ResetRequested            += Instance_ResetRequested;
            instance.SessionIdentifierDetected += (i) => SessionIdentifierDetected?.Invoke(i);
            instance.Terminated           += Instance_Terminated;
            instance.TerminationRequested += () => TerminationRequested?.Invoke();

            instance.Initialize();
            instances.Add(instance);

            logger.Info($"Created browser instance {instance.Id}.");
            WindowsChanged?.Invoke();
        }
        private void RequestConfigurationFileDownload(DownloadItem downloadItem, IBeforeDownloadCallback callback)
        {
            var args = new DownloadEventArgs();

            logger.Debug($"Detected download request for configuration file '{downloadItem.Url}'.");
            ConfigurationDownloadRequested?.Invoke(downloadItem.SuggestedFileName, args);
            logger.Debug($"Download of configuration file '{downloadItem.Url}' was {(args.AllowDownload ? "granted" : "denied")}.");

            if (args.AllowDownload)
            {
                if (args.Callback != null)
                {
                    callbacks[downloadItem.Id] = args.Callback;
                }

                using (callback)
                {
                    callback.Continue(args.DownloadPath, false);
                }
            }
        }