BaseTools: skip updating temporary variable.
[mirror_edk2.git] / BaseTools / Source / Python / CommonDataClass / FdfClass.py
1 ## @file
2 # classes represent data in FDF
3 #
4 # Copyright (c) 2007 - 2013, Intel Corporation. All rights reserved.<BR>
5 #
6 # This program and the accompanying materials
7 # are licensed and made available under the terms and conditions of the BSD License
8 # which accompanies this distribution. The full text of the license may be found at
9 # http://opensource.org/licenses/bsd-license.php
10 #
11 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 #
14
15 ## FD data in FDF
16 #
17 #
18 class FDClassObject:
19 ## The constructor
20 #
21 # @param self The object pointer
22 #
23 def __init__(self):
24 self.FdUiName = ''
25 self.CreateFileName = None
26 self.BaseAddress = None
27 self.BaseAddressPcd = None
28 self.Size = None
29 self.SizePcd = None
30 self.ErasePolarity = None
31 # 3-tuple list (blockSize, numBlocks, pcd)
32 self.BlockSizeList = []
33 # DefineVarDict[var] = value
34 self.DefineVarDict = {}
35 # SetVarDict[var] = value
36 self.SetVarDict = {}
37 self.RegionList = []
38 self.vtfRawDict = {}
39
40 ## FV data in FDF
41 #
42 #
43 class FvClassObject:
44 ## The constructor
45 #
46 # @param self The object pointer
47 #
48 def __init__(self):
49 self.UiFvName = None
50 self.CreateFileName = None
51 # 3-tuple list (blockSize, numBlocks, pcd)
52 self.BlockSizeList = []
53 # DefineVarDict[var] = value
54 self.DefineVarDict = {}
55 # SetVarDict[var] = value
56 self.SetVarDict = {}
57 self.FvAlignment = None
58 # FvAttributeDict[attribute] = TRUE/FALSE (1/0)
59 self.FvAttributeDict = {}
60 self.FvNameGuid = None
61 self.FvNameString = None
62 self.AprioriSectionList = []
63 self.FfsList = []
64 self.BsBaseAddress = None
65 self.RtBaseAddress = None
66
67 ## Region data in FDF
68 #
69 #
70 class RegionClassObject:
71 ## The constructor
72 #
73 # @param self The object pointer
74 #
75 def __init__(self):
76 self.Offset = None # The begin position of the Region
77 self.Size = None # The Size of the Region
78 self.PcdOffset = None
79 self.PcdSize = None
80 self.SetVarDict = {}
81 self.RegionType = None
82 self.RegionDataList = []
83
84 ## FFS data in FDF
85 #
86 #
87 class FfsClassObject:
88 ## The constructor
89 #
90 # @param self The object pointer
91 #
92 def __init__(self):
93 self.NameGuid = None
94 self.Fixed = False
95 self.CheckSum = False
96 self.Alignment = None
97 self.SectionList = []
98
99 ## FILE statement data in FDF
100 #
101 #
102 class FileStatementClassObject (FfsClassObject) :
103 ## The constructor
104 #
105 # @param self The object pointer
106 #
107 def __init__(self):
108 FfsClassObject.__init__(self)
109 self.FvFileType = None
110 self.FileName = None
111 self.KeyStringList = []
112 self.FvName = None
113 self.FdName = None
114 self.DefineVarDict = {}
115 self.AprioriSection = None
116 self.KeepReloc = None
117
118 ## INF statement data in FDF
119 #
120 #
121 class FfsInfStatementClassObject(FfsClassObject):
122 ## The constructor
123 #
124 # @param self The object pointer
125 #
126 def __init__(self):
127 FfsClassObject.__init__(self)
128 self.Rule = None
129 self.Version = None
130 self.Ui = None
131 self.InfFileName = None
132 self.BuildNum = ''
133 self.KeyStringList = []
134 self.KeepReloc = None
135 self.UseArch = None
136
137 ## APRIORI section data in FDF
138 #
139 #
140 class AprioriSectionClassObject:
141 ## The constructor
142 #
143 # @param self The object pointer
144 #
145 def __init__(self):
146 # DefineVarDict[var] = value
147 self.DefineVarDict = {}
148 self.FfsList = []
149
150 ## section data in FDF
151 #
152 #
153 class SectionClassObject:
154 ## The constructor
155 #
156 # @param self The object pointer
157 #
158 def __init__(self):
159 self.Alignment = None
160
161 ## Depex expression section in FDF
162 #
163 #
164 class DepexSectionClassObject (SectionClassObject):
165 ## The constructor
166 #
167 # @param self The object pointer
168 #
169 def __init__(self):
170 self.DepexType = None
171 self.Expression = None
172 self.ExpressionProcessed = False
173
174 ## Compress section data in FDF
175 #
176 #
177 class CompressSectionClassObject (SectionClassObject) :
178 ## The constructor
179 #
180 # @param self The object pointer
181 #
182 def __init__(self):
183 SectionClassObject.__init__(self)
184 self.CompType = None
185 self.SectionList = []
186
187 ## Data section data in FDF
188 #
189 #
190 class DataSectionClassObject (SectionClassObject):
191 ## The constructor
192 #
193 # @param self The object pointer
194 #
195 def __init__(self):
196 SectionClassObject.__init__(self)
197 self.SecType = None
198 self.SectFileName = None
199 self.SectionList = []
200 self.KeepReloc = True
201
202 ## Rule section data in FDF
203 #
204 #
205 class EfiSectionClassObject (SectionClassObject):
206 ## The constructor
207 #
208 # @param self The object pointer
209 #
210 def __init__(self):
211 SectionClassObject.__init__(self)
212 self.SectionType = None
213 self.Optional = False
214 self.FileType = None
215 self.StringData = None
216 self.FileName = None
217 self.FileExtension = None
218 self.BuildNum = None
219 self.KeepReloc = None
220
221 ## FV image section data in FDF
222 #
223 #
224 class FvImageSectionClassObject (SectionClassObject):
225 ## The constructor
226 #
227 # @param self The object pointer
228 #
229 def __init__(self):
230 SectionClassObject.__init__(self)
231 self.Fv = None
232 self.FvName = None
233 self.FvFileType = None
234 self.FvFileName = None
235 self.FvFileExtension = None
236 self.FvAddr = None
237
238 ## GUIDed section data in FDF
239 #
240 #
241 class GuidSectionClassObject (SectionClassObject) :
242 ## The constructor
243 #
244 # @param self The object pointer
245 #
246 def __init__(self):
247 SectionClassObject.__init__(self)
248 self.NameGuid = None
249 self.SectionList = []
250 self.SectionType = None
251 self.ProcessRequired = False
252 self.AuthStatusValid = False
253 self.ExtraHeaderSize = -1
254 self.FvAddr = []
255 self.FvParentAddr = None
256 self.IncludeFvSection = False
257
258 ## UI section data in FDF
259 #
260 #
261 class UiSectionClassObject (SectionClassObject):
262 ## The constructor
263 #
264 # @param self The object pointer
265 #
266 def __init__(self):
267 SectionClassObject.__init__(self)
268 self.StringData = None
269 self.FileName = None
270
271 ## Version section data in FDF
272 #
273 #
274 class VerSectionClassObject (SectionClassObject):
275 ## The constructor
276 #
277 # @param self The object pointer
278 #
279 def __init__(self):
280 SectionClassObject.__init__(self)
281 self.BuildNum = None
282 self.StringData = None
283 self.FileName = None
284
285 ## Rule data in FDF
286 #
287 #
288 class RuleClassObject :
289 ## The constructor
290 #
291 # @param self The object pointer
292 #
293 def __init__(self):
294 self.Arch = None
295 self.ModuleType = None # For Module Type
296 self.TemplateName = None
297 self.NameGuid = None
298 self.Fixed = False
299 self.Alignment = None
300 self.SectAlignment = None
301 self.CheckSum = False
302 self.FvFileType = None # for Ffs File Type
303 self.KeyStringList = []
304 self.KeepReloc = None
305
306 ## Complex rule data in FDF
307 #
308 #
309 class RuleComplexFileClassObject(RuleClassObject) :
310 ## The constructor
311 #
312 # @param self The object pointer
313 #
314 def __init__(self):
315 RuleClassObject.__init__(self)
316 self.SectionList = []
317
318 ## Simple rule data in FDF
319 #
320 #
321 class RuleSimpleFileClassObject(RuleClassObject) :
322 ## The constructor
323 #
324 # @param self The object pointer
325 #
326 def __init__(self):
327 RuleClassObject.__init__(self)
328 self.FileName = None
329 self.SectionType = ''
330 self.FileExtension = None
331
332 ## File extension rule data in FDF
333 #
334 #
335 class RuleFileExtensionClassObject(RuleClassObject):
336 ## The constructor
337 #
338 # @param self The object pointer
339 #
340 def __init__(self):
341 RuleClassObject.__init__(self)
342 self.FileExtension = None
343
344 ## Capsule data in FDF
345 #
346 #
347 class CapsuleClassObject :
348 ## The constructor
349 #
350 # @param self The object pointer
351 #
352 def __init__(self):
353 self.SpecName = None
354 self.UiCapsuleName = None
355 self.CreateFile = None
356 self.GroupIdNumber = None
357 # DefineVarDict[var] = value
358 self.DefineVarDict = {}
359 # SetVarDict[var] = value
360 self.SetVarDict = {}
361 # TokensDict[var] = value
362 self.TokensDict = {}
363 self.CapsuleDataList = []
364 self.FmpPayloadList = []
365
366 ## VTF data in FDF
367 #
368 #
369 class VtfClassObject :
370 ## The constructor
371 #
372 # @param self The object pointer
373 #
374 def __init__(self):
375 self.KeyArch = None
376 self.ArchList = None
377 self.UiName = None
378 self.ResetBin = None
379 self.ComponentStatementList = []
380
381 ## VTF component data in FDF
382 #
383 #
384 class ComponentStatementClassObject :
385 ## The constructor
386 #
387 # @param self The object pointer
388 #
389 def __init__(self):
390 self.CompName = None
391 self.CompLoc = None
392 self.CompType = None
393 self.CompVer = None
394 self.CompCs = None
395 self.CompBin = None
396 self.CompSym = None
397 self.CompSize = None
398 self.FilePos = None
399
400 ## OptionROM data in FDF
401 #
402 #
403 class OptionRomClassObject:
404 ## The constructor
405 #
406 # @param self The object pointer
407 #
408 def __init__(self):
409 self.DriverName = None
410 self.FfsList = []
411