## @file # This file is used to define common items of class object # # Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent ''' Common Object ''' from Library.DataType import TAB_LANGUAGE_EN_US ## HelpTextObject # # @param object: Inherited from object class # class HelpTextObject(object): def __init__(self): self.HelpText = TextObject() def SetHelpText(self, HelpText): self.HelpText = HelpText def GetHelpText(self): return self.HelpText ## HelpTextListObject # # @param object: Inherited from object class # class HelpTextListObject(object): def __init__(self): self.HelpTextList = [] def SetHelpTextList(self, HelpTextList): self.HelpTextList = HelpTextList def GetHelpTextList(self): return self.HelpTextList ## PromptListObject # # @param object: Inherited from object class # class PromptListObject(object): def __init__(self): self.PromptList = [] def SetPromptList(self, PromptList): self.PromptList = PromptList def GetPromptList(self): return self.PromptList ## CommonPropertiesObject # # This class defined common attribution used in Module/Platform/Package files # # @param object: Inherited from object class # @param Usage: Input value for Usage, default is [] # @param FeatureFlag: Input value for FeatureFalg, default is '' # @param SupArchList: Input value for SupArchList, default is [] # @param HelpText: Input value for HelpText, default is '' # @param HelpTextList: Input value for HelpTextList, default is [] # class CommonPropertiesObject(HelpTextObject, HelpTextListObject): def __init__(self): self.Usage = [] self.FeatureFlag = '' self.SupArchList = [] self.GuidValue = '' HelpTextObject.__init__(self) HelpTextListObject.__init__(self) def SetUsage(self, Usage): self.Usage = Usage def GetUsage(self): return self.Usage def SetFeatureFlag(self, FeatureFlag): self.FeatureFlag = FeatureFlag def GetFeatureFlag(self): return self.FeatureFlag def SetSupArchList(self, SupArchList): self.SupArchList = SupArchList def GetSupArchList(self): return self.SupArchList def SetGuidValue(self, GuidValue): self.GuidValue = GuidValue def GetGuidValue(self): return self.GuidValue ## CommonHeaderObject # # This class defined common header items used in Module/Platform/Package files # # @param object: Inherited from object class # class CommonHeaderObject(object): def __init__(self): self.AbstractList = [] self.DescriptionList = [] self.CopyrightList = [] self.LicenseList = [] def SetAbstract(self, Abstract): if isinstance(Abstract, list): self.AbstractList = Abstract else: self.AbstractList.append(Abstract) def GetAbstract(self): return self.AbstractList def SetDescription(self, Description): if isinstance(Description, list): self.DescriptionList = Description else: self.DescriptionList.append(Description) def GetDescription(self): return self.DescriptionList def SetCopyright(self, Copyright): if isinstance(Copyright, list): self.CopyrightList = Copyright else: self.CopyrightList.append(Copyright) def GetCopyright(self): return self.CopyrightList def SetLicense(self, License): if isinstance(License, list): self.LicenseList = License else: self.LicenseList.append(License) def GetLicense(self): return self.LicenseList ## BinaryHeaderObject # # This class defined Binary header items used in Module/Platform/Package files # # @param object: Inherited from object class # class BinaryHeaderObject(object): def __init__(self): self.BinaryHeaderAbstractList = [] self.BinaryHeaderDescriptionList = [] self.BinaryHeaderCopyrightList = [] self.BinaryHeaderLicenseList = [] def SetBinaryHeaderAbstract(self, Abstract): if isinstance(Abstract, list) and Abstract: self.BinaryHeaderAbstractList = Abstract elif isinstance(Abstract, tuple) and Abstract[1]: self.BinaryHeaderAbstractList.append(Abstract) def GetBinaryHeaderAbstract(self): return self.BinaryHeaderAbstractList def SetBinaryHeaderDescription(self, Description): if isinstance(Description, list) and Description: self.BinaryHeaderDescriptionList = Description elif isinstance(Description, tuple) and Description[1]: self.BinaryHeaderDescriptionList.append(Description) def GetBinaryHeaderDescription(self): return self.BinaryHeaderDescriptionList def SetBinaryHeaderCopyright(self, Copyright): if isinstance(Copyright, list) and Copyright: self.BinaryHeaderCopyrightList = Copyright elif isinstance(Copyright, tuple) and Copyright[1]: self.BinaryHeaderCopyrightList.append(Copyright) def GetBinaryHeaderCopyright(self): return self.BinaryHeaderCopyrightList def SetBinaryHeaderLicense(self, License): if isinstance(License, list) and License: self.BinaryHeaderLicenseList = License elif isinstance(License, tuple) and License[1]: self.BinaryHeaderLicenseList.append(License) def GetBinaryHeaderLicense(self): return self.BinaryHeaderLicenseList ## ClonedRecordObject # # This class defined ClonedRecord items used in Module/Platform/Package files # # @param object: Inherited from object class # class ClonedRecordObject(object): def __init__(self): self.IdNum = 0 self.FarGuid = '' self.PackageGuid = '' self.PackageVersion = '' self.ModuleGuid = '' self.ModuleVersion = '' def SetId(self, IdNo): self.IdNum = IdNo def GetId(self): return self.IdNum def SetFarGuid(self, FarGuid): self.FarGuid = FarGuid def GetFarGuid(self): return self.FarGuid def SetPackageGuid(self, PackageGuid): self.PackageGuid = PackageGuid def GetPackageGuid(self): return self.PackageGuid def SetPackageVersion(self, PackageVersion): self.PackageVersion = PackageVersion def GetPackageVersion(self): return self.PackageVersion def SetModuleGuid(self, ModuleGuid): self.ModuleGuid = ModuleGuid def GetModuleGuid(self): return self.ModuleGuid def SetModuleVersion(self, ModuleVersion): self.ModuleVersion = ModuleVersion def GetModuleVersion(self): return self.ModuleVersion ## TextObject # # This class defined Text item used in PKG file # # @param object: Inherited from object class # class TextObject(object): def __init__(self): self.Lang = TAB_LANGUAGE_EN_US self.String = '' def SetLang(self, Lang): self.Lang = Lang def GetLang(self): return self.Lang def SetString(self, String): self.String = String def GetString(self): return self.String ## FileNameObject # # This class defined File item used in module, for binary files # # @param CommonPropertiesObject: Inherited from CommonPropertiesObject class # class FileNameObject(CommonPropertiesObject): def __init__(self): self.FileType = '' self.Filename = '' CommonPropertiesObject.__init__(self) def SetFileType(self, FileType): self.FileType = FileType def GetFileType(self): return self.FileType def SetFilename(self, Filename): self.Filename = Filename def GetFilename(self): return self.Filename ## FileObject # # This class defined File item used in PKG file # # @param object: Inherited from object class # class FileObject(object): def __init__(self): self.Executable = '' self.Uri = '' self.OsType = '' def SetExecutable(self, Executable): self.Executable = Executable def GetExecutable(self): return self.Executable def SetURI(self, URI): self.Uri = URI def GetURI(self): return self.Uri def SetOS(self, OsType): self.OsType = OsType def GetOS(self): return self.OsType ## # MiscFileObject is used for xml # # @param CommonHeaderObject: Inherited from CommonHeaderObject class # class MiscFileObject(CommonHeaderObject): def __init__(self): self.Name = '' self.FileList = [] CommonHeaderObject.__init__(self) def SetName(self, Name): self.Name = Name def GetName(self): return self.Name def SetFileList(self, FileList): self.FileList = FileList def GetFileList(self): return self.FileList ## # ToolsObject # class ToolsObject(MiscFileObject): pass ## GuidVersionObject # # This class defined GUID/Version items used in PKG file # # @param object: Inherited from object class # class GuidVersionObject(object): def __init__(self): self.Guid = '' self.Version = '' def SetGuid(self, Guid): self.Guid = Guid def GetGuid(self): return self.Guid def SetVersion(self, Version): self.Version = Version def GetVersion(self): return self.Version ## IdentificationObject # # This class defined Identification items used in Module/Platform/Package files # # @param object: Inherited from object class # class IdentificationObject(GuidVersionObject): def __init__(self): self.Name = '' self.BaseName = '' self.FileName = '' self.FullPath = '' self.RelaPath = '' self.PackagePath = '' self.ModulePath = '' self.CombinePath = '' GuidVersionObject.__init__(self) def SetName(self, Name): self.Name = Name def GetName(self): return self.Name def SetBaseName(self, BaseName): self.BaseName = BaseName def GetBaseName(self): return self.BaseName def SetFileName(self, FileName): self.FileName = FileName def GetFileName(self): return self.FileName def SetFullPath(self, FullPath): self.FullPath = FullPath def GetFullPath(self): return self.FullPath def SetRelaPath(self, RelaPath): self.RelaPath = RelaPath def GetRelaPath(self): return self.RelaPath def SetPackagePath(self, PackagePath): self.PackagePath = PackagePath def GetPackagePath(self): return self.PackagePath def SetModulePath(self, ModulePath): self.ModulePath = ModulePath def GetModulePath(self): return self.ModulePath def SetCombinePath(self, CombinePath): self.CombinePath = CombinePath def GetCombinePath(self): return self.CombinePath ## GuidProtocolPpiCommonObject # # This class defined Guid, Protocol and Ppi like items used in # Module/Platform/Package files # # @param CommonPropertiesObject: Inherited from CommonPropertiesObject class # class GuidProtocolPpiCommonObject(CommonPropertiesObject): def __init__(self): self.Name = '' self.CName = '' self.Guid = '' self.SupModuleList = [] CommonPropertiesObject.__init__(self) def SetName(self, Name): self.Name = Name def GetName(self): return self.Name def SetCName(self, CName): self.CName = CName def GetCName(self): return self.CName def SetGuid(self, Guid): self.Guid = Guid def GetGuid(self): return self.Guid def SetSupModuleList(self, SupModuleList): self.SupModuleList = SupModuleList def GetSupModuleList(self): return self.SupModuleList ## GuidObject # # This class defined Guid item used in Module/Platform/Package files # # @param GuidProtocolPpiCommonObject: GuidProtocolPpiCommonObject # class GuidObject(GuidProtocolPpiCommonObject): def __init__(self): self.VariableName = '' self.GuidTypeList = [] GuidProtocolPpiCommonObject.__init__(self) def SetVariableName(self, VariableName): self.VariableName = VariableName def GetVariableName(self): return self.VariableName def SetGuidTypeList(self, GuidTypeList): self.GuidTypeList = GuidTypeList def GetGuidTypeList(self): return self.GuidTypeList ## ProtocolObject # # This class defined Protocol item used in Module/Platform/Package files # # @param GuidProtocolPpiCommonObject: Inherited from # GuidProtocolPpiCommonObject # class ProtocolObject(GuidProtocolPpiCommonObject): def __init__(self): self.Notify = False GuidProtocolPpiCommonObject.__init__(self) def SetNotify(self, Notify): self.Notify = Notify def GetNotify(self): return self.Notify ## PpiObject # # This class defined Ppi item used in Module/Platform/Package files # # @param GuidProtocolPpiCommonObject: Inherited from # GuidProtocolPpiCommonObject # class PpiObject(GuidProtocolPpiCommonObject): def __init__(self): self.Notify = False GuidProtocolPpiCommonObject.__init__(self) def SetNotify(self, Notify): self.Notify = Notify def GetNotify(self): return self.Notify ## DefineObject # # This class defined item DEFINE used in Module/Platform/Package files # # @param object: Inherited from object class # class DefineClass(object): def __init__(self): self.Define = {} ## UserExtensionObject # # @param object: Inherited from object class # class UserExtensionObject(object): def __init__(self): self.UserID = '' self.Identifier = '' self.BinaryAbstractList = [] self.BinaryDescriptionList = [] self.BinaryCopyrightList = [] self.BinaryLicenseList = [] self.UniLangDefsList = [] # # { Statement : Arch , ... } # self.DefinesDict = {} # # { Arch : Statement , ... } # self.BuildOptionDict = {} self.IncludesDict = {} self.SourcesDict = {} self.BinariesDict = {} # # UserExtension statement from meta-data file [UserExtension] section # self.Statement = '' self.SupArchList = [] def SetStatement(self, Statement): self.Statement = Statement def GetStatement(self): return self.Statement def SetSupArchList(self, ArchList): self.SupArchList = ArchList def GetSupArchList(self): return self.SupArchList def SetUserID(self, UserID): self.UserID = UserID def GetUserID(self): return self.UserID def SetIdentifier(self, Identifier): self.Identifier = Identifier def GetIdentifier(self): return self.Identifier def SetUniLangDefsList(self, UniLangDefsList): self.UniLangDefsList = UniLangDefsList def GetUniLangDefsList(self): return self.UniLangDefsList def SetBinaryAbstract(self, BinaryAbstractList): self.BinaryAbstractList = BinaryAbstractList def GetBinaryAbstract(self, Lang=None): if Lang: for (Key, Value) in self.BinaryAbstractList: if Key == Lang: return Value return None else: return self.BinaryAbstractList def SetBinaryDescription(self, BinaryDescriptionList): self.BinaryDescriptionList = BinaryDescriptionList def GetBinaryDescription(self, Lang=None): if Lang: for (Key, Value) in self.BinaryDescriptionList: if Key == Lang: return Value return None else: return self.BinaryDescriptionList def SetBinaryCopyright(self, BinaryCopyrightList): self.BinaryCopyrightList = BinaryCopyrightList def GetBinaryCopyright(self, Lang=None): if Lang: for (Key, Value) in self.BinaryCopyrightList: if Key == Lang: return Value return None else: return self.BinaryCopyrightList def SetBinaryLicense(self, BinaryLicenseList): self.BinaryLicenseList = BinaryLicenseList def GetBinaryLicense(self, Lang=None): if Lang: for (Key, Value) in self.BinaryLicenseList: if Key == Lang: return Value return None else: return self.BinaryLicenseList def SetDefinesDict(self, DefinesDict): self.DefinesDict = DefinesDict def GetDefinesDict(self): return self.DefinesDict def SetBuildOptionDict(self, BuildOptionDict): self.BuildOptionDict = BuildOptionDict def GetBuildOptionDict(self): return self.BuildOptionDict def SetIncludesDict(self, IncludesDict): self.IncludesDict = IncludesDict def GetIncludesDict(self): return self.IncludesDict def SetSourcesDict(self, SourcesDict): self.SourcesDict = SourcesDict def GetSourcesDict(self): return self.SourcesDict def SetBinariesDict(self, BinariesDict): self.BinariesDict = BinariesDict def GetBinariesDict(self): return self.BinariesDict ## LibraryClassObject # # This class defined Library item used in Module/Platform/Package files # # @param CommonPropertiesObject: Inherited from CommonPropertiesObject class # class LibraryClassObject(CommonPropertiesObject): def __init__(self): self.LibraryClass = '' self.IncludeHeader = '' self.SupModuleList = [] self.RecommendedInstance = GuidVersionObject() CommonPropertiesObject.__init__(self) def SetLibraryClass(self, LibraryClass): self.LibraryClass = LibraryClass def GetLibraryClass(self): return self.LibraryClass def SetSupModuleList(self, SupModuleList): self.SupModuleList = SupModuleList def GetSupModuleList(self): return self.SupModuleList def SetIncludeHeader(self, IncludeHeader): self.IncludeHeader = IncludeHeader def GetIncludeHeader(self): return self.IncludeHeader def SetRecommendedInstance(self, RecommendedInstance): self.RecommendedInstance = RecommendedInstance def GetRecommendedInstance(self): return self.RecommendedInstance ## PcdErrorObject # # @param object: Inherited from object class # class PcdErrorObject(object): def __init__(self): self.ValidValue = '' self.ValidValueLang = '' self.ValidValueRange = '' self.Expression = '' self.ErrorNumber = '' self.ErrorMessageList = [] self.TokenSpaceGuidCName = '' self.CName = '' self.FileLine = '' self.LineNum = 0 def SetValidValue(self, ValidValue): self.ValidValue = ValidValue def GetValidValue(self): return self.ValidValue def SetValidValueLang(self, ValidValueLang): self.ValidValueLang = ValidValueLang def GetValidValueLang(self): return self.ValidValueLang def SetValidValueRange(self, ValidValueRange): self.ValidValueRange = ValidValueRange def GetValidValueRange(self): return self.ValidValueRange def SetExpression(self, Expression): self.Expression = Expression def GetExpression(self): return self.Expression def SetErrorNumber(self, ErrorNumber): self.ErrorNumber = ErrorNumber def GetErrorNumber(self): return self.ErrorNumber def SetErrorMessageList(self, ErrorMessageList): self.ErrorMessageList = ErrorMessageList def GetErrorMessageList(self): return self.ErrorMessageList def SetTokenSpaceGuidCName(self, TokenSpaceGuidCName): self.TokenSpaceGuidCName = TokenSpaceGuidCName def GetTokenSpaceGuidCName(self): return self.TokenSpaceGuidCName def SetCName(self, CName): self.CName = CName def GetCName(self): return self.CName def SetFileLine(self, FileLine): self.FileLine = FileLine def GetFileLine(self): return self.FileLine def SetLineNum(self, LineNum): self.LineNum = LineNum def GetLineNum(self): return self.LineNum ## IncludeObject # # This class defined Include item used in Module/Platform/Package files # # @param CommonPropertiesObject: Inherited from CommonPropertiesObject class # class IncludeObject(CommonPropertiesObject): def __init__(self): self.FilePath = '' self.ModuleType = '' self.SupModuleList = [] self.Comment = '' CommonPropertiesObject.__init__(self) def SetFilePath(self, FilePath): self.FilePath = FilePath def GetFilePath(self): return self.FilePath def SetModuleType(self, ModuleType): self.ModuleType = ModuleType def GetModuleType(self): return self.ModuleType def SetSupModuleList(self, SupModuleList): self.SupModuleList = SupModuleList def GetSupModuleList(self): return self.SupModuleList def SetComment(self, Comment): self.Comment = Comment def GetComment(self): return self.Comment ## PcdObject # # This class defined Pcd item used in Module/Platform/Package files # # @param CName: Input value for CName, default is '' # @param Token: Input value for Token, default is '' # @param TokenSpaceGuidCName: Input value for TokenSpaceGuidCName, default is # '' # @param DatumType: Input value for DatumType, default is '' # @param MaxDatumSize: Input value for MaxDatumSize, default is '' # @param DefaultValue: Input value for DefaultValue, default is '' # @param ItemType: Input value for ItemType, default is '' # @param ValidUsage: Input value for ValidUsage, default is [] # @param SkuInfoList: Input value for SkuInfoList, default is {} # @param SupModuleList: Input value for SupModuleList, default is [] # class PcdObject(CommonPropertiesObject, HelpTextListObject, PromptListObject): def __init__(self): self.PcdCName = '' self.CName = '' self.Token = '' self.TokenSpaceGuidCName = '' self.TokenSpaceGuidValue = '' self.DatumType = '' self.MaxDatumSize = '' self.DefaultValue = '' self.Offset = '' self.ValidUsage = '' self.ItemType = '' self.PcdErrorsList = [] self.SupModuleList = [] CommonPropertiesObject.__init__(self) HelpTextListObject.__init__(self) PromptListObject.__init__(self) def SetPcdCName(self, PcdCName): self.PcdCName = PcdCName def GetPcdCName(self): return self.PcdCName def SetCName(self, CName): self.CName = CName def GetCName(self): return self.CName def SetToken(self, Token): self.Token = Token def GetOffset(self): return self.Offset def SetOffset(self, Offset): self.Offset = Offset def GetToken(self): return self.Token def SetTokenSpaceGuidCName(self, TokenSpaceGuidCName): self.TokenSpaceGuidCName = TokenSpaceGuidCName def GetTokenSpaceGuidCName(self): return self.TokenSpaceGuidCName def SetTokenSpaceGuidValue(self, TokenSpaceGuidValue): self.TokenSpaceGuidValue = TokenSpaceGuidValue def GetTokenSpaceGuidValue(self): return self.TokenSpaceGuidValue def SetDatumType(self, DatumType): self.DatumType = DatumType def GetDatumType(self): return self.DatumType def SetMaxDatumSize(self, MaxDatumSize): self.MaxDatumSize = MaxDatumSize def GetMaxDatumSize(self): return self.MaxDatumSize def SetDefaultValue(self, DefaultValue): self.DefaultValue = DefaultValue def GetDefaultValue(self): return self.DefaultValue def SetValidUsage(self, ValidUsage): self.ValidUsage = ValidUsage def GetValidUsage(self): return self.ValidUsage def SetPcdErrorsList(self, PcdErrorsList): self.PcdErrorsList = PcdErrorsList def GetPcdErrorsList(self): return self.PcdErrorsList def SetItemType(self, ItemType): self.ItemType = ItemType def GetItemType(self): return self.ItemType def SetSupModuleList(self, SupModuleList): self.SupModuleList = SupModuleList def GetSupModuleList(self): return self.SupModuleList