audk/BaseTools/Source/Python/UPT/Object/POM/ModuleObject.py

646 lines
16 KiB
Python

## @file
# This file is used to define a class object to describe a module
#
# Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
#
# This program and the accompanying materials are licensed and made available
# under the terms and conditions of the BSD License which accompanies this
# distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
'''
ModuleObject
'''
##
# Import Modules
#
from Object.POM.CommonObject import CommonPropertiesObject
from Object.POM.CommonObject import IdentificationObject
from Object.POM.CommonObject import CommonHeaderObject
from Object.POM.CommonObject import HelpTextListObject
from Object.POM.CommonObject import GuidVersionObject
##
# BootModeObject
#
class BootModeObject(CommonPropertiesObject, HelpTextListObject):
def __init__(self):
self.SupportedBootModes = ''
CommonPropertiesObject.__init__(self)
HelpTextListObject.__init__(self)
def SetSupportedBootModes(self, SupportedBootModes):
self.SupportedBootModes = SupportedBootModes
def GetSupportedBootModes(self):
return self.SupportedBootModes
##
# EventObject
#
class EventObject(CommonPropertiesObject, HelpTextListObject):
def __init__(self):
self.EventType = ''
CommonPropertiesObject.__init__(self)
HelpTextListObject.__init__(self)
def SetEventType(self, EventType):
self.EventType = EventType
def GetEventType(self):
return self.EventType
##
# HobObject
#
class HobObject(CommonPropertiesObject, HelpTextListObject):
def __init__(self):
self.HobType = ''
CommonPropertiesObject.__init__(self)
HelpTextListObject.__init__(self)
def SetHobType(self, HobType):
self.HobType = HobType
def GetHobType(self):
return self.HobType
##
# SpecObject
#
class SpecObject(object):
def __init__(self):
self.Spec = ''
self.Version = ''
def SetSpec(self, Spec):
self.Spec = Spec
def GetSpec(self):
return self.Spec
def SetVersion(self, Version):
self.Version = Version
def GetVersion(self):
return self.Version
## ModuleHeaderObject
#
# This class defined header items used in Module file
#
class ModuleHeaderObject(IdentificationObject, CommonHeaderObject):
def __init__(self):
self.IsLibrary = False
self.IsLibraryModList = []
self.ModuleType = ''
self.BinaryModule = False
self.PcdIsDriver = ''
self.PiSpecificationVersion = ''
self.UefiSpecificationVersion = ''
#
# SpecObject
#
self.SpecList = []
#
# BootModeObject
#
self.BootModeList = []
#
# EventObject
#
self.EventList = []
#
# HobObject
#
self.HobList = []
#
# LibraryClassObject
#
self.LibraryClassList = []
self.SupArchList = []
IdentificationObject.__init__(self)
CommonHeaderObject.__init__(self)
def SetIsLibrary(self, IsLibrary):
self.IsLibrary = IsLibrary
def GetIsLibrary(self):
return self.IsLibrary
def SetIsLibraryModList(self, IsLibraryModList):
self.IsLibraryModList = IsLibraryModList
def GetIsLibraryModList(self):
return self.IsLibraryModList
def SetModuleType(self, ModuleType):
self.ModuleType = ModuleType
def GetModuleType(self):
return self.ModuleType
def SetBinaryModule(self, BinaryModule):
self.BinaryModule = BinaryModule
def GetBinaryModule(self):
return self.BinaryModule
def SetPcdIsDriver(self, PcdIsDriver):
self.PcdIsDriver = PcdIsDriver
def GetPcdIsDriver(self):
return self.PcdIsDriver
def SetPiSpecificationVersion(self, PiSpecificationVersion):
self.PiSpecificationVersion = PiSpecificationVersion
def GetPiSpecificationVersion(self):
return self.PiSpecificationVersion
def SetUefiSpecificationVersion(self, UefiSpecificationVersion):
self.UefiSpecificationVersion = UefiSpecificationVersion
def GetUefiSpecificationVersion(self):
return self.UefiSpecificationVersion
def SetSpecList(self, SpecList):
self.SpecList = SpecList
def GetSpecList(self):
return self.SpecList
def SetBootModeList(self, BootModeList):
self.BootModeList = BootModeList
def GetBootModeList(self):
return self.BootModeList
def SetEventList(self, EventList):
self.EventList = EventList
def GetEventList(self):
return self.EventList
def SetHobList(self, HobList):
self.HobList = HobList
def GetHobList(self):
return self.HobList
def SetLibraryClassList(self, LibraryClassList):
self.LibraryClassList = LibraryClassList
def GetLibraryClassList(self):
return self.LibraryClassList
def SetSupArchList(self, SupArchList):
self.SupArchList = SupArchList
def GetSupArchList(self):
return self.SupArchList
##
# SourceFileObject
#
class SourceFileObject(CommonPropertiesObject):
def __init__(self):
CommonPropertiesObject.__init__(self)
self.SourceFile = ''
self.TagName = ''
self.ToolCode = ''
self.Family = ''
self.FileType = ''
def SetSourceFile(self, SourceFile):
self.SourceFile = SourceFile
def GetSourceFile(self):
return self.SourceFile
def SetTagName(self, TagName):
self.TagName = TagName
def GetTagName(self):
return self.TagName
def SetToolCode(self, ToolCode):
self.ToolCode = ToolCode
def GetToolCode(self):
return self.ToolCode
def SetFamily(self, Family):
self.Family = Family
def GetFamily(self):
return self.Family
def SetFileType(self, FileType):
self.FileType = FileType
def GetFileType(self):
return self.FileType
##
# BinaryFileObject
#
class BinaryFileObject(CommonPropertiesObject):
def __init__(self):
self.FileNamList = []
self.AsBuiltList = []
CommonPropertiesObject.__init__(self)
def SetFileNameList(self, FileNamList):
self.FileNamList = FileNamList
def GetFileNameList(self):
return self.FileNamList
def SetAsBuiltList(self, AsBuiltList):
self.AsBuiltList = AsBuiltList
def GetAsBuiltList(self):
return self.AsBuiltList
##
# AsBuildLibraryClassObject
#
class AsBuildLibraryClassObject(object):
def __init__(self):
self.LibGuid = ''
self.LibVersion = ''
def SetLibGuid(self, LibGuid):
self.LibGuid = LibGuid
def GetLibGuid(self):
return self.LibGuid
def SetLibVersion(self, LibVersion):
self.LibVersion = LibVersion
def GetLibVersion(self):
return self.LibVersion
##
# AsBuiltObject
#
class AsBuiltObject(object):
def __init__(self):
#
# list of PcdObject
#
self.PatchPcdList = []
#
# list of PcdObject
#
self.PcdExValueList = []
#
# list of GuidVersionObject
#
self.LibraryInstancesList = []
#
# List of BinaryBuildFlag object
#
self.BinaryBuildFlagList = ''
def SetPatchPcdList(self, PatchPcdList):
self.PatchPcdList = PatchPcdList
def GetPatchPcdList(self):
return self.PatchPcdList
def SetPcdExList(self, PcdExValueList):
self.PcdExValueList = PcdExValueList
def GetPcdExList(self):
return self.PcdExValueList
def SetLibraryInstancesList(self, LibraryInstancesList):
self.LibraryInstancesList = LibraryInstancesList
def GetLibraryInstancesList(self):
return self.LibraryInstancesList
def SetBuildFlagsList(self, BinaryBuildFlagList):
self.BinaryBuildFlagList = BinaryBuildFlagList
def GetBuildFlagsList(self):
return self.BinaryBuildFlagList
##
# BinaryBuildFlag, this object will include those fields that are not
# covered by the UPT Spec BinaryFile field
#
class BinaryBuildFlagObject(object):
def __init__(self):
self.Target = ''
self.TagName = ''
self.Family = ''
self.AsBuiltOptionFlags = ''
def SetTarget(self, Target):
self.Target = Target
def GetTarget(self):
return self.Target
def SetTagName(self, TagName):
self.TagName = TagName
def GetTagName(self):
return self.TagName
def SetFamily(self, Family):
self.Family = Family
def GetFamily(self):
return self.Family
def SetAsBuiltOptionFlags(self, AsBuiltOptionFlags):
self.AsBuiltOptionFlags = AsBuiltOptionFlags
def GetAsBuiltOptionFlags(self):
return self.AsBuiltOptionFlags
##
# ExternObject
#
class ExternObject(CommonPropertiesObject):
def __init__(self):
self.EntryPoint = ''
self.UnloadImage = ''
self.Constructor = ''
self.Destructor = ''
self.SupModList = []
CommonPropertiesObject.__init__(self)
def SetEntryPoint(self, EntryPoint):
self.EntryPoint = EntryPoint
def GetEntryPoint(self):
return self.EntryPoint
def SetUnloadImage(self, UnloadImage):
self.UnloadImage = UnloadImage
def GetUnloadImage(self):
return self.UnloadImage
def SetConstructor(self, Constructor):
self.Constructor = Constructor
def GetConstructor(self):
return self.Constructor
def SetDestructor(self, Destructor):
self.Destructor = Destructor
def GetDestructor(self):
return self.Destructor
def SetSupModList(self, SupModList):
self.SupModList = SupModList
def GetSupModList(self):
return self.SupModList
##
# DepexObject
#
class DepexObject(CommonPropertiesObject):
def __init__(self):
self.Depex = ''
self.ModuelType = ''
CommonPropertiesObject.__init__(self)
def SetDepex(self, Depex):
self.Depex = Depex
def GetDepex(self):
return self.Depex
def SetModuleType(self, ModuleType):
self.ModuelType = ModuleType
def GetModuleType(self):
return self.ModuelType
##
# PackageDependencyObject
#
class PackageDependencyObject(GuidVersionObject, CommonPropertiesObject):
def __init__(self):
self.Package = ''
self.PackageFilePath = ''
GuidVersionObject.__init__(self)
CommonPropertiesObject.__init__(self)
def SetPackageFilePath(self, PackageFilePath):
self.PackageFilePath = PackageFilePath
def GetPackageFilePath(self):
return self.PackageFilePath
def SetPackage(self, Package):
self.Package = Package
def GetPackage(self):
return self.Package
##
# BuildOptionObject
#
class BuildOptionObject(CommonPropertiesObject):
def __init__(self):
CommonPropertiesObject.__init__(self)
self.BuildOption = ''
def SetBuildOption(self, BuildOption):
self.BuildOption = BuildOption
def GetBuildOption(self):
return self.BuildOption
##
# ModuleObject
#
class ModuleObject(ModuleHeaderObject):
def __init__(self):
#
# {Arch : ModuleHeaderObject}
#
self.HeaderDict = {}
#
# LibraryClassObject
#
self.LibraryClassList = []
#
# SourceFileObject
#
self.SourceFileList = []
#
# BinaryFileObject
#
self.BinaryFileList = []
#
# PackageDependencyObject
#
self.PackageDependencyList = []
#
# DepexObject
#
self.PeiDepex = []
#
# DepexObject
#
self.DxeDepex = []
#
# DepexObject
#
self.SmmDepex = []
#
# ProtocolObject
#
self.ProtocolList = []
#
# PpiObject
#
self.PpiList = []
#
# GuidObject
#
self.GuidList = []
#
# PcdObject
#
self.PcdList = []
#
# ExternObject
#
self.ExternList = []
#
# BuildOptionObject
#
self.BuildOptionList = []
#
# UserExtensionObject
#
self.UserExtensionList = []
#
# MiscFileObject
#
self.MiscFileList = []
#
# ClonedFromObject
#
self.ClonedFrom = None
ModuleHeaderObject.__init__(self)
def SetHeaderDict(self, HeaderDict):
self.HeaderDict = HeaderDict
def GetHeaderDict(self):
return self.HeaderDict
def SetLibraryClassList(self, LibraryClassList):
self.LibraryClassList = LibraryClassList
def GetLibraryClassList(self):
return self.LibraryClassList
def SetSourceFileList(self, SourceFileList):
self.SourceFileList = SourceFileList
def GetSourceFileList(self):
return self.SourceFileList
def SetBinaryFileList(self, BinaryFileList):
self.BinaryFileList = BinaryFileList
def GetBinaryFileList(self):
return self.BinaryFileList
def SetPackageDependencyList(self, PackageDependencyList):
self.PackageDependencyList = PackageDependencyList
def GetPackageDependencyList(self):
return self.PackageDependencyList
def SetPeiDepex(self, PeiDepex):
self.PeiDepex = PeiDepex
def GetPeiDepex(self):
return self.PeiDepex
def SetDxeDepex(self, DxeDepex):
self.DxeDepex = DxeDepex
def GetDxeDepex(self):
return self.DxeDepex
def SetSmmDepex(self, SmmDepex):
self.SmmDepex = SmmDepex
def GetSmmDepex(self):
return self.SmmDepex
def SetPpiList(self, PpiList):
self.PpiList = PpiList
def GetPpiList(self):
return self.PpiList
def SetProtocolList(self, ProtocolList):
self.ProtocolList = ProtocolList
def GetProtocolList(self):
return self.ProtocolList
def SetPcdList(self, PcdList):
self.PcdList = PcdList
def GetPcdList(self):
return self.PcdList
def SetGuidList(self, GuidList):
self.GuidList = GuidList
def GetGuidList(self):
return self.GuidList
def SetExternList(self, ExternList):
self.ExternList = ExternList
def GetExternList(self):
return self.ExternList
def SetBuildOptionList(self, BuildOptionList):
self.BuildOptionList = BuildOptionList
def GetBuildOptionList(self):
return self.BuildOptionList
def SetUserExtensionList(self, UserExtensionList):
self.UserExtensionList = UserExtensionList
def GetUserExtensionList(self):
return self.UserExtensionList
def SetMiscFileList(self, MiscFileList):
self.MiscFileList = MiscFileList
def GetMiscFileList(self):
return self.MiscFileList
def SetClonedFrom(self, ClonedFrom):
self.ClonedFrom = ClonedFrom
def GetClonedFrom(self):
return self.ClonedFrom