import java.io.*;\r
import java.util.*;\r
\r
+import org.tianocore.UsageTypes;\r
+\r
/*\r
Class ModuleInfo is built for scanning the source files, it contains all the needed\r
information and all the temporary data.\r
public final class ModuleInfo {\r
ModuleInfo(String modulepath) throws Exception {\r
this.modulepath = modulepath;\r
+ this.temppath = MigrationTool.getTempDir(this.modulepath);\r
}\r
\r
public final String modulepath;\r
+ public final String temppath;\r
+ \r
+ private MsaOwner msaowner = MsaOwner.initNewMsaOwner();\r
\r
public String modulename = null;\r
public String guidvalue = null;\r
public final Set<String> localmodulesources = new HashSet<String>(); //contains both .c and .h\r
public final Set<String> preprocessedccodes = new HashSet<String>();\r
public final Set<String> msaorinf = new HashSet<String>(); //only a little, hash may be too big for this\r
+ public final Set<String> infincludes = new HashSet<String>();\r
+ public final Set<String> infsources = new HashSet<String>();\r
\r
public final Set<String> hashfuncc = new HashSet<String>();\r
public final Set<String> hashfuncd = new HashSet<String>();\r
public final Set<String> hashnonlocalmacro = new HashSet<String>();\r
public final Set<String> hashEFIcall = new HashSet<String>();\r
public final Set<String> hashr8only = new HashSet<String>();\r
+ public final Set<String> hashmacro = new HashSet<String>();\r
\r
public final Set<String> hashrequiredr9libs = new HashSet<String>(); // hashrequiredr9libs is now all added in SourceFileReplacer \r
- public final Set<String> guid = new HashSet<String>();\r
- public final Set<String> protocol = new HashSet<String>();\r
- public final Set<String> ppi = new HashSet<String>();\r
+ public final Set<String> guids = new HashSet<String>();\r
+ public final Set<String> protocols = new HashSet<String>();\r
+ public final Set<String> ppis = new HashSet<String>();\r
\r
+ //-----------------------------------------------------------------------------------//\r
+\r
+ public final boolean addProtocol (String proname, UsageTypes.Enum usage) {\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
+ return msaowner.addPpi(ppiname, usage);\r
+ }\r
+ \r
+ public final boolean addGuid (String guidname, UsageTypes.Enum usage) {\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
+ \r
+ //-----------------------------------------------------------------------------------//\r
+ \r
public final String getModuleType() {\r
if (moduletype.contains("PEI")) {\r
return "PEIM";\r
}\r
return false;\r
}\r
+ \r
+ public final MsaOwner getMsaOwner() {\r
+ return msaowner;\r
+ }\r
}
\ No newline at end of file