mirror of
https://github.com/CloverHackyColor/CloverBootloader.git
synced 2024-12-11 14:28:08 +01:00
b1264ef1e3
Signed-off-by: Sergey Isakov <isakov-sl@bk.ru>
143 lines
3.7 KiB
Python
Executable File
143 lines
3.7 KiB
Python
Executable File
## @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.<BR>
|
|
#
|
|
# 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)
|