From f215e02bf85f68d3a6106c2a1f4f7f063f819064 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Thu, 11 Apr 2024 10:17:27 +0200 Subject: Adding upstream version 7.0.14-dfsg. Signed-off-by: Daniel Baumann --- .../Source/Python/UPT/Object/POM/CommonObject.py | 953 +++++++++++++++++++++ 1 file changed, 953 insertions(+) create mode 100755 src/VBox/Devices/EFI/Firmware/BaseTools/Source/Python/UPT/Object/POM/CommonObject.py (limited to 'src/VBox/Devices/EFI/Firmware/BaseTools/Source/Python/UPT/Object/POM/CommonObject.py') diff --git a/src/VBox/Devices/EFI/Firmware/BaseTools/Source/Python/UPT/Object/POM/CommonObject.py b/src/VBox/Devices/EFI/Firmware/BaseTools/Source/Python/UPT/Object/POM/CommonObject.py new file mode 100755 index 00000000..0cd33ef0 --- /dev/null +++ b/src/VBox/Devices/EFI/Firmware/BaseTools/Source/Python/UPT/Object/POM/CommonObject.py @@ -0,0 +1,953 @@ +## @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 -- cgit v1.2.3