2 # This file is used to define common items of class object
4 # Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
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
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.
17 from Library
.DataType
import LANGUAGE_EN_US
21 # @param object: Inherited from object class
23 class HelpTextObject(object):
25 self
.HelpText
= TextObject()
27 def SetHelpText(self
, HelpText
):
28 self
.HelpText
= HelpText
30 def GetHelpText(self
):
35 # @param object: Inherited from object class
37 class HelpTextListObject(object):
39 self
.HelpTextList
= []
41 def SetHelpTextList(self
, HelpTextList
):
42 self
.HelpTextList
= HelpTextList
44 def GetHelpTextList(self
):
45 return self
.HelpTextList
47 ## CommonPropertiesObject
49 # This class defined common attribution used in Module/Platform/Package files
51 # @param object: Inherited from object class
52 # @param Usage: Input value for Usage, default is []
53 # @param FeatureFlag: Input value for FeatureFalg, default is ''
54 # @param SupArchList: Input value for SupArchList, default is []
55 # @param HelpText: Input value for HelpText, default is ''
56 # @param HelpTextList: Input value for HelpTextList, default is []
58 class CommonPropertiesObject(HelpTextObject
, HelpTextListObject
):
63 HelpTextObject
.__init
__(self
)
64 HelpTextListObject
.__init
__(self
)
66 def SetUsage(self
, Usage
):
72 def SetFeatureFlag(self
, FeatureFlag
):
73 self
.FeatureFlag
= FeatureFlag
75 def GetFeatureFlag(self
):
76 return self
.FeatureFlag
78 def SetSupArchList(self
, SupArchList
):
79 self
.SupArchList
= SupArchList
81 def GetSupArchList(self
):
82 return self
.SupArchList
86 # This class defined common header items used in Module/Platform/Package files
88 # @param object: Inherited from object class
90 class CommonHeaderObject(object):
97 def SetAbstract(self
, Abstract
):
98 self
.Abstract
= Abstract
100 def GetAbstract(self
):
103 def SetDescription(self
, Description
):
104 self
.Description
= Description
106 def GetDescription(self
):
107 return self
.Description
109 def SetCopyright(self
, Copyright
):
110 self
.Copyright
= Copyright
112 def GetCopyright(self
):
113 return self
.Copyright
115 def SetLicense(self
, License
):
116 self
.License
= License
118 def GetLicense(self
):
121 ## ClonedRecordObject
123 # This class defined ClonedRecord items used in Module/Platform/Package files
125 # @param object: Inherited from object class
127 class ClonedRecordObject(object):
131 self
.PackageGuid
= ''
132 self
.PackageVersion
= ''
134 self
.ModuleVersion
= ''
136 def SetId(self
, IdNo
):
142 def SetFarGuid(self
, FarGuid
):
143 self
.FarGuid
= FarGuid
145 def GetFarGuid(self
):
148 def SetPackageGuid(self
, PackageGuid
):
149 self
.PackageGuid
= PackageGuid
151 def GetPackageGuid(self
):
152 return self
.PackageGuid
154 def SetPackageVersion(self
, PackageVersion
):
155 self
.PackageVersion
= PackageVersion
157 def GetPackageVersion(self
):
158 return self
.PackageVersion
160 def SetModuleGuid(self
, ModuleGuid
):
161 self
.ModuleGuid
= ModuleGuid
163 def GetModuleGuid(self
):
164 return self
.ModuleGuid
166 def SetModuleVersion(self
, ModuleVersion
):
167 self
.ModuleVersion
= ModuleVersion
169 def GetModuleVersion(self
):
170 return self
.ModuleVersion
174 # This class defined Text item used in PKG file
176 # @param object: Inherited from object class
178 class TextObject(object):
180 self
.Lang
= LANGUAGE_EN_US
183 def SetLang(self
, Lang
):
189 def SetString(self
, String
):
197 # This class defined File item used in module, for binary files
199 # @param CommonPropertiesObject: Inherited from CommonPropertiesObject class
201 class FileNameObject(CommonPropertiesObject
):
205 CommonPropertiesObject
.__init
__(self
)
207 def SetFileType(self
, FileType
):
208 self
.FileType
= FileType
210 def GetFileType(self
):
213 def SetFilename(self
, Filename
):
214 self
.Filename
= Filename
216 def GetFilename(self
):
221 # This class defined File item used in PKG file
223 # @param object: Inherited from object class
225 class FileObject(object):
231 def SetExecutable(self
, Executable
):
232 self
.Executable
= Executable
234 def GetExecutable(self
):
235 return self
.Executable
237 def SetURI(self
, URI
):
243 def SetOS(self
, OsType
):
250 # MiscFileObject is used for xml
252 # @param CommonHeaderObject: Inherited from CommonHeaderObject class
254 class MiscFileObject(CommonHeaderObject
):
258 CommonHeaderObject
.__init
__(self
)
260 def SetName(self
, Name
):
266 def SetFileList(self
, FileList
):
267 self
.FileList
= FileList
269 def GetFileList(self
):
275 class ToolsObject(MiscFileObject
):
280 # This class defined GUID/Version items used in PKG file
282 # @param object: Inherited from object class
284 class GuidVersionObject(object):
289 def SetGuid(self
, Guid
):
295 def SetVersion(self
, Version
):
296 self
.Version
= Version
298 def GetVersion(self
):
301 ## IdentificationObject
303 # This class defined Identification items used in Module/Platform/Package files
305 # @param object: Inherited from object class
307 class IdentificationObject(GuidVersionObject
):
314 self
.PackagePath
= ''
316 self
.CombinePath
= ''
317 GuidVersionObject
.__init
__(self
)
319 def SetName(self
, Name
):
325 def SetBaseName(self
, BaseName
):
326 self
.BaseName
= BaseName
328 def GetBaseName(self
):
331 def SetFileName(self
, FileName
):
332 self
.FileName
= FileName
334 def GetFileName(self
):
337 def SetFullPath(self
, FullPath
):
338 self
.FullPath
= FullPath
340 def GetFullPath(self
):
343 def SetRelaPath(self
, RelaPath
):
344 self
.RelaPath
= RelaPath
346 def GetRelaPath(self
):
349 def SetPackagePath(self
, PackagePath
):
350 self
.PackagePath
= PackagePath
352 def GetPackagePath(self
):
353 return self
.PackagePath
355 def SetModulePath(self
, ModulePath
):
356 self
.ModulePath
= ModulePath
358 def GetModulePath(self
):
359 return self
.ModulePath
361 def SetCombinePath(self
, CombinePath
):
362 self
.CombinePath
= CombinePath
364 def GetCombinePath(self
):
365 return self
.CombinePath
367 ## GuidProtocolPpiCommonObject
369 # This class defined Guid, Protocol and Ppi like items used in
370 # Module/Platform/Package files
372 # @param CommonPropertiesObject: Inherited from CommonPropertiesObject class
374 class GuidProtocolPpiCommonObject(CommonPropertiesObject
):
379 self
.SupModuleList
= []
380 CommonPropertiesObject
.__init
__(self
)
382 def SetName(self
, Name
):
388 def SetCName(self
, CName
):
394 def SetGuid(self
, Guid
):
400 def SetSupModuleList(self
, SupModuleList
):
401 self
.SupModuleList
= SupModuleList
403 def GetSupModuleList(self
):
404 return self
.SupModuleList
408 # This class defined Guid item used in Module/Platform/Package files
410 # @param GuidProtocolPpiCommonObject: GuidProtocolPpiCommonObject
412 class GuidObject(GuidProtocolPpiCommonObject
):
414 self
.VariableName
= ''
415 self
.GuidTypeList
= []
416 GuidProtocolPpiCommonObject
.__init
__(self
)
417 def SetVariableName(self
, VariableName
):
418 self
.VariableName
= VariableName
420 def GetVariableName(self
):
421 return self
.VariableName
423 def SetGuidTypeList(self
, GuidTypeList
):
424 self
.GuidTypeList
= GuidTypeList
426 def GetGuidTypeList(self
):
427 return self
.GuidTypeList
431 # This class defined Protocol item used in Module/Platform/Package files
433 # @param GuidProtocolPpiCommonObject: Inherited from
434 # GuidProtocolPpiCommonObject
436 class ProtocolObject(GuidProtocolPpiCommonObject
):
439 GuidProtocolPpiCommonObject
.__init
__(self
)
440 def SetNotify(self
, Notify
):
448 # This class defined Ppi item used in Module/Platform/Package files
450 # @param GuidProtocolPpiCommonObject: Inherited from
451 # GuidProtocolPpiCommonObject
453 class PpiObject(GuidProtocolPpiCommonObject
):
456 GuidProtocolPpiCommonObject
.__init
__(self
)
457 def SetNotify(self
, Notify
):
465 # This class defined item DEFINE used in Module/Platform/Package files
467 # @param object: Inherited from object class
469 class DefineClass(object):
473 ## UserExtensionObject
475 # @param object: Inherited from object class
477 class UserExtensionObject(object):
482 # { Statement : Arch , ... }
484 self
.DefinesDict
= {}
486 # { Arch : Statement , ... }
488 self
.BuildOptionDict
= {}
489 self
.IncludesDict
= {}
490 self
.SourcesDict
= {}
491 self
.BinariesDict
= {}
493 # UserExtension statement from meta-data file [UserExtension] section
496 self
.SupArchList
= []
498 def SetStatement(self
, Statement
):
499 self
.Statement
= Statement
501 def GetStatement(self
):
502 return self
.Statement
504 def SetSupArchList(self
, ArchList
):
505 self
.SupArchList
= ArchList
507 def GetSupArchList(self
):
508 return self
.SupArchList
510 def SetUserID(self
, UserID
):
516 def SetIdentifier(self
, Identifier
):
517 self
.Identifier
= Identifier
519 def GetIdentifier(self
):
520 return self
.Identifier
522 def SetDefinesDict(self
, DefinesDict
):
523 self
.DefinesDict
= DefinesDict
525 def GetDefinesDict(self
):
526 return self
.DefinesDict
528 def SetBuildOptionDict(self
, BuildOptionDict
):
529 self
.BuildOptionDict
= BuildOptionDict
531 def GetBuildOptionDict(self
):
532 return self
.BuildOptionDict
534 def SetIncludesDict(self
, IncludesDict
):
535 self
.IncludesDict
= IncludesDict
537 def GetIncludesDict(self
):
538 return self
.IncludesDict
540 def SetSourcesDict(self
, SourcesDict
):
541 self
.SourcesDict
= SourcesDict
543 def GetSourcesDict(self
):
544 return self
.SourcesDict
546 def SetBinariesDict(self
, BinariesDict
):
547 self
.BinariesDict
= BinariesDict
549 def GetBinariesDict(self
):
550 return self
.BinariesDict
552 ## LibraryClassObject
554 # This class defined Library item used in Module/Platform/Package files
556 # @param CommonPropertiesObject: Inherited from CommonPropertiesObject class
558 class LibraryClassObject(CommonPropertiesObject
):
560 self
.LibraryClass
= ''
561 self
.IncludeHeader
= ''
562 self
.SupModuleList
= []
563 self
.RecommendedInstance
= GuidVersionObject()
564 CommonPropertiesObject
.__init
__(self
)
566 def SetLibraryClass(self
, LibraryClass
):
567 self
.LibraryClass
= LibraryClass
569 def GetLibraryClass(self
):
570 return self
.LibraryClass
572 def SetSupModuleList(self
, SupModuleList
):
573 self
.SupModuleList
= SupModuleList
575 def GetSupModuleList(self
):
576 return self
.SupModuleList
578 def SetIncludeHeader(self
, IncludeHeader
):
579 self
.IncludeHeader
= IncludeHeader
581 def GetIncludeHeader(self
):
582 return self
.IncludeHeader
584 def SetRecommendedInstance(self
, RecommendedInstance
):
585 self
.RecommendedInstance
= RecommendedInstance
587 def GetRecommendedInstance(self
):
588 return self
.RecommendedInstance
593 # @param object: Inherited from object class
595 class PcdErrorObject(object):
598 self
.ValidValueLang
= ''
599 self
.ValidValueRange
= ''
601 self
.ErrorNumber
= ''
602 self
.ErrorMessageList
= []
604 def SetValidValue(self
, ValidValue
):
605 self
.ValidValue
= ValidValue
607 def GetValidValue(self
):
608 return self
.ValidValue
610 def SetValidValueLang(self
, ValidValueLang
):
611 self
.ValidValueLang
= ValidValueLang
613 def GetValidValueLang(self
):
614 return self
.ValidValueLang
616 def SetValidValueRange(self
, ValidValueRange
):
617 self
.ValidValueRange
= ValidValueRange
619 def GetValidValueRange(self
):
620 return self
.ValidValueRange
622 def SetExpression(self
, Expression
):
623 self
.Expression
= Expression
625 def GetExpression(self
):
626 return self
.Expression
628 def SetErrorNumber(self
, ErrorNumber
):
629 self
.ErrorNumber
= ErrorNumber
631 def GetErrorNumber(self
):
632 return self
.ErrorNumber
634 def SetErrorMessageList(self
, ErrorMessageList
):
635 self
.ErrorMessageList
= ErrorMessageList
637 def GetErrorMessageList(self
):
638 return self
.ErrorMessageList
643 # This class defined Include item used in Module/Platform/Package files
645 # @param CommonPropertiesObject: Inherited from CommonPropertiesObject class
647 class IncludeObject(CommonPropertiesObject
):
651 self
.SupModuleList
= []
653 CommonPropertiesObject
.__init
__(self
)
655 def SetFilePath(self
, FilePath
):
656 self
.FilePath
= FilePath
658 def GetFilePath(self
):
661 def SetModuleType(self
, ModuleType
):
662 self
.ModuleType
= ModuleType
664 def GetModuleType(self
):
665 return self
.ModuleType
667 def SetSupModuleList(self
, SupModuleList
):
668 self
.SupModuleList
= SupModuleList
670 def GetSupModuleList(self
):
671 return self
.SupModuleList
673 def SetComment(self
, Comment
):
674 self
.Comment
= Comment
676 def GetComment(self
):
681 # This class defined Pcd item used in Module/Platform/Package files
683 # @param CName: Input value for CName, default is ''
684 # @param Token: Input value for Token, default is ''
685 # @param TokenSpaceGuidCName: Input value for TokenSpaceGuidCName, default is
687 # @param DatumType: Input value for DatumType, default is ''
688 # @param MaxDatumSize: Input value for MaxDatumSize, default is ''
689 # @param DefaultValue: Input value for DefaultValue, default is ''
690 # @param ItemType: Input value for ItemType, default is ''
691 # @param ValidUsage: Input value for ValidUsage, default is []
692 # @param SkuInfoList: Input value for SkuInfoList, default is {}
693 # @param SupModuleList: Input value for SupModuleList, default is []
695 class PcdObject(CommonPropertiesObject
, HelpTextListObject
):
700 self
.TokenSpaceGuidCName
= ''
701 self
.TokenSpaceGuidValue
= ''
703 self
.MaxDatumSize
= ''
704 self
.DefaultValue
= ''
708 self
.PcdErrorsList
= []
709 self
.SupModuleList
= []
710 CommonPropertiesObject
.__init
__(self
)
711 HelpTextListObject
.__init
__(self
)
713 def SetPcdCName(self
, PcdCName
):
714 self
.PcdCName
= PcdCName
716 def GetPcdCName(self
):
719 def SetCName(self
, CName
):
725 def SetToken(self
, Token
):
731 def SetOffset(self
, Offset
):
737 def SetTokenSpaceGuidCName(self
, TokenSpaceGuidCName
):
738 self
.TokenSpaceGuidCName
= TokenSpaceGuidCName
740 def GetTokenSpaceGuidCName(self
):
741 return self
.TokenSpaceGuidCName
743 def SetTokenSpaceGuidValue(self
, TokenSpaceGuidValue
):
744 self
.TokenSpaceGuidValue
= TokenSpaceGuidValue
746 def GetTokenSpaceGuidValue(self
):
747 return self
.TokenSpaceGuidValue
749 def SetDatumType(self
, DatumType
):
750 self
.DatumType
= DatumType
752 def GetDatumType(self
):
753 return self
.DatumType
755 def SetMaxDatumSize(self
, MaxDatumSize
):
756 self
.MaxDatumSize
= MaxDatumSize
758 def GetMaxDatumSize(self
):
759 return self
.MaxDatumSize
761 def SetDefaultValue(self
, DefaultValue
):
762 self
.DefaultValue
= DefaultValue
764 def GetDefaultValue(self
):
765 return self
.DefaultValue
767 def SetValidUsage(self
, ValidUsage
):
768 self
.ValidUsage
= ValidUsage
770 def GetValidUsage(self
):
771 return self
.ValidUsage
773 def SetPcdErrorsList(self
, PcdErrorsList
):
774 self
.PcdErrorsList
= PcdErrorsList
776 def GetPcdErrorsList(self
):
777 return self
.PcdErrorsList
779 def SetItemType(self
, ItemType
):
780 self
.ItemType
= ItemType
782 def GetItemType(self
):
785 def SetSupModuleList(self
, SupModuleList
):
786 self
.SupModuleList
= SupModuleList
788 def GetSupModuleList(self
):
789 return self
.SupModuleList