Example #1
0
 /// <summary>
 /// Parse the team name, game name, etc, out of a given config file using the IniParser.
 /// </summary>
 /// <param name="configFilePath"></param>
 /// <returns></returns>
 private string GetParameterFromConfig(string param, string configFilePath)
 {
     IniParser.FileIniDataParser       parser     = new IniParser.FileIniDataParser();
     IniParser.Model.IniData           configData = parser.ReadFile(configFilePath);
     IniParser.Model.KeyDataCollection gameInfo   = configData[gameInfoSection];
     return(gameInfo.GetKeyData(param).Value);
 }
Example #2
0
 //read the games config file and load the assets
 /// <param name="directory"> directory to load game assets from</param>
 public void LoadAssets(string directory)
 {
     IniParser.FileIniDataParser       parser     = new IniParser.FileIniDataParser();
     IniParser.Model.IniData           configData = parser.ReadFile(directory);
     IniParser.Model.KeyDataCollection gameInfo   = configData[assetSection];
     string teamName = gameInfo.GetKeyData(teamSection).Value;
     string gameName = gameInfo.GetKeyData(nameSection).Value;
 }
Example #3
0
        public static List <DbConnectionInfo> readSettings(String filename = "")
        {
            if (String.IsNullOrEmpty(filename))
            {
                filename = defaultConnectionsFile;
            }

            List <DbConnectionInfo> dbConnections = new List <DbConnectionInfo>();

            var parser = new FileIniDataParser();

            IniParser.Model.IniData data = parser.ReadFile(filename);

            DbConnectionInfo thisConnection;

            foreach (IniParser.Model.SectionData section in data.Sections)
            {
                thisConnection = new DbConnectionInfo();

                IniParser.Model.KeyDataCollection keyDataCollection = section.Keys;

                string hostname = keyDataCollection["hostname"];
                string port     = keyDataCollection["port"];
                string database = keyDataCollection["database"];
                string username = keyDataCollection["username"];
                string password = keyDataCollection["password"];

                thisConnection.ConnectionName = section.SectionName;
                thisConnection.Hostname       = hostname;
                thisConnection.Port           = port;
                thisConnection.Database       = database;
                thisConnection.Username       = username;
                thisConnection.Password       = password;

                dbConnections.Add(thisConnection);
            }
            return(dbConnections);
        }
Example #4
0
 public static bool hasTrueKey(this IniParser.Model.KeyDataCollection keyDatas, string key)
 {
     return(keyDatas.ContainsKey(key) && keyDatas[key].ToLower() == "true");
 }
Example #5
0
        public void ReadIniFile(string IniFilePath)
        {
            var IniParser = new IniParser.FileIniDataParser();

            IniParser.Parser.Configuration.AllowDuplicateKeys      = true;
            IniParser.Parser.Configuration.OverrideDuplicateKeys   = false;
            IniParser.Parser.Configuration.SkipInvalidLines        = true;
            IniParser.Parser.Configuration.AllowDuplicateSections  = true;
            IniParser.Parser.Configuration.AllowKeysWithoutSection = true;
            IniData = IniParser.ReadFile(IniFilePath);
            IniMain = IniData["Main"];
            if (IniMain == null)
            {
                return;
            }
            Number        = Trim(IniMain["Number"]);
            Name          = Trim(IniMain["Name"]);
            Folder        = Trim(IniMain["Folder"]);
            Subfolder     = Trim(IniMain["Subfolder"]);
            Genre         = Trim(IniMain["Genre"]);
            SubGenre      = Trim(IniMain["SubGenre"]);
            SubGenre2     = Trim(IniMain["SubGenre2"]);
            Publisher     = Trim(IniMain["Publisher"]);
            Developer     = Trim(IniMain["Developer"]);
            Year          = Trim(IniMain["Year"]);
            Executable    = Trim(IniMain["Executable"]);
            DBConfScummID = Trim(IniMain["DBConf/ScummID"]);
            Emulator      = Trim(IniMain["Emulator"]);
            Setup         = Trim(IniMain["Setup"]);
            Setup         = Trim(IniMain["Setup"]);
            Front01       = Trim(IniMain["Front01"]);
            Back01        = Trim(IniMain["Back01"]);
            Media01       = Trim(IniMain["Media01"]);
            Title01       = Trim(IniMain["Title01"]);
            Screen01      = Trim(IniMain["Screen01"]);
            Adv01         = Trim(IniMain["Adv01"]);
            Manual        = Trim(IniMain["Manual"]);
            Platform      = Trim(IniMain["Platform"]);
            Designer      = Trim(IniMain["Designer"]);
            Designer2     = Trim(IniMain["Designer2"]);
            Series        = Trim(IniMain["Series"]);
            Series2       = Trim(IniMain["Series2"]);
            Extra1        = Trim(IniMain["Extra1"]);
            ExtraLink1    = Trim(IniMain["ExtraLink1"]);
            Extra2        = Trim(IniMain["Extra2"]);
            ExtraLink2    = Trim(IniMain["ExtraLink2"]);
            Extra3        = Trim(IniMain["Extra3"]);
            ExtraLink3    = Trim(IniMain["ExtraLink3"]);
            Extra4        = Trim(IniMain["Extra4"]);
            ExtraLink4    = Trim(IniMain["ExtraLink4"]);
            Extra5        = Trim(IniMain["Extra5"]);
            ExtraLink5    = Trim(IniMain["ExtraLink5"]);
            Extra6        = Trim(IniMain["Extra6"]);
            ExtraLink6    = Trim(IniMain["ExtraLink6"]);
            Extra7        = Trim(IniMain["Extra7"]);
            ExtraLink7    = Trim(IniMain["ExtraLink7"]);
            Extra8        = Trim(IniMain["Extra8"]);
            ExtraLink8    = Trim(IniMain["ExtraLink8"]);
            Extra9        = Trim(IniMain["Extra9"]);
            ExtraLink9    = Trim(IniMain["ExtraLink9"]);
            About         = Trim(IniMain["About"]);
            Rating        = Trim(IniMain["Rating"]);
            CustomEmuPath = Trim(IniMain["CustomEmuPath"]);
        }
        public override List <Program> LoadPrograms()
        {
            List <Program> list = new List <Program>();
            var            ini  = new IniParser.Parser.IniDataParser();

            ini.Configuration.AllowDuplicateKeys = true;

            string menuSettingsPath = Path.Combine(BaseDirectory, @"PortableApps.com\Data\PortableAppsMenu.ini");

            IniParser.Model.KeyDataCollection appsRenamed = null, appsRecategorized = null, appsHidden = null;
            if (File.Exists(menuSettingsPath))
            {
                var menuSettings = ini.Parse(File.ReadAllText(menuSettingsPath, Encoding.Default));
                appsRenamed       = menuSettings["AppsRenamed"];
                appsRecategorized = menuSettings["AppsRecategorized"];
                appsHidden        = menuSettings["AppsHidden"];
            }
            if (appsRenamed == null)
            {
                appsRenamed = new IniParser.Model.KeyDataCollection();
            }
            if (appsRecategorized == null)
            {
                appsRecategorized = new IniParser.Model.KeyDataCollection();
            }
            if (appsHidden == null)
            {
                appsHidden = new IniParser.Model.KeyDataCollection();
            }

            foreach (var appDir in Directory.GetDirectories(BaseDirectory))
            {
                var appDirName   = Path.GetDirectoryName(appDir);
                var appInfoPath  = Path.Combine(appDir, @"App\AppInfo\appinfo.ini");
                var appInfoValid = false;

                if (File.Exists(appInfoPath))
                {
                    var appInfo = ini.Parse(File.ReadAllText(appInfoPath, Encoding.Default));
                    var appName = appInfo["Details"]["Name"] ?? appDirName;
                    var control = appInfo["Control"];
                    int count;
                    if (Int32.TryParse(control["Icons"], out count))
                    {
                        appInfoValid = true;
                        for (int i = 1; i <= count; i++)
                        {
                            string cmdline, name, icon;
                            cmdline = control[String.Format("Start{0}", i)];
                            name    = control[String.Format("Name{0}", i)];
                            icon    = control[String.Format("ExtractIcon{0}", i)];

                            if (i == 1)
                            {
                                if (cmdline == null)
                                {
                                    cmdline = control["Start"];
                                }
                                if (cmdline == null)
                                {
                                    continue;
                                }

                                if (name == null)
                                {
                                    name = appName;
                                }
                                if (icon == null)
                                {
                                    icon = control["ExtractIcon"];
                                }
                                if (icon == null && !File.Exists(icon = Path.Combine(appDir, @"App\AppInfo\appicon.ico")))
                                {
                                    icon = null;
                                }
                            }

                            if (cmdline == null)
                            {
                                continue;
                            }
                            if (name == null)
                            {
                                name = String.Format("{0} #{1}", appName, i);
                            }
                            if (icon == null)
                            {
                                icon = Path.Combine(appDir, String.Format(@"App\AppInfo\appicon{0}.ico", i));
                            }

                            cmdline = Path.Combine(appDir, cmdline);
                            var menuKey = (appDirName + @"\" + cmdline).ToLower();

                            var renamed = appsRenamed[menuKey];
                            if (renamed != null)
                            {
                                name = renamed;
                            }

                            var hidden = appsHidden[menuKey] == "true";

                            if (!hidden)
                            {
                                Program p = new Program()
                                {
                                    Title       = name,
                                    IcoPath     = icon,
                                    ExecutePath = cmdline
                                };
                                list.Add(p);
                            }
                        }
                    }
                }

                if (!appInfoValid)
                {
                    foreach (var item in Directory.GetFiles(appDir, "*.exe", SearchOption.TopDirectoryOnly))
                    {
                        var menuKey = Path.GetFullPath(item).Substring(Path.GetFullPath(BaseDirectory).Length + 1).ToLower();

                        if (appsHidden[menuKey] != "true")
                        {
                            var p       = CreateEntry(item);
                            var renamed = appsRenamed[menuKey];
                            if (renamed != null)
                            {
                                p.Title = renamed;
                            }

                            list.Add(p);
                        }
                    }
                }
            }

            return(list);
        }
Example #7
0
 private static string GetValue(IniParser.Model.KeyDataCollection keys, string name)
 {
     return(keys.ContainsKey(name) ? keys[name] : "");
 }
        public override List<Program> LoadPrograms()
        {
            List<Program> list = new List<Program>();
            var ini = new IniParser.Parser.IniDataParser();
            ini.Configuration.AllowDuplicateKeys = true;

            string menuSettingsPath = Path.Combine(BaseDirectory, @"PortableApps.com\Data\PortableAppsMenu.ini");

            IniParser.Model.KeyDataCollection appsRenamed = null, appsRecategorized = null, appsHidden = null;
            if (File.Exists(menuSettingsPath))
            {
                var menuSettings = ini.Parse(File.ReadAllText(menuSettingsPath, Encoding.Default));
                appsRenamed = menuSettings["AppsRenamed"];
                appsRecategorized = menuSettings["AppsRecategorized"];
                appsHidden = menuSettings["AppsHidden"];
            }
            if (appsRenamed == null) appsRenamed = new IniParser.Model.KeyDataCollection();
            if (appsRecategorized == null) appsRecategorized = new IniParser.Model.KeyDataCollection();
            if (appsHidden == null) appsHidden = new IniParser.Model.KeyDataCollection();

            foreach (var appDir in Directory.GetDirectories(BaseDirectory))
            {
                var appDirName = Path.GetDirectoryName(appDir);
                var appInfoPath = Path.Combine(appDir, @"App\AppInfo\appinfo.ini");
                var appInfoValid = false;

                if (File.Exists(appInfoPath))
                {
                    var appInfo = ini.Parse(File.ReadAllText(appInfoPath, Encoding.Default));
                    var appName = appInfo["Details"]["Name"] ?? appDirName;
                    var control = appInfo["Control"];
                    int count;
                    if (Int32.TryParse(control["Icons"], out count))
                    {
                        appInfoValid = true;
                        for (int i = 1; i <= count; i++)
                        {
                            string cmdline, name, icon;
                            cmdline = control[String.Format("Start{0}", i)];
                            name = control[String.Format("Name{0}", i)];
                            icon = control[String.Format("ExtractIcon{0}", i)];

                            if (i == 1)
                            {
                                if (cmdline == null) cmdline = control["Start"];
                                if (cmdline == null) continue;

                                if (name == null) name = appName;
                                if (icon == null) icon = control["ExtractIcon"];
                                if (icon == null && !File.Exists(icon = Path.Combine(appDir, @"App\AppInfo\appicon.ico"))) icon = null;
                            }

                            if (cmdline == null) continue;
                            if (name == null) name = String.Format("{0} #{1}", appName, i);
                            if (icon == null) icon = Path.Combine(appDir, String.Format(@"App\AppInfo\appicon{0}.ico", i));

                            cmdline = Path.Combine(appDir, cmdline);
                            var menuKey = (appDirName + @"\" + cmdline).ToLower();

                            var renamed = appsRenamed[menuKey];
                            if (renamed != null)
                                name = renamed;

                            var hidden = appsHidden[menuKey] == "true";

                            if (!hidden)
                            {
                                Program p = new Program()
                                {
                                    Title = name,
                                    IcoPath = icon,
                                    ExecutePath = cmdline
                                };
                                list.Add(p);
                            }
                        }
                    }
                }

                if (!appInfoValid)
                {
                    foreach (var item in Directory.GetFiles(appDir, "*.exe", SearchOption.TopDirectoryOnly))
                    {
                        var menuKey = Path.GetFullPath(item).Substring(Path.GetFullPath(BaseDirectory).Length + 1).ToLower();

                        if (appsHidden[menuKey] != "true")
                        {
                            var p = CreateEntry(item);
                            var renamed = appsRenamed[menuKey];
                            if (renamed != null)
                                p.Title = renamed;

                            list.Add(p);
                        }
                    }
                }
            }

            return list;
        }