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