/// <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); }
//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; }
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); }
public static bool hasTrueKey(this IniParser.Model.KeyDataCollection keyDatas, string key) { return(keyDatas.ContainsKey(key) && keyDatas[key].ToLower() == "true"); }
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); }
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; }