git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@412 7335b...
[people/mcb30/basetools.git] / Source / Python / CommonDataClass / CommonClass.py
index fda27ca..3d55e45 100644 (file)
 #\r
 \r
 class CommonClass(object):\r
-    def __init__(self):\r
+    def __init__(self, SupArchList = []):\r
         self.Usage = []                                   #ALWAYS_CONSUMED | SOMETIMES_CONSUMED | ALWAYS_PRODUCED | SOMETIMES_PRODUCED | TO_START | BY_START | PRIVATE\r
         self.FeatureFlag = ''\r
-        self.SupArchList = []                             #EBC | IA32 | X64 | IPF | ARM | PPC\r
+        self.SupArchList = SupArchList                    #EBC | IA32 | X64 | IPF | ARM | PPC\r
         self.HelpText = ''\r
         \r
 class CommonHeaderClass(object):\r
@@ -47,6 +47,10 @@ class IdentificationClass(object):
         self.FileName = ''\r
         self.FullPath = ''\r
 \r
+class IncludeStatementClass(object):\r
+    def __init__(self):\r
+        self.IncludeFiles = {}                             #{ IncludeFile : [Arch1, Arch2, ...], ...}\r
+\r
 class GuidProtocolPpiCommonClass(CommonClass):\r
     def __init__(self):\r
         self.Name = ''\r
@@ -81,19 +85,20 @@ class PpiClass(GuidProtocolPpiCommonClass):
         GuidProtocolPpiCommonClass.__init__(self)\r
         \r
 class SkuInfoClass(object):\r
-    def __init__(self):\r
-        self.SkuId = ''\r
+    def __init__(self, SkuIdName = '', SkuId = '', VariableName = '', VariableGuid = '', VariableOffset = '', HiiDefaultValue = '', VpdOffset = '', DefaultValue = ''):\r
+        self.SkuIdName = SkuIdName\r
+        self.SkuId = SkuId\r
         #Used by Hii\r
-        self.VariableName = ''\r
-        self.VariableGuid = ''\r
-        self.VariableOffset = ''\r
-        self.HiiDefaultValue = ''\r
+        self.VariableName = VariableName\r
+        self.VariableGuid = VariableGuid\r
+        self.VariableOffset = VariableOffset\r
+        self.HiiDefaultValue = HiiDefaultValue\r
         \r
         #Used by Vpd\r
-        self.VpdOffset = ''\r
+        self.VpdOffset = VpdOffset\r
         \r
         #Used by Default\r
-        self.DefaultValue = ''\r
+        self.DefaultValue = DefaultValue\r
         \r
     def __str__(self):\r
         rtn = rtn = str(self.SkuId) + "," + \\r
@@ -106,25 +111,27 @@ class SkuInfoClass(object):
         return rtn\r
 \r
 class PcdClass(CommonClass):\r
-    def __init__(self):\r
-        self.CName = ''\r
-        self.Token = ''\r
-        self.TokenSpaceGuidCName = ''\r
-        self.DatumType = ''                               #UINT8 | UINT16 | UINT32 | UINT64 | VOID* | BOOLEAN \r
-        self.MaxDatumSize = ''\r
-        self.DefaultValue = ''\r
-        self.ItemType = ''                                #FEATURE_FLAG | FIXED_AT_BUILD | PATCHABLE_IN_MODULE | DYNAMIC | DYNAMIC_EX\r
-        self.ValidUsage = []                              #FEATURE_FLAG | FIXED_AT_BUILD | PATCHABLE_IN_MODULE | DYNAMIC | DYNAMIC_EX\r
-        self.SkuInfoList = {}                             #{ [SkuId] : SkuInfoClass } \r
-        self.SupModuleList = []                           #BASE | SEC | PEI_CORE | PEIM | DXE_CORE | DXE_DRIVER | DXE_RUNTIME_DRIVER | DXE_SAL_DRIVER | DXE_SMM_DRIVER | UEFI_DRIVER | UEFI_APPLICATION | USER_DEFINED\r
+    def __init__(self, CName = '', Token = '', TokenSpaceGuidCName = '', DatumType = '', MaxDatumSize = '', DefaultValue = '', ItemType = '', ValidUsage = [], SkuInfoList = {}, SupModuleList = []):\r
+        self.CName = CName\r
+        self.Token = Token\r
+        self.TokenSpaceGuidCName = TokenSpaceGuidCName\r
+        self.DatumType = DatumType                                 #UINT8 | UINT16 | UINT32 | UINT64 | VOID* | BOOLEAN \r
+        self.MaxDatumSize = MaxDatumSize\r
+        self.DefaultValue = DefaultValue\r
+        self.ItemType = ItemType                                   #FEATURE_FLAG | FIXED_AT_BUILD | PATCHABLE_IN_MODULE | DYNAMIC | DYNAMIC_EX\r
+        self.ValidUsage = ValidUsage                               #FEATURE_FLAG | FIXED_AT_BUILD | PATCHABLE_IN_MODULE | DYNAMIC | DYNAMIC_EX\r
+        self.SkuInfoList = SkuInfoList                             #{ [SkuIdName] : SkuInfoClass } \r
+        self.SupModuleList = SupModuleList                         #BASE | SEC | PEI_CORE | PEIM | DXE_CORE | DXE_DRIVER | DXE_RUNTIME_DRIVER | DXE_SAL_DRIVER | DXE_SMM_DRIVER | UEFI_DRIVER | UEFI_APPLICATION | USER_DEFINED\r
         CommonClass.__init__(self)\r
 \r
-class BuildOptionClass(object):\r
-    def __init__(self):\r
-        self.Statement = ''                               #Family:Target_TagName_Tarch_Toolcode_FLAGS = String \r
-        self.Option = ''\r
+class BuildOptionClass(IncludeStatementClass):\r
+    def __init__(self, ToolChainFamily = '', ToolChain = '', Option = ''):\r
+        IncludeStatementClass.__init__(self)\r
+        self.Statement = ''                               #Family:Target_TagName_Tarch_ToolCode_FLAGS = String \r
+        self.ToolChainFamily = ToolChainFamily\r
+        self.ToolChain = ToolChain\r
+        self.Option = Option\r
         self.BuildTarget = ''\r
-        self.ToolChainFamily = ''\r
         self.TagName = ''\r
         self.ToolCode = ''\r
         self.SupArchList = []                             #EBC | IA32 | X64 | IPF | ARM | PPC\r
@@ -141,7 +148,3 @@ class UserExtensionsClass(object):
         self.UserID = ''\r
         self.Identifier = 0\r
         self.Content = ''\r
-        \r
-class IncludeStatementClass(object):\r
-    def __init__(self):\r
-        self.IncludeFile = ''\r