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