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();
        }
Exemple #2
0
        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;
        }
Exemple #4
0
        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();
                }
            }
        }
Exemple #6
0
        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);
        }
Exemple #7
0
        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"));
        }
Exemple #8
0
        public void TestGetValue()
        {
            TestHelper.CreateIniFileWithEcs();

            var iniReader = new IniReader(TestHelper.GetIniFilePath());
            var value     = iniReader.GetValue("region_id");

            TestHelper.DeleteIniFile();
            Assert.Empty(value);
        }
Exemple #9
0
        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");
            }
        }
Exemple #10
0
        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("");
        }
Exemple #11
0
        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);
        }
Exemple #17
0
        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);
     }
 }
Exemple #20
0
        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");
        }
Exemple #21
0
 private static string GetGeneralValue(string key)
 {
     return(ConfigReader.GetValue("General", key));
 }
Exemple #22
0
 public static bool readBool(IniReader reader, string section, string name, out bool value)
 {
     value = false;
     return(reader.GetValue(section, name, ref value));
 }
Exemple #23
0
 public static bool readString(IniReader reader, string section, string name, out string value)
 {
     value = string.Empty;
     return(reader.GetValue(section, name, ref value));
 }
Exemple #24
0
        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;
        }
Exemple #28
0
        /// <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));
        }
Exemple #29
0
        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);
        }
Exemple #30
0
        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);
        }