private List<String> exitBootServiceList = new ArrayList<String>();\r
\r
private StringBuffer functionDeclarations = new StringBuffer(10240);\r
+ private StringBuffer globalDeclarations = new StringBuffer(10240);\r
\r
//\r
// flag of PcdComponentNameDisable, PcdDriverDiagnosticDisable \r
fileBuffer.append(this.myPcdAutogen.getHAutoGenString());\r
}\r
\r
+ fileBuffer.append(globalDeclarations);\r
fileBuffer.append(functionDeclarations);\r
//\r
// Append the #endif at AutoGen.h\r
//\r
for (int i = 0; i < driverBindingGroup.length; i++) {\r
if (driverBindingGroup[i][0] != null) {\r
- fileBuffer.append("extern EFI_DRIVER_BINDING_PROTOCOL ");\r
- fileBuffer.append(driverBindingGroup[i][0]);\r
- fileBuffer.append(";\r\n");\r
+ globalDeclarations.append("extern EFI_DRIVER_BINDING_PROTOCOL ");\r
+ globalDeclarations.append(driverBindingGroup[i][0]);\r
+ globalDeclarations.append(";\r\n");\r
}\r
}\r
\r
if (driverBindingGroup[i][1]!= null) {\r
if (driverBindingGroup[i][0] != null) {\r
BitMask |= 0x01;\r
- fileBuffer.append("extern EFI_COMPONENT_NAME_PROTOCOL ");\r
- fileBuffer.append(driverBindingGroup[i][1]);\r
- fileBuffer.append(";\r\n");\r
+ globalDeclarations.append("extern EFI_COMPONENT_NAME_PROTOCOL ");\r
+ globalDeclarations.append(driverBindingGroup[i][1]);\r
+ globalDeclarations.append(";\r\n");\r
} else {\r
throw new AutoGenException("DriverBinding can't be empty!!");\r
}\r
if (driverBindingGroup[i][2] != null) {\r
if (driverBindingGroup[i][0] != null) {\r
BitMask |= 0x02;\r
- fileBuffer.append("extern EFI_DRIVER_CONFIGURATION_PROTOCOL ");\r
- fileBuffer.append(driverBindingGroup[i][2]);\r
- fileBuffer.append(";\r\n");\r
+ globalDeclarations.append("extern EFI_DRIVER_CONFIGURATION_PROTOCOL ");\r
+ globalDeclarations.append(driverBindingGroup[i][2]);\r
+ globalDeclarations.append(";\r\n");\r
} else {\r
throw new AutoGenException("DriverBinding can't be empty!!");\r
}\r
if (driverBindingGroup[i][3] != null) {\r
if (driverBindingGroup[i][0] != null) {\r
BitMask |= 0x04;\r
- fileBuffer.append("extern EFI_DRIVER_DIAGNOSTICS_PROTOCOL ");\r
- fileBuffer.append(driverBindingGroup[i][3]);\r
- fileBuffer.append(";\r\n");\r
+ globalDeclarations.append("extern EFI_DRIVER_DIAGNOSTICS_PROTOCOL ");\r
+ globalDeclarations.append(driverBindingGroup[i][3]);\r
+ globalDeclarations.append(";\r\n");\r
} else {\r
throw new AutoGenException("DriverBinding can't be empty!!");\r
}\r
import java.util.regex.Matcher;\r
import java.util.regex.Pattern;\r
\r
-import org.tianocore.ExternsDocument.Externs.Extern;\r
import org.apache.xmlbeans.XmlObject;\r
import org.apache.xmlbeans.XmlString;\r
import org.tianocore.*;\r
+import org.tianocore.ExternsDocument.Externs.Extern;\r
import org.tianocore.FilenameDocument.Filename;\r
+import org.tianocore.ModuleDefinitionsDocument.ModuleDefinitions;\r
import org.tianocore.MsaHeaderDocument.MsaHeader;\r
import org.tianocore.ProtocolsDocument.Protocols.Protocol;\r
import org.tianocore.ProtocolsDocument.Protocols.ProtocolNotify;\r
import org.tianocore.build.id.PackageIdentification;\r
import org.tianocore.build.id.PlatformIdentification;\r
import org.tianocore.build.toolchain.ToolChainInfo;\r
-import org.tianocore.common.exception.EdkException;\r
import org.tianocore.common.definitions.EdkDefinitions;\r
+import org.tianocore.common.exception.EdkException;\r
import org.w3c.dom.Node;\r
\r
/**\r
return null;\r
}\r
\r
+ /**\r
+ * Retrieve <ModuleDefinitions>/<BinaryModule>\r
+ *\r
+ * @returns The module type name if elements are found at the known xpath\r
+ * @returns null if nothing is there\r
+ */\r
+ public boolean getBinaryModule() {\r
+ String[] xPath = new String[] { "/" };\r
+\r
+ Object[] returns = get("ModuleDefinitions", xPath);\r
+ if (returns != null && returns.length > 0) {\r
+ ModuleDefinitionsDocument.ModuleDefinitions def = (ModuleDefinitionsDocument.ModuleDefinitions)returns[0];\r
+ return def.getBinaryModule();\r
+ }\r
+\r
+ return false;\r
+ }\r
+\r
/**\r
* Retrieve PackageDependencies/Package\r
*\r