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