# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
#\r
\r
+from collections import OrderedDict, namedtuple\r
from Common.DataType import *\r
-import collections\r
\r
## PcdClassObject\r
#\r
self.StructuredPcdIncludeFile = [] if StructuredPcdIncludeFile is None else StructuredPcdIncludeFile\r
self.PackageDecs = Packages\r
self.DefaultStoreName = [default_store]\r
- self.DefaultValues = collections.OrderedDict()\r
+ self.DefaultValues = OrderedDict()\r
self.PcdMode = None\r
- self.SkuOverrideValues = collections.OrderedDict()\r
+ self.SkuOverrideValues = OrderedDict()\r
self.FlexibleFieldName = None\r
self.StructName = None\r
self.PcdDefineLineNo = 0\r
self.PkgPath = ""\r
self.DefaultValueFromDec = ""\r
self.ValueChain = set()\r
- self.PcdFieldValueFromComm = collections.OrderedDict()\r
- self.PcdFieldValueFromFdf = collections.OrderedDict()\r
+ self.PcdFieldValueFromComm = OrderedDict()\r
+ self.PcdFieldValueFromFdf = OrderedDict()\r
def __repr__(self):\r
return self.TypeName\r
\r
self.DefaultValueFromDec = DefaultValue\r
def AddOverrideValue (self, FieldName, Value, SkuName, DefaultStoreName, FileName="", LineNo=0):\r
if SkuName not in self.SkuOverrideValues:\r
- self.SkuOverrideValues[SkuName] = collections.OrderedDict()\r
+ self.SkuOverrideValues[SkuName] = OrderedDict()\r
if DefaultStoreName not in self.SkuOverrideValues[SkuName]:\r
- self.SkuOverrideValues[SkuName][DefaultStoreName] = collections.OrderedDict()\r
+ self.SkuOverrideValues[SkuName][DefaultStoreName] = OrderedDict()\r
if FieldName in self.SkuOverrideValues[SkuName][DefaultStoreName]:\r
del self.SkuOverrideValues[SkuName][DefaultStoreName][FieldName]\r
self.SkuOverrideValues[SkuName][DefaultStoreName][FieldName] = [Value.strip(), FileName, LineNo]\r
self.PcdFieldValueFromComm = PcdObject.PcdFieldValueFromComm if PcdObject.PcdFieldValueFromComm else self.PcdFieldValueFromComm\r
self.PcdFieldValueFromFdf = PcdObject.PcdFieldValueFromFdf if PcdObject.PcdFieldValueFromFdf else self.PcdFieldValueFromFdf\r
\r
-## LibraryClassObject\r
-#\r
-# This Class defines LibraryClassObject used in BuildDatabase\r
-#\r
-# @param object: Inherited from object class\r
-# @param Name: Input value for LibraryClassName, default is None\r
-# @param SupModList: Input value for SupModList, default is []\r
-#\r
-# @var LibraryClass: To store value for LibraryClass\r
-# @var SupModList: To store value for SupModList\r
-#\r
-class LibraryClassObject(object):\r
- def __init__(self, Name = None, SupModList = []):\r
- self.LibraryClass = Name\r
- self.SupModList = SupModList\r
+LibraryClassObject = namedtuple('LibraryClassObject', ['LibraryClass','SupModList'], verbose=False)\r
\r
## ModuleBuildClassObject\r
#\r
\r
self.Binaries = []\r
self.Sources = []\r
- self.LibraryClasses = collections.OrderedDict()\r
+ self.LibraryClasses = OrderedDict()\r
self.Libraries = []\r
self.Protocols = []\r
self.Ppis = []\r