예제 #1
0
    /// <summary>
    /// Apply configuration by reference.
    /// </summary>
    private void ChangeConfigControls()
    {
        EditorGUILayout.BeginHorizontal();
        EditorGUI.BeginDisabledGroup(targetConf == null);
        if (GUILayout.Button("Apply", EditorStyles.miniButton))
        {
            Target.ApplyConfiguration(targetConf);
        }

        EditorGUI.EndDisabledGroup();
        targetConf = EditorGUILayout.ObjectField(targetConf, typeof(ConfigurationID), true) as ConfigurationID;
        EditorGUILayout.EndHorizontal();
    }
        public void ReadConfig()
        {
            try
            {
                JsonSerializer serializer = new JsonSerializer();
                string         path       = System.IO.Directory.GetCurrentDirectory();
                fileName = path + "\\Assets\\" + JSON_CONFIG;
                string FILE_CFG = File.ReadAllText(fileName);

                //string s = @"{ ""ModelFirmware"": { ""VP5300"": [ ""VP5300 FW v1.00.028.0192.S"", ""VP5300 FW v1.00.028.0192.S Test"" ] } }";
                //var Json = JsonConvert.DeserializeObject<EMVDeviceSettings>(s);
                //string s = @"{ ""GroupTags"": { ""0"": [ ""9F53"" ], ""1"": [ ""DFED0A"" ] } }";
                //var Json = JsonConvert.DeserializeObject<EMVGroupTags>(s);
                //string s = @"{ ""GroupTags"": { ""0"": [ ""9F53"" ], ""1"": [ ""DFED0A"" ] } }";
                //EMVGroupTags Json = JsonConvert.DeserializeObject<EMVGroupTags>(s);
                //string s = @"{ ""GroupModelFirmware"": { ""NEO2"": [ ""*"" ] } }";
                //var Json = JsonConvert.DeserializeObject<ContactlessConfiguration>(s);
                //string s = @"{ ""GroupList"": { ""VisaSetA"": { ""Group"": { ""NEO_1.10"": ""00"", ""NEO_1.20"": ""04"" } } } }";
                //var Json = JsonConvert.DeserializeObject<ContactlessConfiguration>(s);

                terminalCfg = JsonConvert.DeserializeObject <TerminalConfiguration>(FILE_CFG);

                if (terminalCfg != null)
                {
                    // devConfig
                    DeviceConfig = terminalCfg.Configuration.First();
                    // ConfigurationID
                    configurationID = DeviceConfig.ConfigurationID;
                    // Manufacturer
                    Debug.WriteLine("device configuration: manufacturer ----------: [{0}]", (object)configurationID.Manufacturer);
                    // Models
                    md = configurationID.Models;
                    //DisplayCollection(mf.modelFirmware, "modelFirmware");
                    // ContactEMVConfiguration
                    contactEMVConfiguration = DeviceConfig.ContactEMVConfiguration;
                    // AID List
                    aid.Aid = contactEMVConfiguration.AIDList;
                    //DisplayCollection(aid.Aid, "AIDList");
                    // CAPK List
                    capk.CAPK = DeviceConfig.CAPKList;
                    //DisplayCollection(capk.Capk, "CapkList");
                    // Terminal Settings
                    termSettings = contactEMVConfiguration.TerminalSettings;
                    //Debug.WriteLine("device configuration: Terminal Settings --------------");
                    //Debug.WriteLine("MajorConfiguration        : {0}", (object) termSettings.MajorConfiguration);
                    //Debug.WriteLine("MajorConfigurationChecksum: {0}", (object) termSettings.MajorConfigurationChecksum[0]);
                    // SerialNumberTag
                    //Debug.WriteLine("device configuration: Serial Number TAG -----------: [{0}]", (object) termSettings.SerialNumberTag);
                    // TerminalData
                    //DisplayCollection(termSettings.TerminalData, "Terminal Data");
                    // TransactionTagsRequested
                    //DisplayCollection(termSettings.TransactionTags, "TransactionTagsRequested");
                    // TransactionValues
                    transactionData = DeviceConfig.TransactionData;
                    //DisplayCollection(transactionValues.EMVKernelMapping, "EMVKernelMapping");
                    //DisplayCollection(transactionValues.TransactionStartTags, "TransactionStartTags");
                    //DisplayCollection(transactionValues.TransactionAuthenticateTags, "TransactionAuthenticateTags");
                    //DisplayCollection(transactionValues.TransactionCompleteTags, "TransactionCompleteTags");
                    emvDeviceSettings = DeviceConfig.EMVDeviceSettings;
                    foreach (var devSettings in emvDeviceSettings)
                    {
                        EMVGroupTags item = new EMVGroupTags(devSettings.GroupTags);
                        emvGroupTags.Add(item);
                    }

                    contactlessConfiguration = DeviceConfig.ContactlessConfiguration;
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("JsonSerializer: exception: {0}", (object)ex.Message);
            }
        }