]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFileContents.java
Store Variable Name as Hex data array in dynamic pcd build definitions.
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / platform / ui / FpdFileContents.java
index 63b9d6713d45194295fb9fcf6e344c58d779f2a1..8296b21eb4ed681ee6d45331aca342c8569c3489 100644 (file)
@@ -873,6 +873,7 @@ public class FpdFileContents {
         //\r
         // Special dynamic type, if this pcd already exists in other ModuleSA\r
         //\r
+        /* Comment out Item type checking temporarily.\r
         if (itemType.equals("DYNAMIC")) {\r
             \r
             ListIterator li = pcdConsumer.listIterator();\r
@@ -898,7 +899,7 @@ public class FpdFileContents {
                 }\r
             }\r
         }\r
-        \r
+        */\r
         PcdBuildDefinitionDocument.PcdBuildDefinition.PcdData fpdPcd = moduleSa.getPcdBuildDefinition().addNewPcdData();\r
         fpdPcd.setCName(cName);\r
         fpdPcd.setToken(token);\r
@@ -906,6 +907,41 @@ public class FpdFileContents {
         fpdPcd.setDatumType(PcdDataTypes.Enum.forString(dataType));\r
         fpdPcd.setItemType(PcdItemTypes.Enum.forString(itemType));\r
         \r
+        if (defaultVal != null){\r
+            fpdPcd.setValue(defaultVal);\r
+        }\r
+        else {\r
+            if (dataType.equals("UINT8") || dataType.equals("UINT16") || dataType.equals("UINT32") || dataType.equals("UINT64")) {\r
+                fpdPcd.setValue("0");\r
+            }\r
+            if (dataType.equals("BOOLEAN")){\r
+                fpdPcd.setValue("false");\r
+            }\r
+            if (dataType.equals("VOID*")) {\r
+                fpdPcd.setValue("");\r
+            }\r
+        }\r
+        if (dataType.equals("UINT8")){\r
+            fpdPcd.setMaxDatumSize(1);\r
+        }\r
+        if (dataType.equals("UINT16")) {\r
+            fpdPcd.setMaxDatumSize(2);\r
+        }\r
+        if (dataType.equals("UINT32")) {\r
+            fpdPcd.setMaxDatumSize(4);\r
+        }\r
+        if (dataType.equals("UINT64")){\r
+            fpdPcd.setMaxDatumSize(8);\r
+        }\r
+        if (dataType.equals("BOOLEAN")){\r
+            fpdPcd.setMaxDatumSize(1);\r
+        }\r
+        if (dataType.equals("VOID*")) {\r
+            int maxSize = setMaxSizeForPointer(fpdPcd.getValue());\r
+            fpdPcd.setMaxDatumSize(maxSize);\r
+        }\r
+        \r
+        \r
         if (itemType.equals("DYNAMIC") || itemType.equals("DYNAMIC_EX")) {\r
             ArrayList<String> al = LookupDynamicPcdBuildDefinition(cName + " " + tsGuid);\r
             //\r
@@ -917,6 +953,7 @@ public class FpdFileContents {
             }\r
         }\r
         else {\r
+            /*\r
             if (defaultVal != null){\r
                 fpdPcd.setValue(defaultVal);\r
             }\r
@@ -931,6 +968,7 @@ public class FpdFileContents {
                     fpdPcd.setValue("");\r
                 }\r
             }\r
+            \r
             if (dataType.equals("UINT8")){\r
                 fpdPcd.setMaxDatumSize(1);\r
             }\r
@@ -950,6 +988,7 @@ public class FpdFileContents {
                 int maxSize = setMaxSizeForPointer(fpdPcd.getValue());\r
                 fpdPcd.setMaxDatumSize(maxSize);\r
             }\r
+            */\r
         }\r
     }\r
     \r
@@ -1131,11 +1170,11 @@ public class FpdFileContents {
                 DynamicPcdBuildDefinitionsDocument.DynamicPcdBuildDefinitions.PcdBuildData pcdBuildData = \r
                     (DynamicPcdBuildDefinitionsDocument.DynamicPcdBuildDefinitions.PcdBuildData)cursor.getObject();\r
                 if (pcdBuildData.getCName().equals(cName) && pcdBuildData.getTokenSpaceGuidCName().equals(tsGuid)) {\r
-                    cursor.removeXml();\r
-                    if (getDynamicPcdBuildDataCount() == 0) {\r
+                    \r
+                    if (getDynamicPcdBuildDataCount() == 1) {\r
                         cursor.toParent();\r
-                        cursor.removeXml();\r
                     }\r
+                    cursor.removeXml();\r
                     cursor.dispose();\r
                     return;\r
                 }\r
@@ -2320,7 +2359,7 @@ public class FpdFileContents {
         if (fpdHdr == null) {\r
             fpdHdr = fpdRoot.addNewPlatformHeader();\r
         }\r
-        genPlatformDefsSkuInfo("0", "DEFAULT");\r
+        \r
         return fpdHdr;\r
     }\r
     \r