]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/global/GlobalData.java
auto adjust pcd settings when display existing ModuleSA settings. if new PCD added...
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / platform / ui / global / GlobalData.java
index 44f6f36b34d16504be69a0d102879a77bfd0ea4f..457208b4e358c252c8886802dbccd359e9e0abc5 100644 (file)
@@ -20,6 +20,7 @@ import org.apache.xmlbeans.XmlObject;
 import org.tianocore.DbPathAndFilename;\r
 import org.tianocore.FrameworkDatabaseDocument;\r
 import org.tianocore.ModuleSurfaceAreaDocument;\r
+import org.tianocore.PcdCodedDocument;\r
 import org.tianocore.ModuleSurfaceAreaDocument.ModuleSurfaceArea;\r
 import org.tianocore.frameworkwizard.platform.ui.id.FpdModuleIdentification;\r
 import org.tianocore.frameworkwizard.platform.ui.id.ModuleIdentification;\r
@@ -464,7 +465,7 @@ public class GlobalData {
         return null;\r
     }\r
     \r
-    public static Vector<String> getModuleSupArchs(ModuleIdentification mi) throws Exception{\r
+    public static Vector<String> getModuleSupArchs(ModuleIdentification mi) throws Exception {\r
         Vector<String> vArchs = null;\r
         ModuleSurfaceAreaDocument.ModuleSurfaceArea msa = (ModuleSurfaceAreaDocument.ModuleSurfaceArea)getModuleXmlObject(mi);\r
         if (msa.getModuleDefinitions() == null || msa.getModuleDefinitions().getSupportedArchitectures() == null) {\r
@@ -481,6 +482,21 @@ public class GlobalData {
         return vArchs;\r
     }\r
     \r
+    public static boolean pcdInMsa (String cName, String tsGuid, ModuleIdentification mi) throws Exception {\r
+        ModuleSurfaceAreaDocument.ModuleSurfaceArea msa = (ModuleSurfaceAreaDocument.ModuleSurfaceArea)getModuleXmlObject(mi);\r
+        if (msa.getPcdCoded() == null || msa.getPcdCoded().getPcdEntryList() == null) {\r
+            return false;\r
+        }\r
+        ListIterator li = msa.getPcdCoded().getPcdEntryList().listIterator();\r
+        while (li.hasNext()) {\r
+            PcdCodedDocument.PcdCoded.PcdEntry msaPcd = (PcdCodedDocument.PcdCoded.PcdEntry)li.next();\r
+            if (msaPcd.getCName().equals(cName) && msaPcd.getTokenSpaceGuidCName().equals(tsGuid)) {\r
+                return true;\r
+            }\r
+        }\r
+        return false;\r
+    }\r
+    \r
 }\r
 \r
 final class KeyComparator implements Comparator<String> {\r