]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/Identifications/Externs/ExternsVector.java
Use table and popup window to add/edit all elements of module instead of original...
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / module / Identifications / Externs / ExternsVector.java
index ee5a031b4949e11bcb82d72b8b58cd3eb4c1c946..93b2507f42fed60b84e6c888e9832ca2c4e365f2 100644 (file)
@@ -16,6 +16,8 @@ package org.tianocore.frameworkwizard.module.Identifications.Externs;
 \r
 import java.util.Vector;\r
 \r
+import org.tianocore.frameworkwizard.common.EnumerationData;\r
+\r
 public class ExternsVector {\r
 \r
     private Vector<ExternsIdentification> vExterns = new Vector<ExternsIdentification>();\r
@@ -47,10 +49,24 @@ public class ExternsVector {
     }\r
 \r
     public void addExterns(ExternsIdentification arg0) {\r
-        vExterns.addElement(arg0);\r
+        boolean isExistPcd = false;\r
+        if (arg0.getType().equals(EnumerationData.EXTERNS_PCD_IS_DRIVER)) {\r
+            for (int index = 0; index < size(); index++) {\r
+                if (getExterns(index).getType().equals(EnumerationData.EXTERNS_PCD_IS_DRIVER)) {\r
+                    setExterns(arg0, index);\r
+                    isExistPcd = true;\r
+                    break;\r
+                }\r
+            }\r
+            if (!isExistPcd) {\r
+                vExterns.addElement(arg0);    \r
+            }\r
+        } else {\r
+            vExterns.addElement(arg0);\r
+        }\r
     }\r
 \r
-    public void updateExterns(ExternsIdentification arg0, int arg1) {\r
+    public void setExterns(ExternsIdentification arg0, int arg1) {\r
         vExterns.setElementAt(arg0, arg1);\r
     }\r
 \r
@@ -87,4 +103,10 @@ public class ExternsVector {
         return this.vExterns.size();\r
     }\r
 \r
+    public Vector<String> toStringVector(int index) {\r
+        Vector<String> v = new Vector<String>();\r
+        v.addElement(getExterns(index).getName());\r
+        v.addElement(getExterns(index).getType());\r
+        return v;\r
+    }\r
 }\r