-#\r
-# Generate help text\r
-#\r
-def GenerateHelpText(Text, Lang):\r
- if Text:\r
- Ht = HelpTextClass()\r
- Ht.Lang = Lang\r
- Ht.String = Text\r
- \r
- return Ht\r
- \r
- return None\r
-\r
-## CommonClass\r
-#\r
-# This class defined common items used in Module/Platform/Package files\r
-# \r
-# @param object: Inherited from object class\r
-# @param Usage: Input value for Usage, default is [] \r
-# @param FeatureFlag: Input value for FeatureFalg, default is ''\r
-# @param SupArchList: Input value for SupArchList, default is []\r
-# @param HelpText: Input value for HelpText, default is ''\r
-#\r
-# @var Usage: To store value for Usage, selection scope is in below list\r
-# ALWAYS_CONSUMED | SOMETIMES_CONSUMED | ALWAYS_PRODUCED | SOMETIMES_PRODUCED | TO_START | BY_START | PRIVATE\r
-# @var FeatureFlag: To store value for FeatureFlag\r
-# @var SupArchList: To store value for SupArchList, selection scope is in below list\r
-# EBC | IA32 | X64 | IPF | ARM | PPC | AARCH64\r
-# @var HelpText: To store value for HelpText\r
-#\r
-class CommonClass(object):\r
- def __init__(self, Usage = None, FeatureFlag = '', SupArchList = None, HelpText = ''):\r
- self.Usage = Usage\r
- if self.Usage == None:\r
- self.Usage = []\r
- self.FeatureFlag = FeatureFlag\r
- self.SupArchList = SupArchList\r
- if self.SupArchList == None:\r
- self.SupArchList = []\r
- self.HelpText = HelpText\r
- self.HelpTextList = []\r
-\r
-## CommonHeaderClass\r
-#\r
-# This class defined common items used in Module/Platform/Package files\r
-# \r
-# @param object: Inherited from object class\r
-#\r
-# @var Abstract: To store value for Abstract\r
-# @var Description: To store value for Description\r
-# @var Copyright: To store value for Copyright\r
-# @var License: To store value for License\r
-# @var Specification: To store value for Specification\r
-#\r
-class CommonHeaderClass(object):\r
- def __init__(self):\r
- self.Abstract = ''\r
- self.Description = ''\r
- self.Copyright = ''\r
- self.License = ''\r
- self.Specification = {}\r
-\r
-## HelpTextClass\r
-#\r
-# This class defined HelpText item used in PKG file\r
-# \r
-# @param object: Inherited from object class\r
-#\r
-# @var Lang: To store value for Lang\r
-# @var String: To store value for String\r
-#\r
-class HelpTextClass(object):\r
- def __init__(self):\r
- self.Lang = ''\r
- self.String = ''\r
- \r
-## DefineClass\r
-#\r
-# This class defined item DEFINE used in Module/Platform/Package files\r
-#\r
-# @param object: Inherited from object class\r
-#\r
-# @var Define: To store value for Define, it is a set structure as\r
-# { (DefineName, Arch) : DefineValue, ... }\r
-#\r
-class DefineClass(object):\r
- def __init__(self):\r
- self.Define = {}\r
-\r
-## ClonedRecordClass\r
-#\r
-# This class defined ClonedRecord items used in Module/Platform/Package files\r
-# \r
-# @param object: Inherited from object class\r
-#\r
-# @var Id: To store value for Id\r
-# @var FarGuid: To store value for FarGuid\r
-# @var PackageGuid: To store value for PackageGuid\r
-# @var PackageVersion: To store value for PackageVersion\r
-# @var ModuleGuid: To store value for ModuleGuid\r
-# @var ModuleVersion: To store value for ModuleVersion\r
-#\r
-class ClonedRecordClass(object):\r
- def __init__(self):\r
- self.Id = 0\r
- self.FarGuid = ''\r
- self.PackageGuid = ''\r
- self.PackageVersion = ''\r
- self.ModuleGuid = ''\r
- self.ModuleVersion = ''\r
-\r
-## IdentificationClass\r
-#\r
-# This class defined Identification items used in Module/Platform/Package files\r
-# \r
-# @param object: Inherited from object class\r
-#\r
-# @var Name: To store value for Name\r
-# ModuleName(Inf) / PackageName(Dec) / PlatformName(Dsc)\r
-# @var Guid: To store value for Guid\r
-# @var Version: To store value for Version\r
-# @var FileName: To store value for FileName\r
-# @var FullPath: To store value for FullPath\r
-#\r
-class IdentificationClass(object):\r
- def __init__(self):\r
- self.Name = ''\r
- self.BaseName = ''\r
- self.Guid = ''\r
- self.Version = ''\r
- self.FileName = ''\r
- self.FullPath = ''\r
- self.RelaPath = ''\r
- self.PackagePath = ''\r
- self.ModulePath = ''\r
- self.CombinePath = ''\r
-\r
-## IncludeStatementClass\r
-#\r
-# This class defined IncludeFiles item used in Module/Platform/Package files\r
-# \r
-# @param object: Inherited from object class\r
-#\r
-# @var IncludeFiles: To store value for IncludeFiles\r
-# It is a set structure as { IncludeFile : [Arch1, Arch2, ...], ... }\r
-#\r
-class IncludeStatementClass(object):\r
- def __init__(self):\r
- self.IncludeFiles = {} \r
-\r
-## GuidProtocolPpiCommonClass\r
-#\r
-# This class defined Guid, Protocol and Ppi like items used in Module/Platform/Package files\r
-# \r
-# @param CommonClass: Inherited from CommonClass class\r
-#\r
-# @var Name: To store value for Name\r
-# @var CName: To store value for CName\r
-# @var Guid: To store value for Guid\r
-# @var Notify: To store value for Notify\r
-# @var GuidTypeList: To store value for GuidTypeList, selection scope is in below list\r
-# DATA_HUB_RECORD | EFI_EVENT | EFI_SYSTEM_CONFIGURATION_TABLE | EFI_VARIABLE | GUID | HII_PACKAGE_LIST | HOB | TOKEN_SPACE_GUID\r
-# @var SupModuleList: To store value for SupModuleList, selection scope is in below list\r
-# BASE | SEC | PEI_CORE | PEIM | DXE_CORE | DXE_DRIVER | DXE_RUNTIME_DRIVER | DXE_SAL_DRIVER | DXE_SMM_DRIVER | UEFI_DRIVER | UEFI_APPLICATION | USER_DEFINED | SMM_CORE\r
-#\r
-class GuidProtocolPpiCommonClass(CommonClass):\r
- def __init__(self):\r
- self.Name = ''\r
- self.CName = ''\r
- self.Guid = ''\r
- self.VariableName = ''\r
- self.Notify = False\r
- self.GuidTypeList = []\r
- self.GuidTypeLists = []\r
- self.SupModuleList = [] \r
- CommonClass.__init__(self)\r
-\r
-## LibraryClassClass\r
-#\r
-# This class defined Library item used in Module/Platform/Package files\r
-# \r
-# @param CommonClass: Inherited from CommonClass class\r
-# @param DefineClass: Inherited from DefineClass class\r
-#\r
-# @var LibraryClass: To store value for LibraryClass\r
-# @var IncludeHeader: To store value for IncludeHeader\r
-# @var RecommendedInstanceVersion: To store value for RecommendedInstanceVersion\r
-# @var RecommendedInstanceGuid: To store value for RecommendedInstanceGuid\r
-# @var RecommendedInstance: To store value for RecommendedInstance, selection scope is in below list\r
-# DATA_HUB_RECORD | EFI_EVENT | EFI_SYSTEM_CONFIGURATION_TABLE | EFI_VARIABLE | GUID | HII_PACKAGE_LIST | HOB | TOKEN_SPACE_GUID\r
-# @var SupModuleList: To store value for SupModuleList, selection scope is in below list\r
-# BASE | SEC | PEI_CORE | PEIM | DXE_CORE | DXE_DRIVER | DXE_RUNTIME_DRIVER | DXE_SAL_DRIVER | DXE_SMM_DRIVER | UEFI_DRIVER | UEFI_APPLICATION | USER_DEFINED | SMM_CORE\r
-#\r
-class LibraryClassClass(CommonClass, DefineClass):\r
- def __init__(self):\r
- self.LibraryClass = ''\r
- self.IncludeHeader = ''\r
- self.RecommendedInstanceVersion = ''\r
- self.RecommendedInstanceGuid = ''\r
- self.RecommendedInstance = ''\r
- self.SupModuleList = []\r
- CommonClass.__init__(self)\r
- DefineClass.__init__(self)\r
-\r
-## GuidClass\r
-#\r
-# This class defined Guid item used in Module/Platform/Package files\r
-# \r
-# @param GuidProtocolPpiCommonClass: Inherited from GuidProtocolPpiCommonClass class\r
-#\r
-class GuidClass(GuidProtocolPpiCommonClass):\r
- def __init__(self):\r
- GuidProtocolPpiCommonClass.__init__(self)\r
-\r
-## ProtocolClass\r
-#\r
-# This class defined Protocol item used in Module/Platform/Package files\r
-# \r
-# @param GuidProtocolPpiCommonClass: Inherited from GuidProtocolPpiCommonClass class\r
-#\r
-class ProtocolClass(GuidProtocolPpiCommonClass):\r
- def __init__(self):\r
- GuidProtocolPpiCommonClass.__init__(self)\r
-\r
-## PpiClass\r
-#\r
-# This class defined Ppi item used in Module/Platform/Package files\r
-# \r
-# @param GuidProtocolPpiCommonClass: Inherited from GuidProtocolPpiCommonClass class\r
-#\r
-class PpiClass(GuidProtocolPpiCommonClass): \r
- def __init__(self):\r
- GuidProtocolPpiCommonClass.__init__(self)\r
-\r