Browse Source

配置文件为false的选项从getmessage接口返回值中移除,剩余的用来请求key。

JeffWang 3 years ago
parent
commit
5437fea458
2 changed files with 45 additions and 184 deletions
  1. 44 179
      FactoryTool_CShare/Business/CommonMethod.cs
  2. 1 5
      FactoryTool_CShare/Views/Main.cs

+ 44 - 179
FactoryTool_CShare/Business/CommonMethod.cs

@@ -296,195 +296,60 @@ namespace MOKA_Factory_Tools
 
         }
 
+        /// <summary>
+        /// 检验抄写类型
+        /// </summary>
+        /// <param name="keyTypes"></param>
+        /// 服务器返回的key types
+        /// <param name="cfg_write"></param>
+        /// 配置文件配置的key to write
+        /// <param name="resultKeyType"></param>
+        /// <returns></returns>
         public static bool CheckKeyType(Dictionary<string, string> keyTypes, Config_WriteDone cfg_write, out List<KeyType> resultKeyType)
         {
             resultKeyType = new List<KeyType>();
-
-            Func<string, List <KeyType> ,bool > check_key_type = (keyname, listType) => 
-            {
-                if (!keyTypes.ContainsKey(keyname)) {
-                    Log.WriteErrorLog(string.Format("{0} is not included in the available key type of the order", keyname));
-                    return false;
-                }
-
-                KeyType keyType = new KeyType();
-                keyType.name = keyname;
-                keyType.type = keyTypes[keyname];
-                listType.Add(keyType);
-                return true; 
-            };
-
-            if (cfg_write.DIDWrite_YesNo)
-            {
-                if (!check_key_type("DeviceID", resultKeyType))
-                {
-                    return false;
-                }
-            }
-
-            if (cfg_write.MacWrite_YesNo)
-            {
-                if (!check_key_type("MAC", resultKeyType))
-                {
-                    return false;
-                }
-            }
-
-            if (cfg_write.HDCPWrite_YesNo)
-            {
-                if (!check_key_type("HDCP_KEY", resultKeyType))
-                {
-                    return false;
-                }
-            }
-
-            if (cfg_write.HDCP22Write_YesNo)
-            {
-                if (!check_key_type("HDCP2.2_KEY", resultKeyType))
-                {
-                    return false;
-                }
-            }
-
-            if (cfg_write.ESNWrite_YesNo)
-            {
-                if (!check_key_type("NETFILX_ESN", resultKeyType))
-                {
-                    return false;
-                }
-            }
-
-            if (cfg_write.WidevineWrite_YesNo)
-            {
-                if (!check_key_type("Widevine_KEY", resultKeyType))
-                {
-                    return false;
-                }
-            }
-
-            if (cfg_write.CI_plusWrite_YesNo)
-            {
-                if (!check_key_type("CI_PLUS_KEY", resultKeyType))
-                {
-                    return false;
-                }
-            }
-
-            if (cfg_write.AttestationWrite_YesNo)
-            {
-                if (!check_key_type("Attestation_key", resultKeyType))
-                {
-                    return false;
-                }
-            }
-
-            if (cfg_write.MGKWrite_YesNo)
-            {
-                if (!check_key_type("MGK_KEY", resultKeyType))
-                {
-                    return false;
-                }
-            }
-
-            if (cfg_write.FairplayWrite_YesNo)
-            {
-                if (!check_key_type("Fairplay_KEY", resultKeyType))
-                {
-                    return false;
-                }
-            }
-
-            if (cfg_write.ECPWrite_YesNo)
-            {
-                if (!check_key_type("ECP_KEY", resultKeyType))
-                {
-                    return false;
-                }
-            }
-
-            if (cfg_write.WifiMacWrite_YesNo)
-            {
-                if (!check_key_type("WiFi_MAC", resultKeyType))
-                {
-                    return false;
-                }
-            }
-
-            if (cfg_write.BTMacWrite_YesNo)
-            {
-                if (!check_key_type("BT_MAC", resultKeyType))
-                {
-                    return false;
-                }
-            }
-
-            if (cfg_write.LEKWrite_YesNo)
+            foreach (var item in keyTypes)
             {
-                if (!check_key_type("LEK", resultKeyType))
-                {
-                    return false;
-                }
+                resultKeyType.Add(new KeyType { name = item.Key , type = item.Value});
             }
 
-            if (cfg_write.PEKWrite_YesNo)
+            Action<string, List <KeyType>, bool> check_key_type = (keyname, listType, writeYesNo) => 
             {
-                if (!check_key_type("PEK", resultKeyType))
+                if (keyTypes.ContainsKey(keyname))
                 {
-                    return false;
-                }
-            }
-
-            if (cfg_write.PlayreadyWrite_YesNo)
-            {
-                if (!check_key_type("PlayReady_key", resultKeyType))
-                {
-                    return false;
-                }
-            }
-
-            if (cfg_write.HashWrite_YesNo)
-            {
-                if (!check_key_type("Hashkey", resultKeyType))
-                {
-                    return false;
-                }
-            }
-
-            if (cfg_write.DSNWrite_YesNo)
-            {
-                if (!check_key_type("DSN", resultKeyType))
-                {
-                    return false;
-                }
-            }
-
-            if (cfg_write.YouTubeWrite_YesNo)
-            {
-                if (!check_key_type("YouTube_KEY", resultKeyType))
-                {
-                    return false;
-                }
-            }
-
-            if (cfg_write.ACASKeyWrite_YesNo)
-            {
-                if (!check_key_type("ACAS_KEY", resultKeyType))
-                {
-                    return false;
-                }
-            }
-
-            if (cfg_write.DAKWrite_YesNo)
-            {
-                if (!check_key_type("DAK", resultKeyType))
-                {
-                    return false;
+                    if (!writeYesNo)
+                    {
+                        KeyType kt = listType.Find(x=>x.name == keyname);
+                        if ( kt != null)
+                            listType.Remove(kt);
+                    }
                 }
-            }
-
-            Log.WriteInfoLog("key type of order need to copy="+resultKeyType.ToString());
+            };
 
-            return true;
+            // 共21个key需要抄写;
+            check_key_type("DeviceID", resultKeyType, cfg_write.DIDWrite_YesNo);
+            check_key_type("MAC", resultKeyType, cfg_write.MacWrite_YesNo);
+            check_key_type("HDCP_KEY", resultKeyType, cfg_write.HDCPWrite_YesNo);
+            check_key_type("HDCP2.2_KEY", resultKeyType, cfg_write.HDCP22Write_YesNo);
+            check_key_type("NETFILX_ESN", resultKeyType, cfg_write.ESNWrite_YesNo);
+            check_key_type("Widevine_KEY", resultKeyType, cfg_write.WidevineWrite_YesNo);
+            check_key_type("CI_PLUS_KEY", resultKeyType, cfg_write.CI_plusWrite_YesNo);
+            check_key_type("Attestation_key", resultKeyType, cfg_write.AttestationWrite_YesNo);
+            check_key_type("MGK_KEY", resultKeyType, cfg_write.MGKWrite_YesNo);
+            check_key_type("Fairplay_KEY", resultKeyType, cfg_write.FairplayWrite_YesNo);
+            check_key_type("ECP_KEY", resultKeyType, cfg_write.ECPWrite_YesNo);
+            check_key_type("WiFi_MAC", resultKeyType, cfg_write.WifiMacWrite_YesNo);
+            check_key_type("BT_MAC", resultKeyType, cfg_write.BTMacWrite_YesNo);
+            check_key_type("LEK", resultKeyType, cfg_write.LEKWrite_YesNo);
+            check_key_type("PEK", resultKeyType, cfg_write.PEKWrite_YesNo);
+            check_key_type("PlayReady_key", resultKeyType, cfg_write.PlayreadyWrite_YesNo);
+            check_key_type("Hashkey", resultKeyType, cfg_write.HashWrite_YesNo);
+            check_key_type("DSN", resultKeyType, cfg_write.DSNWrite_YesNo);
+            check_key_type("YouTube_KEY", resultKeyType, cfg_write.YouTubeWrite_YesNo);
+            check_key_type("ACAS_KEY", resultKeyType, cfg_write.ACASKeyWrite_YesNo);
+            check_key_type("DAK", resultKeyType, cfg_write.DAKWrite_YesNo);
+
+            return resultKeyType.Count == 0 ? false : true;
         }
 
         /// <summary>

+ 1 - 5
FactoryTool_CShare/Views/Main.cs

@@ -430,11 +430,7 @@ namespace MOKA_Factory_Tools
                 {
                     if (CommonMethod.GetMidInfo(TestMode.serverurl, OrderText.Text.Trim(), TestMode.MAC, "", "", ErrorDB, out midList1))
                     {
-                        if ( !CommonMethod.CheckKeyType(midList1.keytype, cfg_writedone, out key2Write) )
-                        {
-                            MessageBox.Show("The key type to be copied in the configuration item does not match the order");
-                            return;
-                        }
+                        CommonMethod.CheckKeyType(midList1.keytype, cfg_writedone, out key2Write);
                         OperationPanel.key2Write = key2Write;
 
                         //CommonMethod.UpgradeCheck(UpgradeUrl.Officialurl, midList1.factoryNum, ErrorDB, out UpgradeMsgList1);