## @file # This file is used to define class objects of INF file miscellaneous. # Include BootMode/HOB/Event and others. It will consumed by InfParser. # # Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent ''' InfMisc ''' import Logger.Log as Logger from Logger import ToolError from Library import DataType as DT from Object.Parser.InfCommonObject import InfSectionCommonDef from Library.Misc import Sdict ## # BootModeObject # class InfBootModeObject(): def __init__(self): self.SupportedBootModes = '' self.HelpString = '' self.Usage = '' def SetSupportedBootModes(self, SupportedBootModes): self.SupportedBootModes = SupportedBootModes def GetSupportedBootModes(self): return self.SupportedBootModes def SetHelpString(self, HelpString): self.HelpString = HelpString def GetHelpString(self): return self.HelpString def SetUsage(self, Usage): self.Usage = Usage def GetUsage(self): return self.Usage ## # EventObject # class InfEventObject(): def __init__(self): self.EventType = '' self.HelpString = '' self.Usage = '' def SetEventType(self, EventType): self.EventType = EventType def GetEventType(self): return self.EventType def SetHelpString(self, HelpString): self.HelpString = HelpString def GetHelpString(self): return self.HelpString def SetUsage(self, Usage): self.Usage = Usage def GetUsage(self): return self.Usage ## # HobObject # class InfHobObject(): def __init__(self): self.HobType = '' self.Usage = '' self.SupArchList = [] self.HelpString = '' def SetHobType(self, HobType): self.HobType = HobType def GetHobType(self): return self.HobType def SetUsage(self, Usage): self.Usage = Usage def GetUsage(self): return self.Usage def SetSupArchList(self, ArchList): self.SupArchList = ArchList def GetSupArchList(self): return self.SupArchList def SetHelpString(self, HelpString): self.HelpString = HelpString def GetHelpString(self): return self.HelpString ## # InfSpecialCommentObject # class InfSpecialCommentObject(InfSectionCommonDef): def __init__(self): self.SpecialComments = Sdict() InfSectionCommonDef.__init__(self) def SetSpecialComments(self, SepcialSectionList = None, Type = ''): if Type == DT.TYPE_HOB_SECTION or \ Type == DT.TYPE_EVENT_SECTION or \ Type == DT.TYPE_BOOTMODE_SECTION: for Item in SepcialSectionList: if Type in self.SpecialComments: ObjList = self.SpecialComments[Type] ObjList.append(Item) self.SpecialComments[Type] = ObjList else: ObjList = [] ObjList.append(Item) self.SpecialComments[Type] = ObjList return True def GetSpecialComments(self): return self.SpecialComments ## ErrorInInf # # An encapsulate of Error for INF parser. # def ErrorInInf(Message=None, ErrorCode=None, LineInfo=None, RaiseError=True): if ErrorCode is None: ErrorCode = ToolError.FORMAT_INVALID if LineInfo is None: LineInfo = ['', -1, ''] Logger.Error("InfParser", ErrorCode, Message=Message, File=LineInfo[0], Line=LineInfo[1], ExtraData=LineInfo[2], RaiseError=RaiseError)