]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/MigrationTools/org/tianocore/migration/ModuleInfo.java
MsaOwner usable
[mirror_edk2.git] / Tools / Source / MigrationTools / org / tianocore / migration / ModuleInfo.java
index 791ccd23fa720538779255d1202d2ef6cca1b17a..aa19522e02d1dd2af8e75ef9187c9a8485678495 100644 (file)
@@ -15,6 +15,8 @@ package org.tianocore.migration;
 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
@@ -22,9 +24,13 @@ information and all the temporary data.
 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
@@ -34,6 +40,8 @@ public final class ModuleInfo {
     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
@@ -44,10 +52,34 @@ public final class ModuleInfo {
     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
@@ -80,4 +112,8 @@ public final class ModuleInfo {
         }\r
         return false;\r
     }\r
+    \r
+    public final MsaOwner getMsaOwner() {\r
+        return msaowner;\r
+    }\r
 }
\ No newline at end of file