]> git.proxmox.com Git - mirror_edk2.git/blob - BaseTools/Source/Python/UPT/Object/POM/ModuleObject.py
e85b8fa010ab6c727d84e0048d4ea5c4b3f671c3
[mirror_edk2.git] / BaseTools / Source / Python / UPT / Object / POM / ModuleObject.py
1 ## @file
2 # This file is used to define a class object to describe a module
3 #
4 # Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved.<BR>
5 #
6 # This program and the accompanying materials are licensed and made available
7 # under the terms and conditions of the BSD License which accompanies this
8 # 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 ModuleObject
16 '''
17
18 ##
19 # Import Modules
20 #
21 from Object.POM.CommonObject import CommonPropertiesObject
22 from Object.POM.CommonObject import IdentificationObject
23 from Object.POM.CommonObject import CommonHeaderObject
24 from Object.POM.CommonObject import BinaryHeaderObject
25 from Object.POM.CommonObject import HelpTextListObject
26 from Object.POM.CommonObject import GuidVersionObject
27
28
29 ##
30 # BootModeObject
31 #
32 class BootModeObject(CommonPropertiesObject, HelpTextListObject):
33 def __init__(self):
34 self.SupportedBootModes = ''
35 CommonPropertiesObject.__init__(self)
36 HelpTextListObject.__init__(self)
37
38 def SetSupportedBootModes(self, SupportedBootModes):
39 self.SupportedBootModes = SupportedBootModes
40
41 def GetSupportedBootModes(self):
42 return self.SupportedBootModes
43
44 ##
45 # EventObject
46 #
47 class EventObject(CommonPropertiesObject, HelpTextListObject):
48 def __init__(self):
49 self.EventType = ''
50 CommonPropertiesObject.__init__(self)
51 HelpTextListObject.__init__(self)
52
53 def SetEventType(self, EventType):
54 self.EventType = EventType
55
56 def GetEventType(self):
57 return self.EventType
58
59 ##
60 # HobObject
61 #
62 class HobObject(CommonPropertiesObject, HelpTextListObject):
63 def __init__(self):
64 self.HobType = ''
65 CommonPropertiesObject.__init__(self)
66 HelpTextListObject.__init__(self)
67
68 def SetHobType(self, HobType):
69 self.HobType = HobType
70
71 def GetHobType(self):
72 return self.HobType
73
74 ##
75 # SpecObject
76 #
77 class SpecObject(object):
78 def __init__(self):
79 self.Spec = ''
80 self.Version = ''
81
82 def SetSpec(self, Spec):
83 self.Spec = Spec
84
85 def GetSpec(self):
86 return self.Spec
87
88 def SetVersion(self, Version):
89 self.Version = Version
90
91 def GetVersion(self):
92 return self.Version
93
94 ## ModuleHeaderObject
95 #
96 # This class defined header items used in Module file
97 #
98 class ModuleHeaderObject(IdentificationObject, CommonHeaderObject, BinaryHeaderObject):
99 def __init__(self):
100 self.IsLibrary = False
101 self.IsLibraryModList = []
102 self.ModuleType = ''
103 self.BinaryModule = False
104 self.PcdIsDriver = ''
105 self.PiSpecificationVersion = ''
106 self.UefiSpecificationVersion = ''
107 self.UNIFlag = False
108 #
109 # SpecObject
110 #
111 self.SpecList = []
112 #
113 # BootModeObject
114 #
115 self.BootModeList = []
116 #
117 # EventObject
118 #
119 self.EventList = []
120 #
121 # HobObject
122 #
123 self.HobList = []
124 #
125 # LibraryClassObject
126 #
127 self.LibraryClassList = []
128 self.SupArchList = []
129 IdentificationObject.__init__(self)
130 CommonHeaderObject.__init__(self)
131 BinaryHeaderObject.__init__(self)
132
133 def SetIsLibrary(self, IsLibrary):
134 self.IsLibrary = IsLibrary
135
136 def GetIsLibrary(self):
137 return self.IsLibrary
138
139 def SetIsLibraryModList(self, IsLibraryModList):
140 self.IsLibraryModList = IsLibraryModList
141
142 def GetIsLibraryModList(self):
143 return self.IsLibraryModList
144
145 def SetModuleType(self, ModuleType):
146 self.ModuleType = ModuleType
147
148 def GetModuleType(self):
149 return self.ModuleType
150
151 def SetBinaryModule(self, BinaryModule):
152 self.BinaryModule = BinaryModule
153
154 def GetBinaryModule(self):
155 return self.BinaryModule
156
157 def SetPcdIsDriver(self, PcdIsDriver):
158 self.PcdIsDriver = PcdIsDriver
159
160 def GetPcdIsDriver(self):
161 return self.PcdIsDriver
162
163 def SetPiSpecificationVersion(self, PiSpecificationVersion):
164 self.PiSpecificationVersion = PiSpecificationVersion
165
166 def GetPiSpecificationVersion(self):
167 return self.PiSpecificationVersion
168
169 def SetUefiSpecificationVersion(self, UefiSpecificationVersion):
170 self.UefiSpecificationVersion = UefiSpecificationVersion
171
172 def GetUefiSpecificationVersion(self):
173 return self.UefiSpecificationVersion
174
175 def SetSpecList(self, SpecList):
176 self.SpecList = SpecList
177
178 def GetSpecList(self):
179 return self.SpecList
180
181 def SetBootModeList(self, BootModeList):
182 self.BootModeList = BootModeList
183
184 def GetBootModeList(self):
185 return self.BootModeList
186
187 def SetEventList(self, EventList):
188 self.EventList = EventList
189
190 def GetEventList(self):
191 return self.EventList
192
193 def SetHobList(self, HobList):
194 self.HobList = HobList
195
196 def GetHobList(self):
197 return self.HobList
198
199 def SetLibraryClassList(self, LibraryClassList):
200 self.LibraryClassList = LibraryClassList
201
202 def GetLibraryClassList(self):
203 return self.LibraryClassList
204
205 def SetSupArchList(self, SupArchList):
206 self.SupArchList = SupArchList
207
208 def GetSupArchList(self):
209 return self.SupArchList
210
211 ##
212 # SourceFileObject
213 #
214 class SourceFileObject(CommonPropertiesObject):
215 def __init__(self):
216 CommonPropertiesObject.__init__(self)
217 self.SourceFile = ''
218 self.TagName = ''
219 self.ToolCode = ''
220 self.Family = ''
221 self.FileType = ''
222
223 def SetSourceFile(self, SourceFile):
224 self.SourceFile = SourceFile
225
226 def GetSourceFile(self):
227 return self.SourceFile
228
229 def SetTagName(self, TagName):
230 self.TagName = TagName
231
232 def GetTagName(self):
233 return self.TagName
234
235 def SetToolCode(self, ToolCode):
236 self.ToolCode = ToolCode
237
238 def GetToolCode(self):
239 return self.ToolCode
240
241 def SetFamily(self, Family):
242 self.Family = Family
243
244 def GetFamily(self):
245 return self.Family
246
247 def SetFileType(self, FileType):
248 self.FileType = FileType
249
250 def GetFileType(self):
251 return self.FileType
252
253
254 ##
255 # BinaryFileObject
256 #
257 class BinaryFileObject(CommonPropertiesObject):
258 def __init__(self):
259 self.FileNamList = []
260 self.AsBuiltList = []
261 CommonPropertiesObject.__init__(self)
262
263 def SetFileNameList(self, FileNamList):
264 self.FileNamList = FileNamList
265
266 def GetFileNameList(self):
267 return self.FileNamList
268
269 def SetAsBuiltList(self, AsBuiltList):
270 self.AsBuiltList = AsBuiltList
271
272 def GetAsBuiltList(self):
273 return self.AsBuiltList
274
275
276 ##
277 # AsBuildLibraryClassObject
278 #
279 class AsBuildLibraryClassObject(object):
280 def __init__(self):
281 self.LibGuid = ''
282 self.LibVersion = ''
283 self.SupArchList = []
284
285 def SetLibGuid(self, LibGuid):
286 self.LibGuid = LibGuid
287 def GetLibGuid(self):
288 return self.LibGuid
289
290 def SetLibVersion(self, LibVersion):
291 self.LibVersion = LibVersion
292 def GetLibVersion(self):
293 return self.LibVersion
294
295 def SetSupArchList(self, SupArchList):
296 self.SupArchList = SupArchList
297 def GetSupArchList(self):
298 return self.SupArchList
299
300 ##
301 # AsBuiltObject
302 #
303 class AsBuiltObject(object):
304 def __init__(self):
305 #
306 # list of PcdObject
307 #
308 self.PatchPcdList = []
309 #
310 # list of PcdObject
311 #
312 self.PcdExValueList = []
313 #
314 # list of GuidVersionObject
315 #
316 self.LibraryInstancesList = []
317 #
318 # List of BinaryBuildFlag object
319 #
320 self.BinaryBuildFlagList = []
321
322 def SetPatchPcdList(self, PatchPcdList):
323 self.PatchPcdList = PatchPcdList
324
325 def GetPatchPcdList(self):
326 return self.PatchPcdList
327
328 def SetPcdExList(self, PcdExValueList):
329 self.PcdExValueList = PcdExValueList
330
331 def GetPcdExList(self):
332 return self.PcdExValueList
333
334 def SetLibraryInstancesList(self, LibraryInstancesList):
335 self.LibraryInstancesList = LibraryInstancesList
336
337 def GetLibraryInstancesList(self):
338 return self.LibraryInstancesList
339
340 def SetBuildFlagsList(self, BinaryBuildFlagList):
341 self.BinaryBuildFlagList = BinaryBuildFlagList
342
343 def GetBuildFlagsList(self):
344 return self.BinaryBuildFlagList
345
346 ##
347 # BinaryBuildFlag, this object will include those fields that are not
348 # covered by the UPT Spec BinaryFile field
349 #
350 class BinaryBuildFlagObject(object):
351 def __init__(self):
352 self.Target = ''
353 self.TagName = ''
354 self.Family = ''
355 self.AsBuiltOptionFlags = ''
356
357 def SetTarget(self, Target):
358 self.Target = Target
359
360 def GetTarget(self):
361 return self.Target
362
363 def SetTagName(self, TagName):
364 self.TagName = TagName
365
366 def GetTagName(self):
367 return self.TagName
368
369 def SetFamily(self, Family):
370 self.Family = Family
371
372 def GetFamily(self):
373 return self.Family
374
375 def SetAsBuiltOptionFlags(self, AsBuiltOptionFlags):
376 self.AsBuiltOptionFlags = AsBuiltOptionFlags
377 def GetAsBuiltOptionFlags(self):
378 return self.AsBuiltOptionFlags
379
380 ##
381 # ExternObject
382 #
383 class ExternObject(CommonPropertiesObject):
384 def __init__(self):
385 self.EntryPoint = ''
386 self.UnloadImage = ''
387 self.Constructor = ''
388 self.Destructor = ''
389 self.SupModList = []
390 CommonPropertiesObject.__init__(self)
391
392 def SetEntryPoint(self, EntryPoint):
393 self.EntryPoint = EntryPoint
394
395 def GetEntryPoint(self):
396 return self.EntryPoint
397
398 def SetUnloadImage(self, UnloadImage):
399 self.UnloadImage = UnloadImage
400
401 def GetUnloadImage(self):
402 return self.UnloadImage
403
404 def SetConstructor(self, Constructor):
405 self.Constructor = Constructor
406
407 def GetConstructor(self):
408 return self.Constructor
409
410 def SetDestructor(self, Destructor):
411 self.Destructor = Destructor
412
413 def GetDestructor(self):
414 return self.Destructor
415
416 def SetSupModList(self, SupModList):
417 self.SupModList = SupModList
418 def GetSupModList(self):
419 return self.SupModList
420
421 ##
422 # DepexObject
423 #
424 class DepexObject(CommonPropertiesObject):
425 def __init__(self):
426 self.Depex = ''
427 self.ModuelType = ''
428 CommonPropertiesObject.__init__(self)
429
430 def SetDepex(self, Depex):
431 self.Depex = Depex
432
433 def GetDepex(self):
434 return self.Depex
435
436 def SetModuleType(self, ModuleType):
437 self.ModuelType = ModuleType
438
439 def GetModuleType(self):
440 return self.ModuelType
441
442 ##
443 # PackageDependencyObject
444 #
445 class PackageDependencyObject(GuidVersionObject, CommonPropertiesObject):
446 def __init__(self):
447 self.Package = ''
448 self.PackageFilePath = ''
449 GuidVersionObject.__init__(self)
450 CommonPropertiesObject.__init__(self)
451
452 def SetPackageFilePath(self, PackageFilePath):
453 self.PackageFilePath = PackageFilePath
454
455 def GetPackageFilePath(self):
456 return self.PackageFilePath
457
458 def SetPackage(self, Package):
459 self.Package = Package
460
461 def GetPackage(self):
462 return self.Package
463
464 ##
465 # BuildOptionObject
466 #
467 class BuildOptionObject(CommonPropertiesObject):
468 def __init__(self):
469 CommonPropertiesObject.__init__(self)
470 self.BuildOption = ''
471
472 def SetBuildOption(self, BuildOption):
473 self.BuildOption = BuildOption
474
475 def GetBuildOption(self):
476 return self.BuildOption
477
478 ##
479 # ModuleObject
480 #
481 class ModuleObject(ModuleHeaderObject):
482 def __init__(self):
483 #
484 # {Arch : ModuleHeaderObject}
485 #
486 self.HeaderDict = {}
487 #
488 # LibraryClassObject
489 #
490 self.LibraryClassList = []
491 #
492 # SourceFileObject
493 #
494 self.SourceFileList = []
495 #
496 # BinaryFileObject
497 #
498 self.BinaryFileList = []
499 #
500 # PackageDependencyObject
501 #
502 self.PackageDependencyList = []
503 #
504 # DepexObject
505 #
506 self.PeiDepex = []
507 #
508 # DepexObject
509 #
510 self.DxeDepex = []
511 #
512 # DepexObject
513 #
514 self.SmmDepex = []
515 #
516 # ProtocolObject
517 #
518 self.ProtocolList = []
519 #
520 # PpiObject
521 #
522 self.PpiList = []
523 #
524 # GuidObject
525 #
526 self.GuidList = []
527 #
528 # PcdObject
529 #
530 self.PcdList = []
531 #
532 # ExternObject
533 #
534 self.ExternList = []
535 #
536 # BuildOptionObject
537 #
538 self.BuildOptionList = []
539 #
540 # UserExtensionObject
541 #
542 self.UserExtensionList = []
543 #
544 # MiscFileObject
545 #
546 self.MiscFileList = []
547 #
548 # ClonedFromObject
549 #
550 self.ClonedFrom = None
551
552 ModuleHeaderObject.__init__(self)
553
554 def SetHeaderDict(self, HeaderDict):
555 self.HeaderDict = HeaderDict
556
557 def GetHeaderDict(self):
558 return self.HeaderDict
559
560 def SetLibraryClassList(self, LibraryClassList):
561 self.LibraryClassList = LibraryClassList
562
563 def GetLibraryClassList(self):
564 return self.LibraryClassList
565
566 def SetSourceFileList(self, SourceFileList):
567 self.SourceFileList = SourceFileList
568
569 def GetSourceFileList(self):
570 return self.SourceFileList
571
572 def SetBinaryFileList(self, BinaryFileList):
573 self.BinaryFileList = BinaryFileList
574
575 def GetBinaryFileList(self):
576 return self.BinaryFileList
577
578 def SetPackageDependencyList(self, PackageDependencyList):
579 self.PackageDependencyList = PackageDependencyList
580
581 def GetPackageDependencyList(self):
582 return self.PackageDependencyList
583
584 def SetPeiDepex(self, PeiDepex):
585 self.PeiDepex = PeiDepex
586
587 def GetPeiDepex(self):
588 return self.PeiDepex
589
590 def SetDxeDepex(self, DxeDepex):
591 self.DxeDepex = DxeDepex
592
593 def GetDxeDepex(self):
594 return self.DxeDepex
595
596 def SetSmmDepex(self, SmmDepex):
597 self.SmmDepex = SmmDepex
598
599 def GetSmmDepex(self):
600 return self.SmmDepex
601
602 def SetPpiList(self, PpiList):
603 self.PpiList = PpiList
604
605 def GetPpiList(self):
606 return self.PpiList
607
608 def SetProtocolList(self, ProtocolList):
609 self.ProtocolList = ProtocolList
610
611 def GetProtocolList(self):
612 return self.ProtocolList
613
614 def SetPcdList(self, PcdList):
615 self.PcdList = PcdList
616
617 def GetPcdList(self):
618 return self.PcdList
619
620 def SetGuidList(self, GuidList):
621 self.GuidList = GuidList
622
623 def GetGuidList(self):
624 return self.GuidList
625
626 def SetExternList(self, ExternList):
627 self.ExternList = ExternList
628
629 def GetExternList(self):
630 return self.ExternList
631
632 def SetBuildOptionList(self, BuildOptionList):
633 self.BuildOptionList = BuildOptionList
634
635 def GetBuildOptionList(self):
636 return self.BuildOptionList
637
638 def SetUserExtensionList(self, UserExtensionList):
639 self.UserExtensionList = UserExtensionList
640
641 def GetUserExtensionList(self):
642 return self.UserExtensionList
643
644 def SetMiscFileList(self, MiscFileList):
645 self.MiscFileList = MiscFileList
646
647 def GetMiscFileList(self):
648 return self.MiscFileList
649
650 def SetClonedFrom(self, ClonedFrom):
651 self.ClonedFrom = ClonedFrom
652
653 def GetClonedFrom(self):
654 return self.ClonedFrom