]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/GenBuild/org/tianocore/build/autogen/CommonDefinition.java
Change to new XML Schema.
[mirror_edk2.git] / Tools / Source / GenBuild / org / tianocore / build / autogen / CommonDefinition.java
index 2da1c6b6f58b554b855adabd6a1e3264aa5f20ed..f449cb3a7c7310fa73818444b29ee65ecc5ffc53 100644 (file)
@@ -44,6 +44,7 @@ public class CommonDefinition {
     public final static String autoGenHReleaseDefault = "#define EDK_RELEASE_VERSION        0x00000000\r\n";\r
 \r
     public final static String includeAutogenH        = "#include    <AutoGen.h>\r\n" ;\r
+    public final static String marcDefineStr          = "#define ";\r
 \r
     public final static String gEfi = "gEfi";\r
     public final static String protocolGuid = "ProtocolGuid";\r
@@ -148,10 +149,10 @@ public class CommonDefinition {
                     new MyEnum("PEI_CORE", ModuleTypePeiCore),\r
                     new MyEnum("PEIM", ModuleTypePeim),\r
                     new MyEnum("DXE_CORE", ModuleTypeDxeCore),\r
-                    new MyEnum("DXE_DRIVER", ModuleTypeDxeDriver),\r
+                    new MyEnum("DXE_DRIVER", ModuleTypeDxeRuntimeDriver),\r
                     new MyEnum("DXE_RUNTIME_DRIVER", ModuleTypeDxeRuntimeDriver),\r
-                    new MyEnum("DXE_SMM_DRIVER", ModuleTypeDxeSmmDriver),\r
                     new MyEnum("DXE_SAL_DRIVER", ModuleTypeDxeSalDriver),\r
+                    new MyEnum("DXE_SMM_DRIVER", ModuleTypeDxeSmmDriver),\r
                     new MyEnum("UEFI_DRIVER", ModuleTypeUefiDriver),\r
                     new MyEnum("UEFI_APPLICATION", ModuleTypeUefiApplication) };\r
     \r
@@ -254,29 +255,64 @@ public class CommonDefinition {
       }\r
       return false;\r
     }\r
+    \r
+    /**\r
+     * formateGuidName\r
+     * \r
+     * This function is to formate GUID to ANSI c form.\r
+     * \r
+     * @param guidNameCon\r
+     *            String of GUID.\r
+     * @return Formated GUID.\r
+     */\r
+    public static String formatGuidName(String guidNameConv) {\r
+        String[] strList;\r
+        String guid = "";\r
+        int index = 0;\r
+        if (guidNameConv\r
+                .matches("[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}")) {\r
+            strList = guidNameConv.split("-");\r
+            guid = "0x" + strList[0] + ", ";\r
+            guid = guid + "0x" + strList[1] + ", ";\r
+            guid = guid + "0x" + strList[2] + ", ";\r
+            guid = guid + "{";\r
+            guid = guid + "0x" + strList[3].substring(0, 2) + ", ";\r
+            guid = guid + "0x" + strList[3].substring(2, 4);\r
 \r
-               static public boolean isPeiPhaseComponent (int componentType) {\r
-                       if (ComponentTypePe32Peim == componentType\r
-                                       || ComponentTypePicPeim == componentType\r
-                                       || ComponentTypeCombinedPeimDriver == componentType\r
-                                       || ComponentTypePeiCore == componentType) {\r
-                               return true;\r
-                       }\r
-                       return false;\r
-               }\r
+            while (index < strList[4].length()) {\r
+                guid = guid + ", ";\r
+                guid = guid + "0x" + strList[4].substring(index, index + 2);\r
+                index = index + 2;\r
+            }\r
+            guid = guid + "}";\r
+            return guid;\r
+        } else if (guidNameConv\r
+                .matches("0x[a-fA-F0-9]{1,8},( )*0x[a-fA-F0-9]{1,4},( )*0x[a-fA-F0-9]{1,4}(,( )*\\{)?(,?( )*0x[a-fA-F0-9]{1,2}){8}( )*(\\})?")) {\r
+            strList = guidNameConv.split(",");\r
 \r
-               static public boolean isPe32PeimComponent (int componentType) {\r
-                       if (ComponentTypePe32Peim == componentType) {\r
-                               return true;\r
-                       }\r
-                       return false;\r
-               }\r
+            //\r
+            // chang Microsoft specific form to ANSI c form\r
+            //\r
+            for (int i = 0; i < 3; i++) {\r
+                guid = guid + strList[i] + ",";\r
+            }\r
+            guid = guid + "{";\r
 \r
-               static public boolean isBsDriverComponent (int componentType) {\r
-                       if (ComponentTypeBsDriver == componentType) {\r
-                               return true;\r
-                       }\r
-                       return false;\r
-               }\r
-               \r
-}\r
+            for (int i = 3; i < strList.length; i++) {\r
+                if (i == strList.length - 1) {\r
+                    guid = guid + strList[i];\r
+                } else {\r
+                    guid = guid + strList[i] + ",";\r
+                }\r
+            }\r
+            guid = guid + "}";\r
+            return guid;\r
+        } else {\r
+            System.out\r
+                    .println("Check GUID Value, it don't conform to the schema!!!");\r
+            return "0";\r
+\r
+        }\r
+    }\r
+    \r
+}
\ No newline at end of file