public DownloadWebSocketService(
            IWebSocketHandler webSocketHandler,
            IDirectoryHandler directoryHandler,
            IDownloadHandler downloadHandler,
            IFileHandler fileHandler,
            IFileHistoryHandler fileHistoryHandler,
            ISettingsHandler settingsHandler,
            IDebugHandler debugHandler)
        {
            debugHandler.TraceMessage("Constructor called.", DebugSource.CONSTRUCTOR, DebugType.ENTRY_EXIT);

            DebugHandler       = debugHandler;
            WebSocketHandler   = webSocketHandler;
            DirectoryHandler   = directoryHandler;
            DownloadHandler    = downloadHandler;
            FileHandler        = fileHandler;
            FileHistoryHandler = fileHistoryHandler;
            SettingsHandler    = settingsHandler;
            LastDownloadedInfo = new JsonDownloadInfo();

            LittleWeebSettings = SettingsHandler.GetLittleWeebSettings();
            IrcSettings        = SettingsHandler.GetIrcSettings();


            downloadHandler.OnDownloadUpdateEvent += OnDownloadUpdateEvent;
        }
 public void Subscribe(IDownloadHandler dowloadHanler)
 {
     if (!dowloadHandlers.Contains(dowloadHanler))
     {
         dowloadHandlers.Add(dowloadHanler);
     }
 }
Exemple #3
0
 public ParallelPageService(ILinkScraper[] linkScrapers, IPageConverter[] pageConverters, IDownloadHandler downloadHandler, IPageHandler[] pageHandlers)
 {
     _linkScrapers    = linkScrapers;
     _pageConverters  = pageConverters;
     _downloadHandler = downloadHandler;
     _pageHandlers    = pageHandlers;
 }
        public Task SetSettingsClasses(
            ISettingsHandler settingsHandler,
            IIrcClientHandler ircClientHandler,
            IFileHandler fileHandler,
            IDownloadHandler downloadHandler,
            IDirectoryWebSocketService directoryWebSocketService,
            IIrcWebSocketService ircWebSocketService
            )
        {
            DebugHandler.TraceMessage("SetSettingsClasses Called.", DebugSource.TASK, DebugType.ENTRY_EXIT);

            SettingsHandler           = settingsHandler;
            IrcClientHandler          = ircClientHandler;
            DownloadHandler           = downloadHandler;
            DirectoryWebSocketService = directoryWebSocketService;
            IrcWebSocketService       = ircWebSocketService;


            WebSocketHandlerSettings          = WebSocketHandler as ISettingsInterface;
            IrcClientHandlerSettings          = ircClientHandler as ISettingsInterface;
            DebugHandlerSettings              = DebugHandler as ISettingsInterface;
            FileHandlerSettings               = fileHandler as ISettingsInterface;
            DownloadHandlerSettings           = downloadHandler as ISettingsInterface;
            DirectoryWebSocketServiceSettings = directoryWebSocketService as ISettingsInterface;
            IrcWebSocketServiceSettings       = ircWebSocketService as ISettingsInterface;

            LittleWeebSettings = settingsHandler.GetLittleWeebSettings();
            IrcSettings        = settingsHandler.GetIrcSettings();

            SetAllIrcSettings(IrcSettings);
            SetAllLittleWeebSettings(LittleWeebSettings);

            return(Task.CompletedTask);
        }
Exemple #5
0
        internal DownloadProgress(PatchIntercomms comms, IDownloadHandler downloadHandler)
        {
            this.comms           = comms;
            this.downloadHandler = downloadHandler;

            comms.SetProgress(this);
        }
        public FileWebSocketService(IWebSocketHandler webSocketHandler, IFileHandler fileHandler, IFileHistoryHandler fileHistoryHandler, IDownloadHandler downloadHandler, IDebugHandler debugHandler)
        {
            debugHandler.TraceMessage("Constructor called.", DebugSource.CONSTRUCTOR, DebugType.ENTRY_EXIT);

            WebSocketHandler   = webSocketHandler;
            FileHandler        = fileHandler;
            FileHistoryHandler = fileHistoryHandler;
            DownloadHandler    = downloadHandler;
            DebugHandler       = debugHandler;
        }
Exemple #7
0
 /// <summary>
 /// ダウンロード
 /// </summary>
 /// <param name="response"></param>
 /// <param name="downloadHandler"></param>
 public static void Download(this HttpResponse response, IDownloadHandler downloadHandler)
 {
     response.HeaderEncoding  = downloadHandler.Encode;
     response.ContentEncoding = downloadHandler.Encode;
     response.ContentType     = downloadHandler.ContentType;
     response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(downloadHandler.FileName, Encoding.UTF8));
     downloadHandler.SetWriteData(response);
     response.Flush();
     response.End();
 }
 public ContentDownloadHandler(IDownloadHandler downloadHandler)
 {
     if (downloadHandler is MultipleFilesHandler multipleFilesHandler)
     {
         _multipleFilesHandler = multipleFilesHandler;
     }
     else
     {
         _downloadHandler = downloadHandler;
     }
 }
        public void ProcessDownloadRequest(HttpContext httpContext)
        {
            string            handlerType       = httpContext.Request.QueryString["handlerClass"];
            string            text              = string.Format("Download request has failed for {0}.", httpContext.Request.Path);
            IDownloadHandler  downloadHandler   = this.CreateInstance(handlerType, text);
            PowerShellResults powerShellResults = downloadHandler.ProcessRequest(httpContext);

            if (powerShellResults.Failed)
            {
                text = text + "Exception = " + powerShellResults.ErrorRecords.ToTraceString();
                throw new BadRequestException(new Exception(text));
            }
        }
 public BrowserManager(
     JavaScriptBridge javaScriptBridge,
     BcfierJavascriptInterop javascriptInterop,
     ChromiumWebBrowser chromiumWebBrowser,
     IDownloadHandler downloadHandler,
     IRequestHandler requestHandler,
     ILifeSpanHandler lifeSpanHandler)
 {
     _javaScriptBridge   = javaScriptBridge;
     _javascriptInterop  = javascriptInterop;
     _chromiumWebBrowser = chromiumWebBrowser;
     _downloadHandler    = downloadHandler;
     _requestHandler     = requestHandler;
     _lifeSpanHandler    = lifeSpanHandler;
 }
Exemple #11
0
        public void SetDownloadHandler(IDownloadHandler downloadHandler)
        {
            if (this.downloadHandler != null)
            {
                this.downloadHandler.OnDownloadStringComplete     -= DownloadStringCompletedCallback;
                this.downloadHandler.OnDownloadFileComplete       -= DownloadFileCompletedCallback;
                this.downloadHandler.OnDownloadFileProgressChange -= DownloadFileProgressChangedCallback;
            }

            this.downloadHandler = downloadHandler;

            downloadHandler.OnDownloadStringComplete     += DownloadStringCompletedCallback;
            downloadHandler.OnDownloadFileComplete       += DownloadFileCompletedCallback;
            downloadHandler.OnDownloadFileProgressChange += DownloadFileProgressChangedCallback;
        }
 public BrowserControl(
     IContextMenuHandler contextMenuHandler,
     IDisplayHandler displayHandler,
     IDownloadHandler downloadHandler,
     IKeyboardHandler keyboardHandler,
     ILifeSpanHandler lifeSpanHandler,
     IRequestHandler requestHandler,
     string url) : base(url)
 {
     this.contextMenuHandler = contextMenuHandler;
     this.displayHandler     = displayHandler;
     this.downloadHandler    = downloadHandler;
     this.keyboardHandler    = keyboardHandler;
     this.lifeSpanHandler    = lifeSpanHandler;
     this.requestHandler     = requestHandler;
 }
Exemple #13
0
        public bool GetDownloadHandler(IWebBrowser browser, string mimeType, string fileName, long contentLength, ref IDownloadHandler handler)
        {
            SaveFileDialog dialog = new SaveFileDialog();
            dialog.FileName = fileName;
            string strExt = Path.GetExtension(fileName);
            dialog.Filter = string.Format("{0} 文件(*{0})|*{0}", strExt);
            dialog.RestoreDirectory = true;
            dialog.OverwritePrompt = true;
            dialog.CheckFileExists = false;
            dialog.CheckPathExists = true;
            dialog.AutoUpgradeEnabled = true;

            if (dialog.ShowDialog() == DialogResult.OK)
            {
                string strFilePath = dialog.FileName;
                if (!string.IsNullOrEmpty(strFilePath))
                {
                    //string strFilePath = Path.Combine(strFolderPath, fileName);

                    var downloadItem = new DownloadItem()
                    {
                        DownloadID = Guid.NewGuid(),
                        SourceFileName = fileName,
                        ContentLength = contentLength,
                        MineType = mimeType,
                        SavePath = strFilePath,
                        SaveFileName = Path.GetFileName(strFilePath),
                        StartTime = DateTime.Now
                    };
                    downloadManager.Add(downloadItem);

                    DownloadHandler downloadHandler = new DownloadHandler(downloadItem);
                    downloadHandler.OnDownloadComplete += downloadHandler_OnDownloadComplete;
                    downloadHandler.OnDownloadNotify += downloadHandler_OnDownloadNotify;

                    handler = downloadHandler;

                    (downloadManager as FormDownloadManger).Show();
                    (downloadManager as FormDownloadManger).BringToFront();

                    return true;
                }
            }

            return false;
        }
Exemple #14
0
        static async Task Download(IDownloadHandler downloadHandler, Options opt)
        {
            Task downloadTask = default;
            bool showSyncNotSupportedWarning = false;

            if (opt.SyncTarget)
            {
                if (downloadHandler is MultipleFilesHandler multipleFilesHandler)
                {
                    Console.Write("Hashing local files (this may take some time)... ");
                    downloadTask = multipleFilesHandler.DownloadChangesToFolderAsync(opt.TargetDirectory);
                }
                else
                {
                    showSyncNotSupportedWarning = true;
                }
            }

            if (downloadTask == default)
            {
                downloadTask = downloadHandler.DownloadToFolderAsync(opt.TargetDirectory);
            }

            Console.WriteLine("OK.");

            if (showSyncNotSupportedWarning)
            {
                Console.WriteLine("Warning: Sync was enabled, but the app/item type being download does not support this operation.");
            }

            Console.WriteLine($"Downloading {downloadHandler.TotalFileCount} files with total size of {BytesToDisplayText(downloadHandler.TotalFileSize)}...");

            while (!downloadTask.IsCompleted)
            {
                var delayTask = Task.Delay(500);
                var t         = await Task.WhenAny(delayTask, downloadTask);

                Console.WriteLine($"Progress {downloadHandler.TotalProgress * 100:00.00}%, buffer usage {downloadHandler.BufferUsage * 100:00.00}%");
            }

            await downloadTask;
        }
Exemple #15
0
    void Log(IDownloadHandler handler)
    {
        Text logText;

        if (!m_logTextCache.TryGetValue(handler.info.name, out logText))
        {
            GameObject go = GameObject.Instantiate(txtPrefab) as GameObject;
            go.name = handler.info.name;
            go.transform.SetParent(list);
            logText = go.GetComponent <Text>();
            m_logTextCache.Add(handler.info.name, logText);
        }
        //logText.text = string.Format("{0} - {1:f2}%", task.info.name, task.progress * 100.0f);
        logText.text = handler.info.name + " - " + handler.info.currentSize;
        if (handler.progress < 1.0f)
        {
            logText.color = Color.green;
        }
        else
        {
            logText.color = Color.white;
        }
    }
Exemple #16
0
 public bool GetDownloadHandler(IWebBrowser browser, string mimeType, string fileName, long contentLength, ref IDownloadHandler handler)
 {
     throw new NotImplementedException();
 }
 public bool GetDownloadHandler(IWebBrowser browser, string mimeType, string fileName, long contentLength, ref IDownloadHandler handler)
 {
     throw new NotImplementedException();
 }
 internal DownloadProgress(IDownloadHandler downloadHandler)
 {
     this.downloadHandler = downloadHandler;
 }
 public bool GetDownloadHandler(IWebBrowser browser, string mimeType, string fileName, long contentLength,
                                ref IDownloadHandler handler)
 {
     return(false);
 }
Exemple #20
0
 public bool GetDownloadHandler(IWebBrowser browser, string mimeType, string fileName, long contentLength, ref IDownloadHandler handler)
 {
     return false;
 }
 bool IRequestHandler.GetDownloadHandler(IWebBrowser browser, string mimeType, string fileName, long contentLength, ref IDownloadHandler handler)
 {
     if (!string.IsNullOrEmpty(fileName))
     {
         handler = new SimpleDownloadHandler(fileName);
         return(true);
     }
     else
     {
         return(false);
     }
 }
Exemple #22
0
        public StartUp()
        {
            //handlers

            DebugHandler    = new DebugHandler();
            SettingsHandler = new SettingsHandler(DebugHandler);

            DebugHandler.SetSettings(SettingsHandler);

            DirectoryHandler    = new DirectoryHandler(DebugHandler);
            FileHistoryHandler  = new FileHistoryHandler(DebugHandler);
            FileHandler         = new FileHandler(DebugHandler);
            VersionHandler      = new VersionHandler(DebugHandler);
            WebSocketHandler    = new WebSocketHandler(SettingsHandler, DebugHandler);
            IrcClientHandler    = new IrcClientHandler(SettingsHandler, DebugHandler);
            DownloadHandler     = new DownloadHandler(IrcClientHandler, DebugHandler);
            KitsuHandler        = new KitsuHandler(DebugHandler);
            NiblHandler         = new NiblHandler(KitsuHandler, DebugHandler);
            AnimeProfileHandler = new AnimeProfileHandler(KitsuHandler, NiblHandler, DebugHandler);

            //Services
            DirectoryWebSocketService = new DirectoryWebSocketService(WebSocketHandler, DirectoryHandler, DebugHandler);
            DownloadWebSocketService  = new DownloadWebSocketService(WebSocketHandler, DirectoryHandler, DownloadHandler, FileHandler, FileHistoryHandler, SettingsHandler, DebugHandler);
            FileWebSocketService      = new FileWebSocketService(WebSocketHandler, FileHandler, FileHistoryHandler, DownloadHandler, DebugHandler);
            IrcWebSocketService       = new IrcWebSocketService(WebSocketHandler, IrcClientHandler, SettingsHandler, DebugHandler);
            SettingsWebSocketService  = new SettingsWebSocketService(WebSocketHandler, DirectoryHandler, DebugHandler);
            InfoApiWebSocketService   = new InfoApiWebSocketService(WebSocketHandler, AnimeProfileHandler, NiblHandler, DebugHandler);
            VersionWebSocketService   = new VersionWebSocketService(WebSocketHandler, VersionHandler, DebugHandler);


            //Sub Controllers
            DirectoryWebSocketController = new DirectoryWebSocketController(WebSocketHandler, DirectoryWebSocketService, DebugHandler);
            DownloadWebSocketController  = new DownloadWebSocketController(WebSocketHandler, DownloadWebSocketService, DirectoryWebSocketService, DebugHandler);
            FileWebSocketController      = new FileWebSocketController(WebSocketHandler, FileWebSocketService, DebugHandler);
            IrcWebSocketController       = new IrcWebSocketController(WebSocketHandler, IrcWebSocketService, DebugHandler);
            SettingsWebSocketController  = new SettingsWebSocketController(WebSocketHandler, SettingsWebSocketService, DebugHandler);
            InfoApiWebSocketController   = new InfoApiWebSocketController(WebSocketHandler, InfoApiWebSocketService, DebugHandler);
            VersionWebSocketController   = new VersionWebSocketController(WebSocketHandler, VersionWebSocketService, DebugHandler);

            IBaseWebSocketController baseWebSocketController = new BaseWebSocketController(WebSocketHandler, DebugHandler);

            //start debugh handler registering all the handlers, services and controllers as IDebugEvent interface.

            SettingsWebSocketService.SetSettingsClasses(
                SettingsHandler,
                IrcClientHandler,
                FileHandler,
                DownloadHandler,
                DirectoryWebSocketService,
                IrcWebSocketService
                );

            baseWebSocketController.SetSubControllers(new List <ISubWebSocketController>()
            {
                DirectoryWebSocketController,
                DownloadWebSocketController,
                FileWebSocketController,
                IrcWebSocketController,
                SettingsWebSocketController,
                InfoApiWebSocketController,
                VersionWebSocketController
            });
        }
        public bool GetDownloadHandler(IWebBrowser browser, string mimeType, string fileName, long contentLength, ref IDownloadHandler handler)
        {
            SaveFileDialog dialog = new SaveFileDialog();

            dialog.FileName = fileName;
            string strExt = Path.GetExtension(fileName);

            dialog.Filter             = string.Format("{0} 文件(*{0})|*{0}", strExt);
            dialog.RestoreDirectory   = true;
            dialog.OverwritePrompt    = true;
            dialog.CheckFileExists    = false;
            dialog.CheckPathExists    = true;
            dialog.AutoUpgradeEnabled = true;

            if (dialog.ShowDialog() == DialogResult.OK)
            {
                string strFilePath = dialog.FileName;
                if (!string.IsNullOrEmpty(strFilePath))
                {
                    //string strFilePath = Path.Combine(strFolderPath, fileName);

                    var downloadItem = new DownloadItem()
                    {
                        DownloadID     = Guid.NewGuid(),
                        SourceFileName = fileName,
                        ContentLength  = contentLength,
                        MineType       = mimeType,
                        SavePath       = strFilePath,
                        SaveFileName   = Path.GetFileName(strFilePath),
                        StartTime      = DateTime.Now
                    };
                    downloadManager.Add(downloadItem);

                    DownloadHandler downloadHandler = new DownloadHandler(downloadItem);
                    downloadHandler.OnDownloadComplete += downloadHandler_OnDownloadComplete;
                    downloadHandler.OnDownloadNotify   += downloadHandler_OnDownloadNotify;

                    handler = downloadHandler;

                    (downloadManager as FormDownloadManger).Show();
                    (downloadManager as FormDownloadManger).BringToFront();

                    return(true);
                }
            }

            return(false);
        }
Exemple #24
0
        private void Start()
        {
            EventHandler = GetComponent <IDownloadHandler>();

            AutoLoad();
        }
 public void UnSubscribe(IDownloadHandler dowloadHanler)
 {
     dowloadHandlers.Remove(dowloadHanler);
 }
Exemple #26
0
 public DownloadAPIController(IDownloadHandler dlh)
 {
     dlHandler = dlh;
 }
 bool IRequestHandler.GetDownloadHandler(IWebBrowser browser, out IDownloadHandler handler)
 {
     handler = new DownloadHandler();
     return(true);
 }
 bool IRequestHandler.GetDownloadHandler(IWebBrowser browser, out IDownloadHandler handler)
 {
     handler = new DownloadHandler();
     return true;
 }
 bool IRequestHandler.GetDownloadHandler(IWebBrowser browser, string mimeType, string fileName, long contentLength, ref IDownloadHandler handler)
 {
     handler = new DownloadHandler(fileName);
     return(true);
 }
Exemple #30
0
 public DownloadWindow(long totalBytes, string suggestedFileName, IDownloadHandler downloadHandler)
 {
     this.totalBytes        = totalBytes;
     this.suggestedFileName = suggestedFileName;
     this.downloadHandler   = downloadHandler;
 }
 public void Dowload(VideoSourceModel model, IDownloadHandler downloadHandler)
 {
     downloadManager.Subscribe(downloadHandler);
     downloadManager.Download(new DownloadItem(model.id, model.path));
 }
Exemple #32
-2
 bool IRequestHandler.GetDownloadHandler(IWebBrowser browser, string mimeType, string fileName, long contentLength, ref IDownloadHandler handler)
 {
     handler = new DownloadHandler(fileName);
     return true;
 }