コード例 #1
0
ファイル: AddonManager.cs プロジェクト: freakbyte/Meldii
        public void GetMelderInstalledAddons(string path)
        {
            MainView.StatusMessage = "Discovering Installed Addons...";

            if (Directory.Exists(path))
            {
                string[] fileEntries = Directory.GetFiles(path, "*.ini");
                foreach (string fileName in fileEntries)
                {
                    using (TextReader reader = File.OpenText(fileName))
                    {
                        AddonMetaData addon = new AddonMetaData();
                        addon.ReadFromIni(reader);

                        var FullAddon = GetAddonLocalByNameAndVersion(addon.Name, addon.Version);

                        if (FullAddon != null)
                        {
                            FullAddon.IsEnabled = true;
                            FullAddon.InstalledFilesList = addon.InstalledFilesList;
                        }
                    }

                }
            }
            else
            {
                Directory.CreateDirectory(path);
            }
        }
コード例 #2
0
ファイル: AddonManager.cs プロジェクト: freakbyte/Meldii
        public static AddonMetaData ParseZipForIni(string path)
        {
            using (ZipFile zip = ZipFile.Read(path))
            {
                foreach (ZipEntry file in zip)
                {
                    if (file.FileName.ToUpper().Contains(Properties.Settings.Default.MelderInfoName.ToUpper()))
                    {
                        TextReader reader = new StreamReader(file.OpenReader());

                        AddonMetaData addon = new AddonMetaData();
                        addon.ReadFromIni(reader);
                        return addon;
                    }
                }
            }
            return null;

        }