import java.util.*;\r
\r
import org.tianocore.UsageTypes;\r
+import org.tianocore.SupportedArchitectures.Enum;\r
\r
/*\r
Class ModuleInfo is built for scanning the source files, it contains all the needed\r
\r
//-----------------------------------------------------------------------------------//\r
\r
+ //addModuleType\r
+ //addGuidValue\r
+ //addModuleName\r
+ \r
+ public final boolean addSourceFile (String filename, Enum en) {\r
+ localmodulesources.add(filename);\r
+ return msaowner.addSourceFile(filename, en);\r
+ }\r
+ \r
public final boolean addProtocol (String proname, UsageTypes.Enum usage) {\r
- //protocols.add(proname);\r
+ protocols.add(proname);\r
return msaowner.addProtocol(proname, usage);\r
}\r
\r
public final boolean addPpi (String ppiname, UsageTypes.Enum usage) {\r
- //ppis.add(ppiname);\r
+ ppis.add(ppiname);\r
return msaowner.addPpi(ppiname, usage);\r
}\r
\r
public final boolean addGuid (String guidname, UsageTypes.Enum usage) {\r
- //guids.add(guidname);\r
+ guids.add(guidname);\r
return msaowner.addGuid(guidname, usage);\r
}\r
\r
public final boolean addLibraryClass(String name, UsageTypes.Enum usage) {\r
- //hashrequiredr9libs.add(name);\r
- return msaowner.addLibraryClass(name, usage);\r
+ //\r
+ // This section is only for adding library classes, this functionality should be inside MsaOwner!!!\r
+ //\r
+ //if (!hashrequiredr9libs.contains(name)) {\r
+ msaowner.addLibraryClass(name, usage);\r
+ //}\r
+ //\r
+ hashrequiredr9libs.add(name);\r
+ return true;\r
}\r
\r
//-----------------------------------------------------------------------------------//\r
String temp = null;\r
if (filepath.contains(".c") || filepath.contains(".C") || filepath.contains(".h") || \r
filepath.contains(".H") || filepath.contains(".dxs") || filepath.contains(".uni")) {\r
- localmodulesources.add(filepath.replace(modulepath + File.separator, ""));\r
+ addSourceFile(filepath.replace(modulepath + File.separator, ""), null);\r
} else if (filepath.contains(".inf") || filepath.contains(".msa")) {\r
temp = filepath.replace(modulepath + File.separator, "");\r
if (!temp.contains(File.separator)) { // .inf in subdirectory is not regarded\r