]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/Identifications/Externs/ExternsVector.java
1. Fix EDKT273 "Externs are not being grouped together in MSA Files"
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / module / Identifications / Externs / ExternsVector.java
index 93b2507f42fed60b84e6c888e9832ca2c4e365f2..dbc2035fa96db771bdfa9d0f194c888a2f445808 100644 (file)
@@ -16,6 +16,7 @@ package org.tianocore.frameworkwizard.module.Identifications.Externs;
 \r
 import java.util.Vector;\r
 \r
+import org.tianocore.frameworkwizard.common.DataType;\r
 import org.tianocore.frameworkwizard.common.EnumerationData;\r
 \r
 public class ExternsVector {\r
@@ -31,15 +32,6 @@ public class ExternsVector {
         return -1;\r
     }\r
 \r
-    public int findExterns(String name) {\r
-        for (int index = 0; index < vExterns.size(); index++) {\r
-            if (vExterns.elementAt(index).getName().equals(name)) {\r
-                return index;\r
-            }\r
-        }\r
-        return -1;\r
-    }\r
-\r
     public ExternsIdentification getExterns(int index) {\r
         if (index > -1) {\r
             return vExterns.elementAt(index);\r
@@ -49,21 +41,7 @@ public class ExternsVector {
     }\r
 \r
     public void addExterns(ExternsIdentification 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
+        vExterns.addElement(arg0);\r
     }\r
 \r
     public void setExterns(ExternsIdentification arg0, int arg1) {\r
@@ -91,22 +69,106 @@ public class ExternsVector {
         vExterns = Externs;\r
     }\r
 \r
-    public Vector<String> getExternsName() {\r
-        Vector<String> v = new Vector<String>();\r
-        for (int index = 0; index < this.vExterns.size(); index++) {\r
-            v.addElement(vExterns.get(index).getName());\r
-        }\r
-        return v;\r
-    }\r
-\r
     public int size() {\r
         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
+\r
+        //\r
+        // For Specification\r
+        //\r
+        if (this.getExterns(index).getType().equals(EnumerationData.EXTERNS_SPECIFICATION)) {\r
+            v.addElement(getExterns(index).getType());\r
+            v.addElement(getExterns(index).getType() + " Name");\r
+            v.addElement(getExterns(index).getName0());\r
+            return v;\r
+        }\r
+\r
+        //\r
+        // For Image\r
+        //\r
+        if (this.getExterns(index).getType().equals(EnumerationData.EXTERNS_IMAGE)) {\r
+            v.addElement(getExterns(index).getType());\r
+            String name = "";\r
+            String value = "";\r
+\r
+            name = EnumerationData.EXTERNS_MODULE_ENTRY_POINT;\r
+            value = this.getExterns(index).getName0();\r
+            name = name + DataType.HTML_LINE_SEPARATOR + EnumerationData.EXTERNS_MODULE_UNLOAD_IMAGE;\r
+            value = value + DataType.HTML_LINE_SEPARATOR + this.getExterns(index).getName1()\r
+                    + DataType.HTML_LINE_SEPARATOR;\r
+\r
+            v.addElement("<html>" + name + "<html>");\r
+            v.addElement("<html>" + value + "<html>");\r
+            return v;\r
+        }\r
+\r
+        //\r
+        // For Library\r
+        //\r
+        if (this.getExterns(index).getType().equals(EnumerationData.EXTERNS_LIBRARY)) {\r
+            v.addElement(getExterns(index).getType());\r
+            String name = "";\r
+            String value = "";\r
+\r
+            name = EnumerationData.EXTERNS_CONSTRUCTOR;\r
+            value = this.getExterns(index).getName0();\r
+            name = name + DataType.HTML_LINE_SEPARATOR + EnumerationData.EXTERNS_DESTRUCTOR;\r
+            value = value + DataType.HTML_LINE_SEPARATOR + this.getExterns(index).getName1()\r
+                    + DataType.HTML_LINE_SEPARATOR;\r
+\r
+            v.addElement("<html>" + name + "<html>");\r
+            v.addElement("<html>" + value + "<html>");\r
+            return v;\r
+        }\r
+\r
+        //\r
+        // For Driver\r
+        //\r
+        if (this.getExterns(index).getType().equals(EnumerationData.EXTERNS_DRIVER)) {\r
+            v.addElement(getExterns(index).getType());\r
+            String name = "";\r
+            String value = "";\r
+\r
+            name = EnumerationData.EXTERNS_DRIVER_BINDING;\r
+            value = this.getExterns(index).getName0();\r
+            name = name + DataType.HTML_LINE_SEPARATOR + EnumerationData.EXTERNS_COMPONENT_NAME;\r
+            value = value + DataType.HTML_LINE_SEPARATOR + this.getExterns(index).getName1();\r
+            name = name + DataType.HTML_LINE_SEPARATOR + EnumerationData.EXTERNS_DRIVER_CONFIG;\r
+            value = value + DataType.HTML_LINE_SEPARATOR + this.getExterns(index).getName2();\r
+            name = name + DataType.HTML_LINE_SEPARATOR + EnumerationData.EXTERNS_DRIVER_DIAG;\r
+            value = value + DataType.HTML_LINE_SEPARATOR + this.getExterns(index).getName3()\r
+                    + DataType.HTML_LINE_SEPARATOR;\r
+\r
+            v.addElement("<html>" + name + "<html>");\r
+            v.addElement("<html>" + value + "<html>");\r
+            return v;\r
+        }\r
+\r
+        //\r
+        // For Call Back\r
+        //\r
+        if (this.getExterns(index).getType().equals(EnumerationData.EXTERNS_CALL_BACK)) {\r
+            v.addElement(getExterns(index).getType());\r
+            String name = "";\r
+            String value = "";\r
+\r
+            name = EnumerationData.EXTERNS_VIRTUAL_ADDRESS_MAP_CALL_BACK;\r
+            value = this.getExterns(index).getName0();\r
+            name = name + DataType.HTML_LINE_SEPARATOR + EnumerationData.EXTERNS_EXIT_BOOT_SERVICES_CALL_BACK;\r
+            value = value + DataType.HTML_LINE_SEPARATOR + this.getExterns(index).getName1()\r
+                    + DataType.HTML_LINE_SEPARATOR;\r
+\r
+            v.addElement("<html>" + name + "<html>");\r
+            v.addElement("<html>" + value + "<html>");\r
+            return v;\r
+        }\r
+\r
+        //\r
+        // Return a empty v\r
+        //\r
         return v;\r
     }\r
 }\r