2 # classes represent data in FDF
4 # Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
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
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.
21 # @param self The object pointer
25 self
.CreateFileName
= None
26 self
.BaseAddress
= None
27 self
.BaseAddressPcd
= 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
46 # @param self The object pointer
55 ## FILE statement data in FDF
58 class FileStatementClassObject (FfsClassObject
) :
61 # @param self The object pointer
64 FfsClassObject
.__init
__(self
)
65 self
.FvFileType
= None
67 self
.KeyStringList
= []
70 self
.DefineVarDict
= {}
73 ## INF statement data in FDF
76 class FfsInfStatementClassObject(FfsClassObject
):
79 # @param self The object pointer
82 FfsClassObject
.__init
__(self
)
86 self
.InfFileName
= None
88 self
.KeyStringList
= []
92 ## section data in FDF
95 class SectionClassObject
:
98 # @param self The object pointer
101 self
.Alignment
= None
103 ## Depex expression section in FDF
106 class DepexSectionClassObject (SectionClassObject
):
109 # @param self The object pointer
112 self
.DepexType
= None
113 self
.Expression
= None
114 self
.ExpressionProcessed
= False
116 ## Compress section data in FDF
119 class CompressSectionClassObject (SectionClassObject
) :
122 # @param self The object pointer
125 SectionClassObject
.__init
__(self
)
127 self
.SectionList
= []
129 ## Data section data in FDF
132 class DataSectionClassObject (SectionClassObject
):
135 # @param self The object pointer
138 SectionClassObject
.__init
__(self
)
140 self
.SectFileName
= None
141 self
.SectionList
= []
142 self
.KeepReloc
= True
144 ## Rule section data in FDF
147 class EfiSectionClassObject (SectionClassObject
):
150 # @param self The object pointer
153 SectionClassObject
.__init
__(self
)
154 self
.SectionType
= None
155 self
.Optional
= False
157 self
.StringData
= None
159 self
.FileExtension
= None
161 self
.KeepReloc
= None
163 ## FV image section data in FDF
166 class FvImageSectionClassObject (SectionClassObject
):
169 # @param self The object pointer
172 SectionClassObject
.__init
__(self
)
175 self
.FvFileType
= None
176 self
.FvFileName
= None
177 self
.FvFileExtension
= None
180 ## GUIDed section data in FDF
183 class GuidSectionClassObject (SectionClassObject
) :
186 # @param self The object pointer
189 SectionClassObject
.__init
__(self
)
191 self
.SectionList
= []
192 self
.SectionType
= None
193 self
.ProcessRequired
= False
194 self
.AuthStatusValid
= False
195 self
.ExtraHeaderSize
= -1
197 self
.FvParentAddr
= None
198 self
.IncludeFvSection
= False
200 ## UI section data in FDF
203 class UiSectionClassObject (SectionClassObject
):
206 # @param self The object pointer
209 SectionClassObject
.__init
__(self
)
210 self
.StringData
= None
213 ## Version section data in FDF
216 class VerSectionClassObject (SectionClassObject
):
219 # @param self The object pointer
222 SectionClassObject
.__init
__(self
)
224 self
.StringData
= None
230 class RuleClassObject
:
233 # @param self The object pointer
237 self
.ModuleType
= None # For Module Type
238 self
.TemplateName
= None
241 self
.Alignment
= None
242 self
.SectAlignment
= None
243 self
.CheckSum
= False
244 self
.FvFileType
= None # for Ffs File Type
245 self
.KeyStringList
= []
246 self
.KeepReloc
= None
248 ## Complex rule data in FDF
251 class RuleComplexFileClassObject(RuleClassObject
) :
254 # @param self The object pointer
257 RuleClassObject
.__init
__(self
)
258 self
.SectionList
= []
260 ## Simple rule data in FDF
263 class RuleSimpleFileClassObject(RuleClassObject
) :
266 # @param self The object pointer
269 RuleClassObject
.__init
__(self
)
271 self
.SectionType
= ''
272 self
.FileExtension
= None
274 ## File extension rule data in FDF
277 class RuleFileExtensionClassObject(RuleClassObject
):
280 # @param self The object pointer
283 RuleClassObject
.__init
__(self
)
284 self
.FileExtension
= None
286 ## Capsule data in FDF
289 class CapsuleClassObject
:
292 # @param self The object pointer
296 self
.UiCapsuleName
= None
297 self
.CreateFile
= None
298 self
.GroupIdNumber
= None
299 # DefineVarDict[var] = value
300 self
.DefineVarDict
= {}
301 # SetVarDict[var] = value
303 # TokensDict[var] = value
305 self
.CapsuleDataList
= []
306 self
.FmpPayloadList
= []
308 ## VTF component data in FDF
311 class ComponentStatementClassObject
:
314 # @param self The object pointer
327 ## OptionROM data in FDF
330 class OptionRomClassObject
:
333 # @param self The object pointer
336 self
.DriverName
= None