]> git.proxmox.com Git - mirror_edk2.git/blob - BaseTools/Source/Python/UPT/Object/Parser/InfMisc.py
BaseTools: Clean up source files
[mirror_edk2.git] / BaseTools / Source / Python / UPT / Object / Parser / InfMisc.py
1 ## @file
2 # This file is used to define class objects of INF file miscellaneous.
3 # Include BootMode/HOB/Event and others. It will consumed by InfParser.
4 #
5 # Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
6 #
7 # This program and the accompanying materials are licensed and made available
8 # under the terms and conditions of the BSD License which accompanies this
9 # distribution. The full text of the license may be found at
10 # http://opensource.org/licenses/bsd-license.php
11 #
12 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14
15 '''
16 InfMisc
17 '''
18
19 import Logger.Log as Logger
20 from Logger import ToolError
21
22 from Library import DataType as DT
23 from Object.Parser.InfCommonObject import InfSectionCommonDef
24 from Library.Misc import Sdict
25
26 ##
27 # BootModeObject
28 #
29 class InfBootModeObject():
30 def __init__(self):
31 self.SupportedBootModes = ''
32 self.HelpString = ''
33 self.Usage = ''
34
35 def SetSupportedBootModes(self, SupportedBootModes):
36 self.SupportedBootModes = SupportedBootModes
37 def GetSupportedBootModes(self):
38 return self.SupportedBootModes
39
40 def SetHelpString(self, HelpString):
41 self.HelpString = HelpString
42 def GetHelpString(self):
43 return self.HelpString
44
45 def SetUsage(self, Usage):
46 self.Usage = Usage
47 def GetUsage(self):
48 return self.Usage
49 ##
50 # EventObject
51 #
52 class InfEventObject():
53 def __init__(self):
54 self.EventType = ''
55 self.HelpString = ''
56 self.Usage = ''
57
58 def SetEventType(self, EventType):
59 self.EventType = EventType
60
61 def GetEventType(self):
62 return self.EventType
63
64 def SetHelpString(self, HelpString):
65 self.HelpString = HelpString
66 def GetHelpString(self):
67 return self.HelpString
68
69 def SetUsage(self, Usage):
70 self.Usage = Usage
71 def GetUsage(self):
72 return self.Usage
73 ##
74 # HobObject
75 #
76 class InfHobObject():
77 def __init__(self):
78 self.HobType = ''
79 self.Usage = ''
80 self.SupArchList = []
81 self.HelpString = ''
82
83 def SetHobType(self, HobType):
84 self.HobType = HobType
85
86 def GetHobType(self):
87 return self.HobType
88
89 def SetUsage(self, Usage):
90 self.Usage = Usage
91 def GetUsage(self):
92 return self.Usage
93
94 def SetSupArchList(self, ArchList):
95 self.SupArchList = ArchList
96 def GetSupArchList(self):
97 return self.SupArchList
98
99 def SetHelpString(self, HelpString):
100 self.HelpString = HelpString
101 def GetHelpString(self):
102 return self.HelpString
103
104 ##
105 # InfSpecialCommentObject
106 #
107 class InfSpecialCommentObject(InfSectionCommonDef):
108 def __init__(self):
109 self.SpecialComments = Sdict()
110 InfSectionCommonDef.__init__(self)
111
112 def SetSpecialComments(self, SepcialSectionList = None, Type = ''):
113 if Type == DT.TYPE_HOB_SECTION or \
114 Type == DT.TYPE_EVENT_SECTION or \
115 Type == DT.TYPE_BOOTMODE_SECTION:
116 for Item in SepcialSectionList:
117 if Type in self.SpecialComments:
118 ObjList = self.SpecialComments[Type]
119 ObjList.append(Item)
120 self.SpecialComments[Type] = ObjList
121 else:
122 ObjList = []
123 ObjList.append(Item)
124 self.SpecialComments[Type] = ObjList
125
126 return True
127
128 def GetSpecialComments(self):
129 return self.SpecialComments
130
131
132
133 ## ErrorInInf
134 #
135 # An encapsulate of Error for INF parser.
136 #
137 def ErrorInInf(Message=None, ErrorCode=None, LineInfo=None, RaiseError=True):
138 if ErrorCode is None:
139 ErrorCode = ToolError.FORMAT_INVALID
140 if LineInfo is None:
141 LineInfo = ['', -1, '']
142 Logger.Error("InfParser",
143 ErrorCode,
144 Message=Message,
145 File=LineInfo[0],
146 Line=LineInfo[1],
147 ExtraData=LineInfo[2],
148 RaiseError=RaiseError)