+ public String[] getEventCNameArray(String arch) {\r
+ String[] xPath = null;\r
+\r
+ if (arch == null || arch.equals("")) {\r
+ xPath = new String[]{\r
+ "/CreateEvents/EventTypes[@EventGuidCName]",\r
+ "/SignalEvents/EventTypes[@EventGuidCName]",\r
+ };\r
+ } else {\r
+ xPath = new String[]{\r
+ "/CreateEvents/EventTypes[@EventGuidCName and not(@SupArchList)]",\r
+ "/SignalEvents/EventTypes[@EventGuidCName and not(@SupArchList)]",\r
+ "/CreateEvents/EventTypes[@EventGuidCName and contains(@SupArchList,'" + arch + "')]",\r
+ "/SignalEvents/EventTypes[@EventGuidCName and contains(@SupArchList,'" + arch + "')]",\r
+ };\r
+ }\r
+\r
+ Object[] returns = get("Events", xPath);\r
+ if (returns == null) {\r
+ return new String[0];\r
+ }\r
+\r
+ String[] cnameList = new String[returns.length];\r
+ for (int i = 0; i < returns.length; i++) {\r
+ if (returns[i] instanceof EventsDocument.Events.CreateEvents.EventTypes) {\r
+ cnameList[i] = ((EventsDocument.Events.CreateEvents.EventTypes) returns[i]).getEventGuidCName();\r
+ } else {\r
+ cnameList[i] = ((EventsDocument.Events.SignalEvents.EventTypes) returns[i]).getEventGuidCName();\r
+ }\r
+ }\r
+ return cnameList;\r
+ }\r
+\r
+ public String[] getHobCNameArray(String arch) {\r
+ String[] xPath = null;\r
+\r
+ if (arch == null || arch.equals("")) {\r
+ xPath = new String[]{"/HobTypes[@HobGuidCName]"};\r
+ } else {\r
+ xPath = new String[]{\r
+ "/HobTypes[@HobGuidCName and not(@SupArchList)]",\r
+ "/HobTypes[@HobGuidCName and contains(@SupArchList,'" + arch + "')]",\r
+ };\r
+ }\r
+\r
+ Object[] returns = get("Hobs", xPath);\r
+ if (returns == null) {\r
+ return new String[0];\r
+ }\r
+\r
+ String[] cnameList = new String[returns.length];\r
+ for (int i = 0; i < returns.length; i++) {\r
+ cnameList[i] = ((HobsDocument.Hobs.HobTypes) returns[i]).getHobGuidCName();\r
+ }\r
+ return cnameList;\r
+ }\r
+\r
+ public String[] getVariableCNameArray(String arch) {\r
+ String[] xPath = null;\r
+\r
+ if (arch == null || arch.equals("")) {\r
+ xPath = new String[]{"/Variable"};\r
+ } else {\r
+ xPath = new String[]{"/Variable[not(@SupArchList) or contains(@SupArchList,'" + arch + "')]"};\r
+ }\r
+\r
+ Object[] returns = get("Variables", xPath);\r
+ if (returns == null) {\r
+ return new String[0];\r
+ }\r
+\r
+ String[] cnameList = new String[returns.length];\r
+ for (int i = 0; i < returns.length; i++) {\r
+ cnameList[i] = ((VariablesDocument.Variables.Variable) returns[i]).getGuidCName();\r
+ }\r
+ return cnameList;\r
+ }\r
+\r
+ public String[] getSystemTableCNameArray(String arch) {\r
+ String[] xPath = null;\r
+\r
+ if (arch == null || arch.equals("")) {\r
+ xPath = new String[]{"/SystemTableCNames"};\r
+ } else {\r
+ xPath = new String[]{\r
+ "/SystemTableCNames[not(@SupArchList) or contains(@SupArchList,'" + arch + "')]"\r
+ };\r
+ }\r
+\r
+ Object[] returns = get("SystemTables", xPath);\r
+ if (returns == null) {\r
+ return new String[0];\r
+ }\r
+\r
+ String[] cnameList = new String[returns.length];\r
+ for (int i = 0; i < returns.length; i++) {\r
+ cnameList[i] = ((SystemTablesDocument.SystemTables.SystemTableCNames) returns[i]).getSystemTableCName();\r
+ }\r
+ return cnameList;\r
+ }\r
+\r
+ public String[] getDataHubCNameArray(String arch) {\r
+ String[] xPath = null;\r
+\r
+ if (arch == null || arch.equals("")) {\r
+ xPath = new String[]{"/DataHubRecord"};\r
+ } else {\r
+ xPath = new String[]{"/DataHubRecord[not(@SupArchList) or contains(@SupArchList,'" + arch + "')]"};\r
+ }\r
+\r
+ Object[] returns = get("DataHubs", xPath);\r
+ if (returns == null) {\r
+ return new String[0];\r
+ }\r
+\r
+ String[] cnameList = new String[returns.length];\r
+ for (int i = 0; i < returns.length; i++) {\r
+ cnameList[i] = ((DataHubsDocument.DataHubs.DataHubRecord) returns[i]).getDataHubCName();\r
+ }\r
+ return cnameList;\r
+ }\r
+\r
+ public String[] getHiiPackageCNameArray(String arch) {\r
+ String[] xPath = null;\r
+\r
+ if (arch == null || arch.equals("")) {\r
+ xPath = new String[]{"/HiiPackage"};\r
+ } else {\r
+ xPath = new String[]{"/HiiPackage[not(@SupArchList) or contains(@SupArchList,'" + arch + "')]"};\r
+ }\r
+\r
+ Object[] returns = get("HiiPackages", xPath);\r
+ if (returns == null) {\r
+ return new String[0];\r
+ }\r
+\r
+ String[] cnameList = new String[returns.length];\r
+ for (int i = 0; i < returns.length; i++) {\r
+ cnameList[i] = ((HiiPackagesDocument.HiiPackages.HiiPackage) returns[i]).getHiiCName();\r
+ }\r
+ return cnameList;\r
+ }\r
+\r
+ public String[] getCNameArray(String arch) {\r
+ List<String> cnameList = new ArrayList<String>(100);\r
+ String[] result = null;\r
+ // \r
+ // "/Guids/GuidCNames/GuidCName",\r
+ // \r
+ result = getGuidEntryArray(arch);\r
+ for (int i = 0; i < result.length; ++i) {\r
+ cnameList.add(result[i]);\r
+ }\r
+ // \r
+ // "/Protocols/Protocol/ProtocolCName",\r
+ // \r
+ result = getProtocolArray(arch);\r
+ for (int i = 0; i < result.length; ++i) {\r
+ cnameList.add(result[i]);\r
+ }\r
+ //\r
+ // "/Protocols/ProtocolNotify/ProtocolNotifyCName",\r
+ // \r
+ result = getProtocolNotifyArray(arch);\r
+ for (int i = 0; i < result.length; ++i) {\r
+ cnameList.add(result[i]);\r
+ }\r
+ // \r
+ // "/Events/CreateEvents/EventTypes[@EventGuidCName]",\r
+ // "/Events/SignalEvents/EventTypes[@EventGuidCName]",\r
+ // \r
+ result = getEventCNameArray(arch);\r
+ for (int i = 0; i < result.length; ++i) {\r
+ cnameList.add(result[i]);\r
+ }\r
+ //\r
+ // "/Hobs/HobTypes[@HobGuidCName]",\r
+ // \r
+ result = getHobCNameArray(arch);\r
+ for (int i = 0; i < result.length; ++i) {\r
+ cnameList.add(result[i]);\r
+ }\r
+ // \r
+ // "/PPIs/Ppi/PpiCName",\r
+ //\r
+ result = getPpiArray(arch);\r
+ for (int i = 0; i < result.length; ++i) {\r
+ cnameList.add(result[i]);\r
+ }\r
+ // \r
+ // "/PPIs/PpiNotify/PpiNotifyCName",\r
+ // \r
+ result = getPpiNotifyArray(arch);\r
+ for (int i = 0; i < result.length; ++i) {\r
+ cnameList.add(result[i]);\r
+ }\r
+ // \r
+ // "/Variables/Variable/GuidC_Name",\r
+ // \r
+ result = getVariableCNameArray(arch);\r
+ for (int i = 0; i < result.length; ++i) {\r
+ cnameList.add(result[i]);\r
+ }\r
+ // \r
+ // "/SystemTables/SystemTableCNames/SystemTableCName",\r
+ // \r
+ result = getSystemTableCNameArray(arch);\r
+ for (int i = 0; i < result.length; ++i) {\r
+ cnameList.add(result[i]);\r
+ }\r
+ //\r
+ // "/DataHubs/DataHubRecord/DataHubCName",\r
+ // \r
+ result = getDataHubCNameArray(arch);\r
+ for (int i = 0; i < result.length; ++i) {\r
+ cnameList.add(result[i]);\r
+ }\r
+ //\r
+ // "/HiiPackages/HiiPackage/HiiCName",\r
+ // \r
+ result = getHiiPackageCNameArray(arch);\r
+ for (int i = 0; i < result.length; ++i) {\r
+ cnameList.add(result[i]);\r
+ }\r
+\r
+ return cnameList.toArray(new String[cnameList.size()]);\r
+ }\r
+\r