import org.tianocore.build.global.GlobalData;\r
import org.tianocore.build.global.SurfaceAreaQuery;\r
import org.tianocore.build.id.ModuleIdentification;\r
-import org.tianocore.build.pcd.entity.MemoryDatabaseManager;\r
-import org.tianocore.build.pcd.entity.Token;\r
-import org.tianocore.build.pcd.entity.UsageInstance;\r
-import org.tianocore.build.pcd.exception.BuildActionException;\r
-import org.tianocore.build.pcd.exception.EntityException;\r
+import org.tianocore.pcd.entity.MemoryDatabaseManager;\r
+import org.tianocore.pcd.entity.Token;\r
+import org.tianocore.pcd.entity.UsageInstance;\r
+import org.tianocore.pcd.exception.BuildActionException;\r
+import org.tianocore.pcd.exception.EntityException;\r
+import org.tianocore.pcd.entity.UsageIdentification;\r
+import org.tianocore.pcd.action.BuildAction;\r
+import org.tianocore.pcd.action.ActionMessage;\r
\r
/** This class is to manage how to generate the PCD information into Autogen.c and\r
Autogen.h.\r
///\r
private MemoryDatabaseManager dbManager;\r
///\r
- /// The identification for a module.\r
+ /// The identification for a UsageInstance.\r
/// \r
- private ModuleIdentification moduleId;\r
+ private UsageIdentification usageId;\r
///\r
/// The arch of current module\r
/// \r
\r
@param moduleName the module name parameter.\r
**/\r
- public void setModuleId(ModuleIdentification moduleId) {\r
- this.moduleId = moduleId;\r
- }\r
-\r
- /**\r
- set Arch parameter.\r
- \r
- @param arch\r
- **/\r
- public void setArch(String arch) {\r
- this.arch = arch;\r
+ public void setUsageId(UsageIdentification usageId) {\r
+ this.usageId = usageId;\r
}\r
\r
/**\r
String arch,\r
boolean isBuildUsedLibrary,\r
String[] pcdNameArrayInMsa) {\r
+ UsageIdentification usageId = new UsageIdentification(moduleId.getName(), \r
+ moduleId.getGuid(), \r
+ moduleId.getPackage().getName(), \r
+ moduleId.getPackage().getGuid(), \r
+ arch, \r
+ moduleId.getVersion(), \r
+ moduleId.getModuleType());\r
dbManager = null;\r
hAutoGenString = "";\r
cAutoGenString = "";\r
\r
- setModuleId(moduleId);\r
- setArch(arch);\r
+ setUsageId(usageId);\r
setIsBuildUsedLibrary(isBuildUsedLibrary);\r
setPcdNameArrayInMsa(pcdNameArrayInMsa);\r
}\r
\r
@throws BuildActionException Bad parameter.\r
**/\r
- void checkParameter() throws BuildActionException {\r
+ public void checkParameter() throws BuildActionException {\r
\r
}\r
\r
\r
@throws BuildActionException Failed to execute this aciton class.\r
**/\r
- void performAction() throws BuildActionException {\r
+ public void performAction() throws BuildActionException {\r
ActionMessage.debug(this, \r
"Starting PCDAutoGenAction to generate autogen.h and autogen.c!...");\r
//\r
String[] guidStringArray = null;\r
String guidStringCName = null;\r
String guidString = null;\r
- String moduleName = moduleId.getName();\r
+ String moduleName = usageId.moduleName;\r
UsageInstance usageInstance = null;\r
boolean found = false;\r
\r
usageInstanceArray = null;\r
if (!isBuildUsedLibrary) {\r
- usageInstanceArray = dbManager.getUsageInstanceArrayByModuleName(moduleId, arch);\r
+ usageInstanceArray = dbManager.getUsageInstanceArrayByModuleName(usageId);\r
dbManager.UsageInstanceContext = usageInstanceArray;\r
dbManager.CurrentModuleName = moduleName; \r
} else if ((pcdNameArrayInMsa != null) && (pcdNameArrayInMsa.length > 0)) {\r
// these library should be used to autogen.\r
// \r
if (usageContext == null) {\r
- usageInstanceArray = dbManager.getUsageInstanceArrayByModuleName(moduleId, arch);\r
+ usageInstanceArray = dbManager.getUsageInstanceArrayByModuleName(usageId);\r
} else {\r
usageInstanceArray = new ArrayList<UsageInstance>();\r
\r