enhance MsaOwner.java
authoralfred <alfred@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 29 Sep 2006 07:04:34 +0000 (07:04 +0000)
committeralfred <alfred@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 29 Sep 2006 07:04:34 +0000 (07:04 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1641 6f19259b-4bc3-4df7-8a09-765794883524

Tools/Source/MigrationTools/org/tianocore/migration/MsaOwner.java

index 44b1dca..46cd82a 100644 (file)
@@ -40,10 +40,75 @@ public class MsaOwner {
     private ExternsDocument.Externs externs = null;\r
     \r
     private List<Enum> listarch = new ArrayList<Enum>();\r
-    private Map<String, Enum> mapfilenames = new HashMap<String, Enum>();      //this need to be installed manually when msa is to be written\r
-    private Map<String, UsageTypes.Enum> mapprotocols = new HashMap<String, UsageTypes.Enum>();\r
+    //private Map<String, Enum> mapfilenames = new HashMap<String, Enum>();    //this need to be installed manually when msa is to be written\r
+    //private Map<String, UsageTypes.Enum> mapprotocols = new HashMap<String, UsageTypes.Enum>();\r
 \r
     //-----------------------------msaheader-------------------------------------//\r
+\r
+    public final boolean addLibraryClass (String name, UsageTypes.Enum usage) {\r
+       Iterator<LibraryClassDocument.LibraryClass> classit = libclassdefs.getLibraryClassList().iterator();\r
+       while (classit.hasNext()) {\r
+               if (classit.next().getKeyword() == name) {\r
+                       MigrationTool.ui.println ("Warning: Duplicate LibraryClass");\r
+                       return false;\r
+               }\r
+       }\r
+       \r
+       LibraryClassDocument.LibraryClass classname;\r
+       List<UsageTypes.Enum> arch = new ArrayList<UsageTypes.Enum>();\r
+       classname = libclassdefs.addNewLibraryClass();\r
+       classname.setKeyword(name);\r
+       arch.add(usage);\r
+       classname.setSupArchList(arch);\r
+       return true;\r
+    }\r
+    \r
+    public final boolean addGuid (String guidname, UsageTypes.Enum usage) {\r
+       if (guids == null) {\r
+               guids = msa.addNewGuids();\r
+       }\r
+       \r
+       Iterator<GuidsDocument.Guids.GuidCNames> guidit = guids.getGuidCNamesList().iterator();\r
+       while (guidit.hasNext()) {\r
+               if (guidit.next().getGuidCName() == guidname) {\r
+                       MigrationTool.ui.println ("Warning: Duplicate Guid");\r
+                       return false;\r
+               }\r
+       }\r
+       \r
+       GuidsDocument.Guids.GuidCNames guid;\r
+       List<UsageTypes.Enum> arch = new ArrayList<UsageTypes.Enum>();\r
+       guid = guids.addNewGuidCNames();\r
+       guid.setGuidCName(guidname);\r
+       arch.add(usage);\r
+       guid.setSupArchList(arch);\r
+       return true;\r
+    }\r
+    \r
+    \r
+    public final boolean addPpi (String ppiname, UsageTypes.Enum usage) {\r
+       if (ppis == null) {\r
+               ppis = msa.addNewPPIs();\r
+       }\r
+       \r
+       Iterator<PPIsDocument.PPIs.Ppi> ppiit = ppis.getPpiList().iterator();\r
+       while (ppiit.hasNext()) {\r
+               if (ppiit.next().getPpiCName() == ppiname) {\r
+                       MigrationTool.ui.println ("Warning: Duplicate Ppi");\r
+                       return false;\r
+               }\r
+       }\r
+       \r
+       PPIsDocument.PPIs.Ppi ppi;\r
+       List<UsageTypes.Enum> arch = new ArrayList<UsageTypes.Enum>();\r
+       ppi = ppis.addNewPpi();\r
+       ppi.setPpiCName(ppiname);\r
+       arch.add(usage);\r
+       ppi.setSupArchList(arch);\r
+       return true;\r
+    }\r
+    \r
+    /*\r
     private final boolean installProtocols () {\r
        if (mapprotocols.isEmpty()) {\r
                return false;\r
@@ -67,7 +132,30 @@ public class MsaOwner {
                return true;\r
        }\r
     }\r
+    */\r
+    public final boolean addProtocol (String proname, UsageTypes.Enum usage) {\r
+       if (protocols == null) {\r
+               protocols = msa.addNewProtocols();\r
+       }\r
+       \r
+       Iterator<ProtocolsDocument.Protocols.Protocol> proit = protocols.getProtocolList().iterator();\r
+       while (proit.hasNext()) {\r
+               if (proit.next().getProtocolCName() == proname) {\r
+                       MigrationTool.ui.println ("Warning: Duplicate Protocol");\r
+                       return false;\r
+               }\r
+       }\r
+       \r
+       ProtocolsDocument.Protocols.Protocol protocol;\r
+       List<UsageTypes.Enum> arch = new ArrayList<UsageTypes.Enum>();\r
+       protocol = protocols.addNewProtocol();\r
+       protocol.setProtocolCName(proname);\r
+       arch.add(usage);\r
+       protocol.setSupArchList(arch);\r
+       return true;\r
+    }\r
     \r
+    /*\r
     private final boolean installHashFilename () {\r
        if (mapfilenames.isEmpty()) {\r
                return false;\r
@@ -93,6 +181,24 @@ public class MsaOwner {
             return true;\r
        }\r
     }\r
+    */\r
+    public final boolean addSourceFile (String name, Enum en) {\r
+       Iterator<FilenameDocument.Filename> fileit = sourcefiles.getFilenameList().iterator();\r
+       while (fileit.hasNext()) {\r
+               if (fileit.next().getStringValue() == name) {\r
+                       MigrationTool.ui.println ("Warning: Duplicate SourceFileName");\r
+                       return false;\r
+               }\r
+       }\r
+       \r
+       FilenameDocument.Filename filename;\r
+       List<Enum> arch = new ArrayList<Enum>();\r
+       filename = sourcefiles.addNewFilename();\r
+       filename.setStringValue(name);\r
+       arch.add(en);\r
+       filename.setSupArchList(arch);\r
+       return true;\r
+    }\r
     \r
     // entry point todo\r
     \r