import org.tianocore.build.pcd.entity.Token;\r
import org.tianocore.build.pcd.entity.UsageInstance;\r
import org.tianocore.build.pcd.exception.EntityException;\r
+import org.tianocore.ModuleTypeDef;\r
\r
class StringTable {\r
private ArrayList<String> al; \r
\r
class ModuleInfo {\r
public ModuleSADocument.ModuleSA module;\r
- public UsageInstance.MODULE_TYPE type;\r
+ public ModuleTypeDef.Enum type;\r
\r
- public ModuleInfo (ModuleSADocument.ModuleSA module, UsageInstance.MODULE_TYPE type) {\r
+ public ModuleInfo (ModuleSADocument.ModuleSA module, ModuleTypeDef.Enum type) {\r
this.module = module;\r
this.type = type;\r
}\r
*/\r
private List<ModuleInfo> getComponentsFromFPD() \r
throws EntityException {\r
- HashMap<String, XmlObject> map = new HashMap<String, XmlObject>();\r
List<ModuleInfo> allModules = new ArrayList<ModuleInfo>();\r
ModuleInfo current = null;\r
int index = 0;\r
org.tianocore.Components components = null;\r
FrameworkModulesDocument.FrameworkModules fModules = null;\r
- java.util.List<ModuleSADocument.ModuleSA> modules = null;\r
- \r
+ ModuleSADocument.ModuleSA[] modules = null;\r
+ HashMap<String, XmlObject> map = new HashMap<String, XmlObject>();\r
\r
if (fpdDocInstance == null) {\r
try {\r
\r
}\r
\r
- //\r
- // Check whether FPD contians <FramworkModules>\r
- // \r
- fModules = fpdDocInstance.getFrameworkPlatformDescription().getFrameworkModules();\r
- if (fModules == null) {\r
- return null;\r
- }\r
-\r
- //\r
- // BUGBUG: The following is work around code, the final component type should be get from\r
- // GlobalData class.\r
- // \r
- components = fModules.getSEC();\r
- if (components != null) {\r
- modules = components.getModuleSAList();\r
- for (index = 0; index < modules.size(); index ++) {\r
- allModules.add(new ModuleInfo(modules.get(index), UsageInstance.MODULE_TYPE.SEC));\r
- }\r
- }\r
-\r
- components = fModules.getPEICORE();\r
- if (components != null) {\r
- modules = components.getModuleSAList();\r
- for (index = 0; index < modules.size(); index ++) {\r
- allModules.add(new ModuleInfo(modules.get(index), UsageInstance.MODULE_TYPE.PEI_CORE));\r
- }\r
- }\r
-\r
- components = fModules.getPEIM();\r
- if (components != null) {\r
- modules = components.getModuleSAList();\r
- for (index = 0; index < modules.size(); index ++) {\r
- allModules.add(new ModuleInfo(modules.get(index), UsageInstance.MODULE_TYPE.PEIM));\r
- }\r
- }\r
-\r
- components = fModules.getDXECORE();\r
- if (components != null) {\r
- modules = components.getModuleSAList();\r
- for (index = 0; index < modules.size(); index ++) {\r
- allModules.add(new ModuleInfo(modules.get(index), UsageInstance.MODULE_TYPE.DXE_CORE));\r
- }\r
- }\r
-\r
- components = fModules.getDXEDRIVERS();\r
- if (components != null) {\r
- modules = components.getModuleSAList();\r
- for (index = 0; index < modules.size(); index ++) {\r
- allModules.add(new ModuleInfo(modules.get(index), UsageInstance.MODULE_TYPE.DXE_DRIVERS));\r
- }\r
- }\r
-\r
- components = fModules.getOTHERCOMPONENTS();\r
- if (components != null) {\r
- modules = components.getModuleSAList();\r
- for (index = 0; index < modules.size(); index ++) {\r
- allModules.add(new ModuleInfo(modules.get(index), UsageInstance.MODULE_TYPE.OTHER_COMPONENTS));\r
- }\r
+ map.put("FrameworkPlatformDescription", fpdDocInstance);\r
+ SurfaceAreaQuery.setDoc(map); \r
+ modules = SurfaceAreaQuery.getFpdModuleSAs();\r
+ for (index = 0; index < modules.length; index ++) {\r
+ SurfaceAreaQuery.setDoc(GlobalData.getDoc(modules[index].getModuleName()));\r
+ allModules.add(new ModuleInfo(modules[index], \r
+ ModuleTypeDef.Enum.forString(SurfaceAreaQuery.getModuleType())));\r
}\r
\r
return allModules;\r
\r
\r
import java.util.UUID;\r
-\r
+import org.tianocore.ModuleTypeDef;\r
import org.tianocore.build.autogen.CommonDefinition;\r
import org.tianocore.build.pcd.action.ActionMessage;\r
import org.tianocore.build.pcd.exception.EntityException;\r
is an usage instance for this PCD token.\r
**/\r
public class UsageInstance {\r
- ///\r
- /// The module type of usage instance.\r
- /// \r
- public enum MODULE_TYPE {SEC, PEI_CORE, PEIM, DXE_CORE, DXE_DRIVERS, OTHER_COMPONENTS}\r
-\r
///\r
/// This parent that this usage instance belongs to.\r
///\r
///\r
/// The module type for this usage instance.\r
///\r
- public MODULE_TYPE moduleType;\r
+ public ModuleTypeDef.Enum moduleType;\r
\r
///\r
/// The value of the PCD in this usage instance. \r
UUID moduleGUID,\r
String packageName,\r
UUID packageGUID,\r
- MODULE_TYPE moduleType,\r
+ ModuleTypeDef.Enum moduleType,\r
Token.PCD_TYPE modulePcdType,\r
String arch,\r
String version,\r
@return boolean\r
*/\r
public boolean isPeiPhaseComponent() {\r
- if ((moduleType == MODULE_TYPE.PEI_CORE) ||\r
- (moduleType == MODULE_TYPE.PEIM)) {\r
+ if ((moduleType == ModuleTypeDef.PEI_CORE) ||\r
+ (moduleType == ModuleTypeDef.PEIM)) {\r
return true;\r
}\r
return false;\r