public void LoadLanguages() { cmbLanguages.Items.Clear(); cmbLanguages.Items.Add("(default) 简体中文"); string str = AppString.Other.Translators + Environment.NewLine + new string('-', 74); if (Directory.Exists(AppConfig.LangsDir)) { languages.Clear(); foreach (string fileName in Directory.GetFiles(AppConfig.LangsDir, "*.ini")) { string langName = Path.GetFileNameWithoutExtension(fileName); IniReader reader = new IniReader(fileName); string language = reader.GetValue("General", "Language"); if (language.IsNullOrWhiteSpace()) { language = langName; } string translator = reader.GetValue("General", "Translator"); str += Environment.NewLine + language + new string('\t', 5) + translator; cmbLanguages.Items.Add(language); languages.Add(langName); } } txtTranslators.Text = str; cmbLanguages.SelectedIndex = GetSelectIndex(); }
public void LoadLanguages() { cmbLanguages.Items.Clear(); cmbLanguages.Items.Add("(默认) 简体中文"); string str = AppString.Other.Translators + Environment.NewLine; DirectoryInfo di = new DirectoryInfo(Program.LanguagesDir); if (di.Exists) { iniPaths.Clear(); FileInfo[] fis = di.GetFiles(); foreach (FileInfo fi in fis) { iniPaths.Add(fi.FullName); IniReader reader = new IniReader(fi.FullName); string language = reader.GetValue("General", "Language"); string translator = reader.GetValue("General", "Translator"); str += Environment.NewLine + language + new string('\t', 5) + translator; cmbLanguages.Items.Add(language); } txtTranslators.Text = str; } cmbLanguages.SelectedIndex = GetSelectIndex(); }
public void LoadLanguages() { cmbLanguages.Items.Clear(); cmbLanguages.Items.Add("(默认) 简体中文"); cmbLanguages.SelectedIndex = 0; string str = AppString.Text.Translators + Environment.NewLine; DirectoryInfo di = new DirectoryInfo(Program.LanguagesDir); if (di.Exists) { iniPaths.Clear(); FileInfo[] fis = di.GetFiles(); for (int i = 0; i < fis.Length; i++) { FileInfo fi = fis[i]; IniReader reader = new IniReader(fi.FullName); string name = reader.GetValue("General", "Language"); string translator = reader.GetValue("General", "Translator"); cmbLanguages.Items.Add(name); str += Environment.NewLine + name + "\t\t" + translator; iniPaths.Add(fi.FullName); if (fi.FullName.Equals(Program.LanguageFilePath, StringComparison.OrdinalIgnoreCase)) { cmbLanguages.SelectedIndex = i + 1; } } txtTranslators.Text = str; } selectIndex = cmbLanguages.SelectedIndex; }
private static bool UpdateApp() { IniReader reader = new IniReader(new StringBuilder(GetWebString(UpdateUrl))); Version version1; try { version1 = new Version(reader.GetValue("Update", "Version")); } catch { version1 = new Version(Application.ProductVersion); } Version version2 = new Version(Application.ProductVersion); if (version1.CompareTo(version2) > 0) { string info = reader.GetValue("Update", "Info").Replace("\\n", "\n"); if (MessageBoxEx.Show($"{AppString.MessageBox.UpdateApp}{version1}\n{info}", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) { string url = reader.GetValue("Update", "Url"); ExternalProgram.OpenUrl(url); return(true); } } return(false); }
private static void UpdateApp() { IniReader reader = new IniReader(new StringBuilder(GetWebString(UpdateUrl))); Version version1 = new Version(reader.GetValue("Update", "Version")); Version version2 = new Version(Application.ProductVersion); if (version1.CompareTo(version2) > 0) { string info = reader.GetValue("Update", "Info"); if (MessageBoxEx.Show($"{AppString.MessageBox.UpdateApp}{version1}\n{info}", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) { Process.Start(reader.GetValue("Update", "Url")); Process.GetCurrentProcess().Kill(); } } }
public void TestGetValueWithNoParams() { TestHelper.CreateIniFileWithEcs(); var iniReader = new IniReader(TestHelper.GetIniFilePath()); var value = iniReader.GetValue("region_id", "default"); TestHelper.DeleteIniFile(); Assert.Equal("cn-hangzhou", value); }
private static string GetValue(string section, string key) { string value = UserLanguage?.GetValue(section, key); if (string.IsNullOrEmpty(value)) { value = DefaultLanguage.GetValue(section, key); } return(value.Replace("\\n", "\n")); }
public void TestGetValue() { TestHelper.CreateIniFileWithEcs(); var iniReader = new IniReader(TestHelper.GetIniFilePath()); var value = iniReader.GetValue("region_id"); TestHelper.DeleteIniFile(); Assert.Empty(value); }
public WebAppConfig(Runner runner, IniReader reader) { _runner = runner; SessionsTimeout = TimeSpan.FromMinutes(int.Parse(reader.GetValue("WebApp", "SessionTimeOut", "5"))); var listenOn = int.Parse(reader.GetValue("WebApp", "ListensOnPort", "0")); if (listenOn == 0) { listenOn = (1200 + (Guid.NewGuid().GetHashCode() % 100)) * 10; } ListenerEndPoint = new IPEndPoint(IPAddress.Loopback, listenOn); bool _httpsEnabled = bool.Parse(reader.GetValue("WebApp", "EnableHttps", "false")); if (_httpsEnabled) { var certLocation = reader.GetValue("WebApp", "HttpsCertLocation"); OptionalSSLCertificate = new X509Certificate2(certLocation, "0000"); } }
public static string GetTrigramFromPa() { // default values string paIniPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "ProgressAssist", "pa.ini"); if (File.Exists(paIniPath)) { IniReader ini = new IniReader(paIniPath); return(ini.GetValue("Trigram", "")); } return(""); }
public static bool readARGB(IniReader reader, string section, string name, out ARGB color) { color = ARGB.Transparent; string value = ""; if (reader.GetValue(section, name, ref value)) { color = ARGB.FromString(value); return(true); } return(false); }
static Program() { Directory.CreateDirectory(AppDataConfigDir); if (!DateTime.TryParse(ConfigReader.GetValue("General", "LastCheckUpdateTime"), out LastCheckUpdateTime)) { LastCheckUpdateTime = DateTime.Today.AddMonths(-2); } if (LastCheckUpdateTime.AddMonths(1).CompareTo(DateTime.Today) < 0) { Updater.CheckUpdate(); new IniFileHelper(ConfigIniPath).SetValue("General", "LastCheckUpdateTime", DateTime.Today.ToShortDateString()); } }
static void Main(string[] args) { Console.WriteLine("-- RunnerQueueWorker, ver 0.4 --"); Console.WriteLine("Starting work."); string iniFullPath = PathUtils.GetApplicationIniPath(); var parserWebQueueParameters = new RunnerWebQueueParameters(); int nElementsToProcess = 0; try { // Считывание настроек программы IniReader iniReader = new IniReader(iniFullPath); Console.WriteLine($"Read config file: {iniFullPath}"); // Program params nElementsToProcess = iniReader.GetIntValue("NumberElementsForProcessing", "Program", 0); // WebService parameters parserWebQueueParameters.NewElementUrl = iniReader.GetValue("NewElementUrl", "QueueWebService"); parserWebQueueParameters.Timeout = iniReader.GetIntValue("Timeout", "QueueWebService", 20000); parserWebQueueParameters.ContentType = "application/json"; } catch (FileNotFoundException) { Console.WriteLine($"Can't find ini file at {iniFullPath}."); return; } catch (Exception ex) { Console.WriteLine($"Error readind ini file: {ex.GetType()}"); return; } while (nElementsToProcess-- > 0) { int cnt = processQueue(parserWebQueueParameters); if (cnt == 0) { break; } } Console.WriteLine("Work finished."); //Console.WriteLine("Work finished. Press any key."); //Console.ReadKey(); }
public void GetValue_Int_FalseIfNonExistentKey() { var contents = "[Header]\nTestdata=aaaa"; CreateTestFileWithData(contents); var reader = new IniReader(FullPath); var loadResult = reader.Load(); Assert.IsTrue(loadResult); int value; var result = reader.GetValue("Header", "BadTestdata", out value); Assert.IsFalse(result); }
public void GetValue_Bool_FalseIfNotBoolean() { var contents = "[Header]\nTestdata=aaaa"; CreateTestFileWithData(contents); var reader = new IniReader(FullPath); var loadResult = reader.Load(); Assert.IsTrue(loadResult); bool value; var result = reader.GetValue("Header", "Testdata", out value); Assert.IsFalse(result); }
public void GetValue_Int_ReturnsValueAsInteger() { var contents = "[Header]\nTestdata=123"; CreateTestFileWithData(contents); var reader = new IniReader(FullPath); var loadResult = reader.Load(); Assert.IsTrue(loadResult); int value; var result = reader.GetValue("Header", "Testdata", out value); Assert.IsTrue(result); Assert.AreEqual(123, value); }
public ShopManager() { this.PECollection = new PEFileCollection(); this.PECollection.PopulateCollectionWithStandardGFX(); this.EIF = ItemFile.FromBytes(File.ReadAllBytes(Path.Combine(Environment.CurrentDirectory, "pub", "dat001.eif"))); this.GFX = new NativeGraphicsManager(new NativeGraphicsLoader(this.PECollection)); this.Pillow = this.GFX.BitmapFromResource(GFXTypes.MapTiles, 0, true); var config = new IniReader(Path.Combine(Environment.CurrentDirectory, "config", "setup.ini")); config.Load(); if (!config.GetValue("CONNECTION", "Host", out string host)) { throw new Exception("Unable to read 'Host' from client config."); } this.APIEndpoint = $"http://{host}:8076"; }
public void GetValue_Bool_ConvertsBoolEquivalentsToFalse() { var contents = "[Header]\nItem1=no\nItem2=0\nItem3=off"; CreateTestFileWithData(contents); var reader = new IniReader(FullPath); var loadResult = reader.Load(); Assert.IsTrue(loadResult); for (int i = 1; i <= 3; ++i) { bool value; var result = reader.GetValue("Header", "Item" + i, out value); Assert.IsTrue(result); Assert.IsFalse(value); } }
static Program() { Directory.CreateDirectory(AppDataConfigDir); try { string time = ConfigReader.GetValue("General", "LastCheckUpdateTime"); //二进制数据时间不会受系统时间格式影响 LastCheckUpdateTime = DateTime.FromBinary(Convert.ToInt64(time)); } catch { LastCheckUpdateTime = DateTime.Today.AddMonths(-2); } if (LastCheckUpdateTime.AddMonths(1).CompareTo(DateTime.Today) < 0) { Updater.CheckUpdate(); string time = DateTime.Today.ToBinary().ToString(); new IniFileHelper(ConfigIniPath).SetValue("General", "LastCheckUpdateTime", time); } }
private void ReadConfig() { var config = new IniReader("X.Coordinator.ini"); _webServerTimeout = TimeSpan.FromMinutes(int.Parse(config.GetValue("WebSocketInternal", "SessionTimeOut", "5"))); var listenOn = int.Parse(config.GetValue("WebSocketInternal", "ListensOnPort", "0")); _listenerEndPoint = new IPEndPoint(IPAddress.Loopback, listenOn); _httpsEnabled = bool.Parse(config.GetValue("WebSocketInternal", "EnableHttps", "false")); if (_httpsEnabled) { var certLocation = config.GetValue("WebSocketInternal", "HttpsCertLocation"); _certificate = new X509Certificate2(certLocation, "0000"); } _storageMode = config.GetValue("Storage", "Mode"); _storageConfig = config.GetValue("Storage", "Config"); }
private static string GetGeneralValue(string key) { return(ConfigReader.GetValue("General", key)); }
public static bool readBool(IniReader reader, string section, string name, out bool value) { value = false; return(reader.GetValue(section, name, ref value)); }
public static bool readString(IniReader reader, string section, string name, out string value) { value = string.Empty; return(reader.GetValue(section, name, ref value)); }
public static string GetMenuName(string fileName) { string name = DesktopIniReader.GetValue("LocalizedFileNames", fileName); return(ResourceString.GetDirectString(name)); }
void Build() { int debberVer = 0; ini.GetValue("debber", "debber-version", ref debberVer); if (debberVer != 1) { throw new Exception("File requires a newer debber version. Please update!"); } string binVer = ini.ReadSetting("debber", "debian-binary"); if (binVer != "2.0") { throw new Exception("Invalid or unknown debian version!"); } packageVersion = SemanticVersion.Parse(ini.ReadSetting("package", "version")); packageName = ini.ReadSetting("package", "name"); packageFile = ini.ReadSetting("package", "output").Replace("{NAME}", packageName).Replace("{VERSION}", packageVersion.ToString()); FileSystem.TouchFile(packageFile); SystemConsole.WriteLine("Create <cyan>data.tar.gz<default>..."); byte[] data_tar_gz; using (MemoryStream ms = new MemoryStream()) { TarWriter tarFile = new TarWriter(ms, true); foreach (string line in ini.ReadSection("data.tgz", true)) { string[] parts = line.Split(':'); if (parts.Length < 2) { continue; } switch (parts[0].Trim()) { case "directory": PackDirectory(tarFile, parts[1]); break; case "file": PackFiles(tarFile, parts); break; default: throw new Exception(string.Format("Invalid setting {0} at [data.tgz]!", line)); } } tarFile.Close(); data_tar_gz = ms.ToArray(); } SystemConsole.WriteLine("Create <cyan>control.tar.gz<default>..."); byte[] control_tar_gz; using (MemoryStream tarStream = new MemoryStream()) { TarWriter tarFile = new TarWriter(tarStream, true); WriteControlFile(tarFile, "control", 640); #region md5sums using (MemoryStream ms = new MemoryStream()) { DataWriter writer = new DataWriter(ms); foreach (KeyValuePair <string, string> md5sum in md5sums) { writer.Write(md5sum.Value); writer.Write(" "); writer.Write(md5sum.Key); writer.Write("\n"); } writer.Close(); SystemConsole.WriteLine(" file: <cyan>md5sums"); tarFile.AddFile("md5sums", ms.ToArray()); } #endregion WriteControlFile(tarFile, "conffiles", 640); WriteControlFile(tarFile, "preinst", 700); WriteControlFile(tarFile, "postinst", 700); WriteControlFile(tarFile, "prerm", 700); WriteControlFile(tarFile, "postrm", 700); tarFile.Close(); control_tar_gz = tarStream.ToArray(); } using (MemoryStream ms = new MemoryStream()) { var arFile = ArFile.CreateNewAr(ms); arFile.WriteHeader(ArHeader.CreateFile("debian-binary", 4)); arFile.WriteData(Encoding.ASCII.GetBytes("2.0\n")); arFile.WriteHeader(ArHeader.CreateFile("control.tar.gz", control_tar_gz.Length)); arFile.WriteData(control_tar_gz); arFile.WriteHeader(ArHeader.CreateFile("data.tar.gz", data_tar_gz.Length)); arFile.WriteData(data_tar_gz); arFile.Close(); File.WriteAllBytes(packageFile, ms.ToArray()); SystemConsole.WriteLine("Completed <green>{0}<default> ...", packageFile); } }
public static int Main(string[] args) { if (AppDomain.CurrentDomain.IsDefaultAppDomain()) { // RazorEngine cannot clean up from the default appdomain... Console.WriteLine("Switching to second AppDomain, for RazorEngine..."); AppDomainSetup adSetup = new AppDomainSetup(); adSetup.ApplicationBase = AppDomain.CurrentDomain.SetupInformation.ApplicationBase; var current = AppDomain.CurrentDomain; // You only need to add strongnames when your appdomain is not a full trust environment. var strongNames = new StrongName[0]; var domain = AppDomain.CreateDomain( "MyMainDomain", null, current.SetupInformation, new PermissionSet(PermissionState.Unrestricted), strongNames); var exitCode = domain.ExecuteAssembly(Assembly.GetExecutingAssembly().Location); // RazorEngine will cleanup. AppDomain.Unload(domain); return(exitCode); } Console.WriteLine("-- ParserQueueRunner, ver 0.2 --"); Console.WriteLine("Starting work."); // Проверка работы Excel Addin "Parser" //string res = CheckExcelAddin(); string EXE = Assembly.GetExecutingAssembly().GetName().Name; string startupPath = Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName); string iniFullPath = Path.Combine(startupPath, EXE + ".ini"); ParserWebQueueParameters parserWebQueueParameters = new ParserWebQueueParameters(); EmailSenderConfig senderConfig = new EmailSenderConfig(); WebParserConfig parserConfig = new WebParserConfig(); int nElementsToProcess = 0; try { // Считывание настроек программы IniReader iniReader = new IniReader(iniFullPath); string testValue = iniReader.GetValue("test", "section", "10"); Console.WriteLine($"Read config file: {iniFullPath}"); // Program params nElementsToProcess = iniReader.GetIntValue("NumberElementsForProcessing", "Program", 0); // WebService parameters parserWebQueueParameters.WebServiceUrl = iniReader.GetValue("WebServiceUrl", "QueueWebService"); parserWebQueueParameters.Method = "Get"; parserWebQueueParameters.Timeout = iniReader.GetIntValue("Timeout", "QueueWebService", 20000); parserWebQueueParameters.ContentType = "application/json"; // Email parameters senderConfig.host = iniReader.GetValue("Host", "EmailSender"); senderConfig.port = iniReader.GetIntValue("Port", "EmailSender"); senderConfig.enableSsl = iniReader.GetBoolValue("EnableSsl", "EmailSender"); senderConfig.username = iniReader.GetValue("UserName", "EmailSender"); senderConfig.password = iniReader.GetValue("Password", "EmailSender"); senderConfig.usernameAlias = iniReader.GetValue("UserNameAlias", "EmailSender"); // Excel Addin Parser parserConfig.AddinConfigName = iniReader.GetValue("ParserConfigName", "ExcelAddinParser"); parserConfig.DealNumberColumn = iniReader.GetValue("DealNumberColumn", "ExcelAddinParser"); parserConfig.IsTrackColumn = iniReader.GetValue("IsTrackColumn", "ExcelAddinParser"); parserConfig.StartRowNumber = iniReader.GetIntValue("StartRowNumber", "ExcelAddinParser", 2); parserConfig.ResultNumberColumn = iniReader.GetValue("ResultNumberColumn", "ExcelAddinParser"); parserConfig.DealNumberHyperlinkColumn = iniReader.GetValue("DealNumberHyperlinkColumn", "ExcelAddinParser"); parserConfig.DocumentPdfFolderNameColumn = iniReader.GetValue("DocumentPdfFolderNameColumn", "ExcelAddinParser"); parserConfig.DocumentPdfUrlColumn = iniReader.GetValue("DocumentPdfUrlColumn", "ExcelAddinParser"); parserConfig.LastDealDateColumn = iniReader.GetValue("LastDealDateColumn", "ExcelAddinParser"); } catch (FileNotFoundException) { Console.WriteLine($"Can't find ini file at {iniFullPath}."); return(0); } catch (Exception ex) { Console.WriteLine($"Error readind ini file: {ex.GetType()}"); return(0); } while (nElementsToProcess-- > 0) { int cnt = processQueue(parserWebQueueParameters, senderConfig, parserConfig); if (cnt == 0) { break; } } Console.WriteLine("Work finished. Press any key."); //Console.ReadKey(); return(0); }
private bool parsePScriptROMGEN(string[] cmdArray, bool debugMode) { string CWDTMP = string.Concat (Application.StartupPath, Path.DirectorySeparatorChar + "papilio" + Path.DirectorySeparatorChar + "_tmp" + Path.DirectorySeparatorChar); string CWDPATCH = string.Concat (Application.StartupPath, Path.DirectorySeparatorChar + "papilio" + Path.DirectorySeparatorChar + "patches" + Path.DirectorySeparatorChar, lblDITPath.Text.Replace ("ROMRoot" + Path.DirectorySeparatorChar, "") + Path.DirectorySeparatorChar); string CWD = string.Concat (Application.StartupPath, Path.DirectorySeparatorChar + "papilio" + Path.DirectorySeparatorChar + "tools" + Path.DirectorySeparatorChar); doLog (" - - Processing `romgen` PScript directive"); Console.WriteLine ("parsePScriptROMGEN"); Console.WriteLine (CWDTMP); Console.WriteLine (CWDPATCH); Console.WriteLine (CWD); try { if (cmdArray.Length == 4 || cmdArray.Length == 5) { if (cmdArray.Length == 5) { string ini_path = Path.Combine (CWDPATCH, cmdArray [4]); Console.WriteLine (ini_path); IniReader my = new IniReader (ini_path); string mode = my.GetValue ("DECRYPT_MODE", "MODE"); Console.WriteLine (mode); string values = my.GetValue ("VALUES", "PICKTABLE"); Console.WriteLine (values); string[] pickTableStr = values.Split (new Char []{ ',' }, 32); if (pickTableStr.GetLength (0) != 32) { doLog (" - PICKTABLE wrong lenght: " + ini_path); return false; } for (int a = 0; a < 32; a++) { picktable [a] = Convert.ToInt32 (pickTableStr [a]); } string table_count = my.GetValue ("TABLE_COUNT", "SWAP_XOR_TABLE"); Console.WriteLine (table_count); int table_count_len = Convert.ToInt32 (table_count); if (table_count_len != 6) { doLog (" - TABLE_COUNT wrong: " + ini_path); return false; } for (int i = 1; i <= table_count_len; i++) { string table = my.GetValue ("TABLE_" + i, "SWAP_XOR_TABLE"); Console.WriteLine (table); string[] XorTabletableStr = table.Split (new Char []{ ',' }, 9); if (XorTabletableStr.GetLength (0) != 9) { doLog (" - WAP_XOR_TABLE wrong " + ini_path); return false; } for (int c = 0; c < 9; c++) { string temp = XorTabletableStr [c].Trim ().Replace ("0x", ""); swap_xor_table [i - 1, c] = Convert.ToByte (temp, 16); } } return romGen (CWDTMP + cmdArray [1], CWDTMP + cmdArray [2] + ".mem", cmdArray [3], true); } else { // no -ini: switch return romGen (CWDTMP + cmdArray [1], CWDTMP + cmdArray [2] + ".mem", cmdArray [3], false); } } else { doLog (" - - Aborting - An error occured processing `romgen` PScript directive (args)"); progressLoadFPGA.Refresh (); return false; } } catch (Exception e) { doLog (" - - Aborting - An error occured processing `romgen` PScript directive"); Console.WriteLine (e.ToString ()); } return false; }
/// <summary> /// Returns the value for a given key. /// </summary> /// <param name="key"></param> /// <returns></returns> public static string GetValue(string key) { IniReader reader = new IniReader(secretPath); return(reader.GetValue(key)); }
public async Task <AlibabaCloudCredentials> GetCredentialFileAlibabaCloudCredentialAsync(CancellationToken cancellationToken) { if (null == credentialFileLocation) { credentialFileLocation = GetHomePath(); var slash = EnvironmentUtil.GetOSSlash(); var fileLocation = EnvironmentUtil.GetComposedPath(credentialFileLocation, slash); if (File.Exists(fileLocation)) { credentialFileLocation = fileLocation; } else { return(null); } } if (credentialFileLocation.Equals("")) { throw new ClientException( "Credentials file environment variable 'ALIBABA_CLOUD_CREDENTIALS_FILE' cannot be empty"); } var iniReader = new IniReader(credentialFileLocation); var sectionNameList = iniReader.GetSections(); if (null != defaultProfile.DefaultClientName) { var userDefineSectionNode = defaultProfile.DefaultClientName; var iniKeyTypeValue = iniReader.GetValue("type", userDefineSectionNode); if (iniKeyTypeValue.Equals("access_key")) { accessKeyId = iniReader.GetValue("access_key_id", userDefineSectionNode); accessKeySecret = iniReader.GetValue("access_key_secret", userDefineSectionNode); regionId = iniReader.GetValue("region_id", userDefineSectionNode); return(await GetAccessKeyCredentialAsync(cancellationToken).ConfigureAwait(false)); } if (iniKeyTypeValue.Equals("ecs_ram_role")) { roleName = iniReader.GetValue("role_name", userDefineSectionNode); regionId = iniReader.GetValue("region_id", userDefineSectionNode); return(await GetInstanceRamRoleAlibabaCloudCredentialAsync(cancellationToken).ConfigureAwait(false)); } if (iniKeyTypeValue.Equals("ram_role_arn")) { accessKeyId = iniReader.GetValue("access_key_id", userDefineSectionNode); accessKeySecret = iniReader.GetValue("access_key_secret", userDefineSectionNode); roleArn = iniReader.GetValue("role_arn", userDefineSectionNode); return(await GetRamRoleArnAlibabaCloudCredentialAsync(cancellationToken).ConfigureAwait(false)); } if (iniKeyTypeValue.Equals("rsa_key_pair")) { publicKeyId = iniReader.GetValue("public_key_id", userDefineSectionNode); privateKeyFile = iniReader.GetValue("private_key_file", userDefineSectionNode); return(await GetRsaKeyPairAlibabaCloudCredentialAsync(cancellationToken).ConfigureAwait(false)); } } else { foreach (var sectionItem in sectionNameList) { if (!sectionItem.Equals("default")) { continue; } accessKeyId = iniReader.GetValue("access_key_id", "default"); accessKeySecret = iniReader.GetValue("access_key_secret", "default"); regionId = iniReader.GetValue("region_id", "default"); return(await GetAccessKeyCredentialAsync(cancellationToken).ConfigureAwait(false)); } } return(null); }
static void Main(string[] args) { if (args.Length == 0) { args = new[] { @"C:\Workspaces\BusinessOrientedLanguage\BOL\DataTypes.Definitions\Archive.ini" } } ; var dataTypeDefinition = new IniReader(args[0]); var name = dataTypeDefinition.GetValue("DataType", "Name"); var isEquatable = bool.Parse(dataTypeDefinition.GetValue("DataType", "IsEquatable", bool.FalseString)); Console.WriteLine("DataType: " + name); var properties = dataTypeDefinition.GetKeys("Properties"); Console.WriteLine("Properties: " + string.Join("; ", properties)); var builder = new CodeGenStringBuilder(); builder.AppendLine("using System;"); builder .AppendLine("namespace DataTypes") .Enclose(namespaceBody => { namespaceBody.Append("public class " + name); if (isEquatable) { namespaceBody.InLine(" : "); } if (isEquatable) { namespaceBody.InLine("IEquatable<" + name + ">"); } namespaceBody.AppendLine().Enclose(classBody => { var parameters = string.Empty; bool secondOrMore = false; foreach (var property in properties) { if (secondOrMore) { parameters += ", "; } parameters += dataTypeDefinition.GetValue("Properties", property) + " " + property; secondOrMore = true; } classBody.AppendLine("public " + name + "(" + parameters + ")") .Enclose(constructorBody => { foreach (var property in properties) { constructorBody.AppendLine("_" + property + " = " + property + ";"); } }); foreach (var property in properties) { classBody.AppendLine(dataTypeDefinition.GetValue("Properties", property) + " _" + property + ";"); } if (isEquatable) { classBody.AppendLine("public bool Equals(" + name + " other)") .Enclose(methodBody => { methodBody.AppendLine("if (other == null) return false;"); foreach (var property in properties) { methodBody.AppendLine("if (other._" + property + " != _" + property + ") return false;"); } methodBody.AppendLine("return true;"); }); classBody.AppendLine("public static bool operator ==(" + name + " x, " + name + " y)") .Enclose(methodBody => { methodBody.AppendLine("if ((object)x == null) return ((object)y == null);"); methodBody.AppendLine("return x.Equals(y);"); }); classBody.AppendLine("public static bool operator !=(" + name + " x, " + name + " y)") .Enclose(methodBody => { methodBody.AppendLine("return !(x == y);"); }); classBody.AppendLine("public override int GetHashCode()") .Enclose(methodBody => { methodBody.AppendLine("int hashCode = 17;"); foreach (var property in properties) { methodBody.AppendLine("if (_" + property + " != default(" + dataTypeDefinition.GetValue("Properties", property) + ")) hashCode = hashCode * 59 + _" + property + ".GetHashCode();"); // methodBody.AppendLine("if (_" + property + " != null) hashCode = hashCode * 59 + _" + property + ".GetHashCode();"); } methodBody.AppendLine("return hashCode;"); }); classBody.AppendLine("public override bool Equals(object other)") .Enclose(methodBody => { methodBody.AppendLine("if (other == null) return false;"); methodBody.AppendLine("if (other.GetType() != this.GetType()) return false;"); methodBody.AppendLine("return this.Equals((" + name + ")other);"); }); } }) ; }); Console.WriteLine(builder.ToString()); // generate output file var fileName = Path.Combine(Path.GetTempPath(), name + ".cs"); File.WriteAllText(fileName, builder.ToString()); Console.WriteLine(fileName); } }
private bool parsePScriptROMGEN(string[] cmdArray, bool debugMode) { string CWDTMP = string.Concat(Application.StartupPath, Path.DirectorySeparatorChar + "papilio" + Path.DirectorySeparatorChar + "_tmp" + Path.DirectorySeparatorChar); string CWDPATCH = string.Concat(Application.StartupPath, Path.DirectorySeparatorChar + "papilio" + Path.DirectorySeparatorChar + "patches" + Path.DirectorySeparatorChar, lblDITPath.Text.Replace("ROMRoot" + Path.DirectorySeparatorChar, "") + Path.DirectorySeparatorChar); string CWD = string.Concat(Application.StartupPath, Path.DirectorySeparatorChar + "papilio" + Path.DirectorySeparatorChar + "tools" + Path.DirectorySeparatorChar); doLog(" - - Processing `romgen` PScript directive"); Console.WriteLine("parsePScriptROMGEN"); Console.WriteLine(CWDTMP); Console.WriteLine(CWDPATCH); Console.WriteLine(CWD); try { if (cmdArray.Length == 4 || cmdArray.Length == 5) { if (cmdArray.Length == 5) { string ini_path = Path.Combine(CWDPATCH, cmdArray [4]); Console.WriteLine(ini_path); IniReader my = new IniReader(ini_path); string mode = my.GetValue("DECRYPT_MODE", "MODE"); Console.WriteLine(mode); string values = my.GetValue("VALUES", "PICKTABLE"); Console.WriteLine(values); string[] pickTableStr = values.Split(new Char [] { ',' }, 32); if (pickTableStr.GetLength(0) != 32) { doLog(" - PICKTABLE wrong lenght: " + ini_path); return(false); } for (int a = 0; a < 32; a++) { picktable [a] = Convert.ToInt32(pickTableStr [a]); } string table_count = my.GetValue("TABLE_COUNT", "SWAP_XOR_TABLE"); Console.WriteLine(table_count); int table_count_len = Convert.ToInt32(table_count); if (table_count_len != 6) { doLog(" - TABLE_COUNT wrong: " + ini_path); return(false); } for (int i = 1; i <= table_count_len; i++) { string table = my.GetValue("TABLE_" + i, "SWAP_XOR_TABLE"); Console.WriteLine(table); string[] XorTabletableStr = table.Split(new Char [] { ',' }, 9); if (XorTabletableStr.GetLength(0) != 9) { doLog(" - WAP_XOR_TABLE wrong " + ini_path); return(false); } for (int c = 0; c < 9; c++) { string temp = XorTabletableStr [c].Trim().Replace("0x", ""); swap_xor_table [i - 1, c] = Convert.ToByte(temp, 16); } } return(romGen(CWDTMP + cmdArray [1], CWDTMP + cmdArray [2] + ".mem", cmdArray [3], true)); } else { // no -ini: switch return(romGen(CWDTMP + cmdArray [1], CWDTMP + cmdArray [2] + ".mem", cmdArray [3], false)); } } else { doLog(" - - Aborting - An error occured processing `romgen` PScript directive (args)"); progressLoadFPGA.Refresh(); return(false); } } catch (Exception e) { doLog(" - - Aborting - An error occured processing `romgen` PScript directive"); Console.WriteLine(e.ToString()); } return(false); }