예제 #1
0
 public Downloader(Settings settings)
 {
     mSettings = settings;
 }
예제 #2
0
        public static Settings GetSettings(FrbdkUpdaterSettings settings)
        {
            var returnSettings = new Settings {ExtractionPath = settings.SelectedDirectory};

            if (settings.CleanFolder)
            {
                returnSettings.DirectoryToClear = settings.SelectedDirectory;
            }

            returnSettings.ApplicationToRunAfterWorkIsDone = settings.GlueRunPath;
            returnSettings.Passive = settings.Passive;
            returnSettings.ForceDownload = settings.ForceDownload;

            returnSettings.Url = StartRemoteUri + settings.SelectedSource + FrbdkFileName;
            returnSettings.SaveFile = UserAppPath + @"FRBDK\" + settings.SelectedSource + FrbdkFileName;
            returnSettings.LocalFileForTimeStamp = UserAppPath + @"FRBDK\" + settings.SelectedSource + @"\timestamp.txt";

            return returnSettings;
        }
예제 #3
0
        public static Settings GetSettings(UpdaterRuntimeSettings runtimeSettings)
        {
            var toReturn = new Settings
                               {
                                   Url = runtimeSettings.FileToDownload,
                                   SaveFile = runtimeSettings.LocationToSaveFile,
                                   Title = runtimeSettings.FormTitle,
                                   Passive =  false,
                                   ForceDownload = true
                               };

            toReturn.LocalFileForTimeStamp =
                UserAppPath + @"FRBDK\" +
                FileManager.RemovePath(FileManager.RemoveExtension(runtimeSettings.LocationToSaveFile))
                 + @"\timestamp.txt";

            return toReturn;
        }
예제 #4
0
        private void FrmMainLoad(object sender, EventArgs e)
        {
            try
            {
                var extension = FileManager.GetExtension(mFileNameToLoad);

                List<string> stringList = new List<string>();

                if (extension == UpdaterRuntimeSettings.RuntimeSettingsExtension)
                {
                    var updaterRuntimeSettings = UpdaterRuntimeSettings.FromFile(mFileNameToLoad);
                    if (string.IsNullOrEmpty(updaterRuntimeSettings.LocationToSaveFile))
                    {
                        throw new Exception("UserRuntimeSettings LocationToSaveFile is null.  Loaded settings from " + Settings.UserAppPath);
                    }

                    _settings = Settings.GetSettings(updaterRuntimeSettings);
                    Logger.Log("Loading UpdaterRuntimeSettings");

                    if (string.IsNullOrEmpty(_settings.SaveFile))
                    {
                        throw new Exception("The settings SaveFile was null when loading from UpdaterRuntimeSettings");
                    }
                }
                else
                {
                    FrbdkUpdaterSettings tempSettings;

                    if (string.IsNullOrEmpty(mFileNameToLoad))
                    {
                        throw new Exception("The command line argument must not be null");
                    }

                    tempSettings = FrbdkUpdaterSettings.LoadSettings(mFileNameToLoad);
                    stringList.Add("Selected source:" + tempSettings.SelectedSource);
                    _settings = Settings.GetSettings(tempSettings);
                    Logger.Log("Loading FrbdkUpdaterSettings");

                    if (string.IsNullOrEmpty(_settings.SaveFile))
                    {
                        throw new Exception("The settings SaveFile was null when loading from the FRBDKUpdaterSettings");
                    }
                }



                Messaging.ShowAlerts = !_settings.Passive;

                if (!String.IsNullOrEmpty(_settings.Title))
                    UserMessage = _settings.Title;

                var downloader = new Downloader(_settings);

                downloader.ReportProgress += DownloaderOnReportProgress;
                downloader.ErrorOccured += DownloaderOnErrorOccured;
                downloader.DownloadComplete += DownloaderOnDownloadComplete;



                downloader.Start();
            }
            catch(Exception outerException)
            {
                MessageBox.Show(outerException.ToString());
            }
        }