Example #1
0
        /// <summary>
        /// Saves the configs using to the Blizzard standard location
        /// </summary>
        /// <param name="directory"></param>
        public void Save(string directory)
        {
            // save the localised configs
            BuildConfig.Write(directory);
            CDNConfig.Write(directory);

            // update the hashes
            VersionsFile.SetValue("buildconfig", BuildConfig.Checksum.ToString());
            VersionsFile.SetValue("cdnconfig", CDNConfig.Checksum.ToString());

            // save the primary configs
            CDNsFile.Write(directory, Product);
            VersionsFile.Write(directory, Product);
        }
Example #2
0
        /// <summary>
        /// Saves the configs using to the Blizzard standard location
        /// </summary>
        /// <param name="directory"></param>
        public void Save(string directory, ManifestContainer manifestContainer = null)
        {
            // save and update patch config value
            if (PatchConfig != null)
            {
                PatchConfig?.Write(directory);
                BuildConfig?.SetValue("patch-config", PatchConfig.Checksum.ToString());
            }

            // save the localised configs
            BuildConfig?.Write(directory);
            CDNConfig?.Write(directory);

            // update the hashes
            manifestContainer?.VersionsFile.SetValue("buildconfig", BuildConfig.Checksum.ToString());
            manifestContainer?.VersionsFile.SetValue("cdnconfig", CDNConfig.Checksum.ToString());
        }
Example #3
0
        /// <summary>
        /// Saves the configs using to the Blizzard standard location
        /// </summary>
        /// <param name="directory"></param>
        public void Save(string directory)
        {
            // save and update patch config value
            if (PatchConfig != null)
            {
                PatchConfig?.Write(directory);
                BuildConfig?.SetValue("patch-config", PatchConfig.Checksum.ToString());
            }

            // save the localised configs
            BuildConfig?.Write(directory);
            CDNConfig?.Write(directory);

            // update the hashes
            VersionsFile.SetValue("buildconfig", BuildConfig.Checksum.ToString());
            VersionsFile.SetValue("cdnconfig", CDNConfig.Checksum.ToString());

            // save the primary configs
            CDNsFile.Write(directory, Product);
            VersionsFile.Write(directory, Product);
        }
Example #4
0
        public ConfigHandler(ClientHandler client)
        {
            LoadFromInstallationInfo(client, "BuildKey", out BuildConfig? buildConfig);
            LoadFromInstallationInfo(client, "CDNKey", out CDNConfig? cdnConfig);
            LoadFromInstallationInfo(client, "Keyring", out Keyring? keyring);

            if (buildConfig == null)
            {
                throw new NullReferenceException(nameof(buildConfig));
            }
            BuildConfig = buildConfig;

            if (cdnConfig == null)
            {
                throw new NullReferenceException(nameof(cdnConfig));
            }
            CDNConfig = cdnConfig;

            if (keyring == null)
            {
                keyring = new Keyring(client, null);
            }
            Keyring = keyring;
        }
Example #5
0
        public static void Save()
        {
            Settings.Cache?.Clean();

            //Patch exe
            //Patcher.Run("http://" + CASContainer.Settings.Host);

            // Entries
            var entries = SaveEntries().Result;

            // CDN Archives
            Settings.Logger.LogInformation("Starting CDN Index.");
            CDNIndexHandler?.CreateArchive(entries);

            // Root
            Settings.Logger.LogInformation("Starting Root.");
            foreach (var entry in entries)
            {
                RootHandler.AddEntry(entry.Path, entry);
            }
            entries.Add(RootHandler.Write());             //Add to entry list

            // Download
            if (DownloadHandler != null)
            {
                Settings.Logger.LogInformation("Starting Download.");

                foreach (var entry in entries)
                {
                    DownloadHandler.AddEntry(entry);
                }
                entries.Add(DownloadHandler.Write());                 //Add to entry list
            }

            if (InstallHandler != null)
            {
                Settings.Logger.LogInformation("Starting Install.");
                var installManifest = InstallHandler.Write(entries);

                if (installManifest != null)
                {
                    entries.Add(installManifest);                     //Add to entry list
                }
            }

            // Encoding
            Settings.Logger.LogInformation("Starting Encoding.");
            foreach (var entry in entries)
            {
                EncodingHandler.AddEntry(entry);
            }
            entries.Insert(0, EncodingHandler.Write());


            Settings.Logger.LogInformation("Starting Configs.");

            // CDN Config
            CDNConfig.Remove("archive-group");
            CDNConfig.Remove("patch-archives");
            CDNConfig.Remove("patch-archive-group");

            // Build Config
            BuildConfig.Set("patch", "");
            BuildConfig.Set("patch-size", "0");
            BuildConfig.Set("patch-config", "");

            string buildconfig = BuildConfig.Write();
            string cdnconfig   = CDNConfig.Write();
            string version     = BuildInfo["Version"];

            // Build Info - redundant
            BuildInfo["Build Key"] = buildconfig;
            BuildInfo["CDN Key"]   = cdnconfig;
            BuildInfo["CDN Hosts"] = string.Join(" ", Settings.CDNs);
            BuildInfo.Write();

            // CDNs file
            CDNs["Hosts"] = string.Join(" ", Settings.CDNs);
            CDNs.Write();

            // Versions file
            Versions["BuildConfig"]  = buildconfig;
            Versions["CDNConfig"]    = cdnconfig;
            Versions["VersionsName"] = version;
            Versions["BuildId"]      = version.Split('.').Last();
            Versions.Write();

            // Done!
            Logger.LogInformation("CDN Config: " + cdnconfig);
            Logger.LogInformation("Build Config: " + buildconfig);

            // update Cache files
            Settings.Cache?.Save();

            // cleanup
            entries.Clear();
            entries.TrimExcess();
            Close();
        }
Example #6
0
 public ProductService(IProductRepository repository, IOptions <CDNConfig> cDNConfig, ICategoryService categoryService)
 {
     _repository     = repository;
     CDNConfig       = cDNConfig.Value;
     CategoryService = categoryService;
 }
Example #7
0
 public ProductService(IProductRepository repository, IOptions <CDNConfig> cDNConfig)
 {
     _repository = repository;
     CDNConfig   = cDNConfig.Value;
 }