1## @file
2# This file is used to define common items of class object
3#
4# Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
5#
6# SPDX-License-Identifier: BSD-2-Clause-Patent
7
8'''
9Common Object
10'''
11from Library.DataType import TAB_LANGUAGE_EN_US
12
13## HelpTextObject
14#
15# @param object:       Inherited from object class
16#
17class HelpTextObject(object):
18    def __init__(self):
19        self.HelpText = TextObject()
20
21    def SetHelpText(self, HelpText):
22        self.HelpText = HelpText
23
24    def GetHelpText(self):
25        return self.HelpText
26
27## HelpTextListObject
28#
29# @param object:       Inherited from object class
30#
31class HelpTextListObject(object):
32    def __init__(self):
33        self.HelpTextList = []
34
35    def SetHelpTextList(self, HelpTextList):
36        self.HelpTextList = HelpTextList
37
38    def GetHelpTextList(self):
39        return self.HelpTextList
40
41## PromptListObject
42#
43# @param object:       Inherited from object class
44#
45class PromptListObject(object):
46    def __init__(self):
47        self.PromptList = []
48
49    def SetPromptList(self, PromptList):
50        self.PromptList = PromptList
51
52    def GetPromptList(self):
53        return self.PromptList
54
55## CommonPropertiesObject
56#
57# This class defined common attribution used in Module/Platform/Package files
58#
59# @param object:       Inherited from object class
60# @param Usage:        Input value for Usage, default is []
61# @param FeatureFlag:  Input value for FeatureFalg, default is ''
62# @param SupArchList:  Input value for SupArchList, default is []
63# @param HelpText:     Input value for HelpText, default is ''
64# @param HelpTextList: Input value for HelpTextList, default is []
65#
66class CommonPropertiesObject(HelpTextObject, HelpTextListObject):
67    def __init__(self):
68        self.Usage = []
69        self.FeatureFlag = ''
70        self.SupArchList = []
71        self.GuidValue = ''
72        HelpTextObject.__init__(self)
73        HelpTextListObject.__init__(self)
74
75    def SetUsage(self, Usage):
76        self.Usage = Usage
77
78    def GetUsage(self):
79        return self.Usage
80
81    def SetFeatureFlag(self, FeatureFlag):
82        self.FeatureFlag = FeatureFlag
83
84    def GetFeatureFlag(self):
85        return self.FeatureFlag
86
87    def SetSupArchList(self, SupArchList):
88        self.SupArchList = SupArchList
89
90    def GetSupArchList(self):
91        return self.SupArchList
92
93    def SetGuidValue(self, GuidValue):
94        self.GuidValue = GuidValue
95
96    def GetGuidValue(self):
97        return self.GuidValue
98
99## CommonHeaderObject
100#
101# This class defined common header items used in Module/Platform/Package files
102#
103# @param object:          Inherited from object class
104#
105class CommonHeaderObject(object):
106    def __init__(self):
107        self.AbstractList = []
108        self.DescriptionList = []
109        self.CopyrightList = []
110        self.LicenseList = []
111
112    def SetAbstract(self, Abstract):
113        if isinstance(Abstract, list):
114            self.AbstractList = Abstract
115        else:
116            self.AbstractList.append(Abstract)
117
118    def GetAbstract(self):
119        return self.AbstractList
120
121    def SetDescription(self, Description):
122        if isinstance(Description, list):
123            self.DescriptionList = Description
124        else:
125            self.DescriptionList.append(Description)
126
127    def GetDescription(self):
128        return self.DescriptionList
129
130    def SetCopyright(self, Copyright):
131        if isinstance(Copyright, list):
132            self.CopyrightList = Copyright
133        else:
134            self.CopyrightList.append(Copyright)
135
136    def GetCopyright(self):
137        return self.CopyrightList
138
139    def SetLicense(self, License):
140        if isinstance(License, list):
141            self.LicenseList = License
142        else:
143            self.LicenseList.append(License)
144
145    def GetLicense(self):
146        return self.LicenseList
147
148## BinaryHeaderObject
149#
150# This class defined Binary header items used in Module/Platform/Package files
151#
152# @param object:          Inherited from object class
153#
154class BinaryHeaderObject(object):
155    def __init__(self):
156        self.BinaryHeaderAbstractList = []
157        self.BinaryHeaderDescriptionList = []
158        self.BinaryHeaderCopyrightList = []
159        self.BinaryHeaderLicenseList = []
160
161    def SetBinaryHeaderAbstract(self, Abstract):
162        if isinstance(Abstract, list) and Abstract:
163            self.BinaryHeaderAbstractList = Abstract
164        elif isinstance(Abstract, tuple) and Abstract[1]:
165            self.BinaryHeaderAbstractList.append(Abstract)
166
167    def GetBinaryHeaderAbstract(self):
168        return self.BinaryHeaderAbstractList
169
170    def SetBinaryHeaderDescription(self, Description):
171        if isinstance(Description, list) and Description:
172            self.BinaryHeaderDescriptionList = Description
173        elif isinstance(Description, tuple) and Description[1]:
174            self.BinaryHeaderDescriptionList.append(Description)
175
176    def GetBinaryHeaderDescription(self):
177        return self.BinaryHeaderDescriptionList
178
179    def SetBinaryHeaderCopyright(self, Copyright):
180        if isinstance(Copyright, list) and Copyright:
181            self.BinaryHeaderCopyrightList = Copyright
182        elif isinstance(Copyright, tuple) and Copyright[1]:
183            self.BinaryHeaderCopyrightList.append(Copyright)
184
185    def GetBinaryHeaderCopyright(self):
186        return self.BinaryHeaderCopyrightList
187
188    def SetBinaryHeaderLicense(self, License):
189        if isinstance(License, list) and License:
190            self.BinaryHeaderLicenseList = License
191        elif isinstance(License, tuple) and License[1]:
192            self.BinaryHeaderLicenseList.append(License)
193
194    def GetBinaryHeaderLicense(self):
195        return self.BinaryHeaderLicenseList
196
197## ClonedRecordObject
198#
199# This class defined ClonedRecord items used in Module/Platform/Package files
200#
201# @param object:        Inherited from object class
202#
203class ClonedRecordObject(object):
204    def __init__(self):
205        self.IdNum = 0
206        self.FarGuid = ''
207        self.PackageGuid = ''
208        self.PackageVersion = ''
209        self.ModuleGuid = ''
210        self.ModuleVersion = ''
211
212    def SetId(self, IdNo):
213        self.IdNum = IdNo
214
215    def GetId(self):
216        return self.IdNum
217
218    def SetFarGuid(self, FarGuid):
219        self.FarGuid = FarGuid
220
221    def GetFarGuid(self):
222        return self.FarGuid
223
224    def SetPackageGuid(self, PackageGuid):
225        self.PackageGuid = PackageGuid
226
227    def GetPackageGuid(self):
228        return self.PackageGuid
229
230    def SetPackageVersion(self, PackageVersion):
231        self.PackageVersion = PackageVersion
232
233    def GetPackageVersion(self):
234        return self.PackageVersion
235
236    def SetModuleGuid(self, ModuleGuid):
237        self.ModuleGuid = ModuleGuid
238
239    def GetModuleGuid(self):
240        return self.ModuleGuid
241
242    def SetModuleVersion(self, ModuleVersion):
243        self.ModuleVersion = ModuleVersion
244
245    def GetModuleVersion(self):
246        return self.ModuleVersion
247
248## TextObject
249#
250# This class defined Text item used in PKG file
251#
252# @param object:     Inherited from object class
253#
254class TextObject(object):
255    def __init__(self):
256        self.Lang = TAB_LANGUAGE_EN_US
257        self.String = ''
258
259    def SetLang(self, Lang):
260        self.Lang = Lang
261
262    def GetLang(self):
263        return self.Lang
264
265    def SetString(self, String):
266        self.String = String
267
268    def GetString(self):
269        return self.String
270
271## FileNameObject
272#
273# This class defined File item used in module, for binary files
274#
275# @param CommonPropertiesObject:   Inherited from CommonPropertiesObject class
276#
277class FileNameObject(CommonPropertiesObject):
278    def __init__(self):
279        self.FileType = ''
280        self.Filename = ''
281        CommonPropertiesObject.__init__(self)
282
283    def SetFileType(self, FileType):
284        self.FileType = FileType
285
286    def GetFileType(self):
287        return self.FileType
288
289    def SetFilename(self, Filename):
290        self.Filename = Filename
291
292    def GetFilename(self):
293        return self.Filename
294
295## FileObject
296#
297# This class defined File item used in PKG file
298#
299# @param object:   Inherited from object class
300#
301class FileObject(object):
302    def __init__(self):
303        self.Executable = ''
304        self.Uri = ''
305        self.OsType = ''
306
307    def SetExecutable(self, Executable):
308        self.Executable = Executable
309
310    def GetExecutable(self):
311        return self.Executable
312
313    def SetURI(self, URI):
314        self.Uri = URI
315
316    def GetURI(self):
317        return self.Uri
318
319    def SetOS(self, OsType):
320        self.OsType = OsType
321
322    def GetOS(self):
323        return self.OsType
324
325##
326# MiscFileObject is used for xml
327#
328# @param CommonHeaderObject:   Inherited from CommonHeaderObject class
329#
330class MiscFileObject(CommonHeaderObject):
331    def __init__(self):
332        self.Name = ''
333        self.FileList = []
334        CommonHeaderObject.__init__(self)
335
336    def SetName(self, Name):
337        self.Name = Name
338
339    def GetName(self):
340        return self.Name
341
342    def SetFileList(self, FileList):
343        self.FileList = FileList
344
345    def GetFileList(self):
346        return self.FileList
347
348##
349# ToolsObject
350#
351class ToolsObject(MiscFileObject):
352    pass
353
354## GuidVersionObject
355#
356# This class defined GUID/Version items used in PKG file
357#
358# @param object:     Inherited from object class
359#
360class GuidVersionObject(object):
361    def __init__(self):
362        self.Guid = ''
363        self.Version = ''
364
365    def SetGuid(self, Guid):
366        self.Guid = Guid
367
368    def GetGuid(self):
369        return self.Guid
370
371    def SetVersion(self, Version):
372        self.Version = Version
373
374    def GetVersion(self):
375        return self.Version
376
377## IdentificationObject
378#
379# This class defined Identification items used in Module/Platform/Package files
380#
381# @param object:    Inherited from object class
382#
383class IdentificationObject(GuidVersionObject):
384    def __init__(self):
385        self.Name = ''
386        self.BaseName = ''
387        self.FileName = ''
388        self.FullPath = ''
389        self.RelaPath = ''
390        self.PackagePath = ''
391        self.ModulePath = ''
392        self.CombinePath = ''
393        GuidVersionObject.__init__(self)
394
395    def SetName(self, Name):
396        self.Name = Name
397
398    def GetName(self):
399        return self.Name
400
401    def SetBaseName(self, BaseName):
402        self.BaseName = BaseName
403
404    def GetBaseName(self):
405        return self.BaseName
406
407    def SetFileName(self, FileName):
408        self.FileName = FileName
409
410    def GetFileName(self):
411        return self.FileName
412
413    def SetFullPath(self, FullPath):
414        self.FullPath = FullPath
415
416    def GetFullPath(self):
417        return self.FullPath
418
419    def SetRelaPath(self, RelaPath):
420        self.RelaPath = RelaPath
421
422    def GetRelaPath(self):
423        return self.RelaPath
424
425    def SetPackagePath(self, PackagePath):
426        self.PackagePath = PackagePath
427
428    def GetPackagePath(self):
429        return self.PackagePath
430
431    def SetModulePath(self, ModulePath):
432        self.ModulePath = ModulePath
433
434    def GetModulePath(self):
435        return self.ModulePath
436
437    def SetCombinePath(self, CombinePath):
438        self.CombinePath = CombinePath
439
440    def GetCombinePath(self):
441        return self.CombinePath
442
443## GuidProtocolPpiCommonObject
444#
445# This class defined Guid, Protocol and Ppi like items used in
446# Module/Platform/Package files
447#
448# @param CommonPropertiesObject:    Inherited from CommonPropertiesObject class
449#
450class GuidProtocolPpiCommonObject(CommonPropertiesObject):
451    def __init__(self):
452        self.Name = ''
453        self.CName = ''
454        self.Guid = ''
455        self.SupModuleList = []
456        CommonPropertiesObject.__init__(self)
457
458    def SetName(self, Name):
459        self.Name = Name
460
461    def GetName(self):
462        return self.Name
463
464    def SetCName(self, CName):
465        self.CName = CName
466
467    def GetCName(self):
468        return self.CName
469
470    def SetGuid(self, Guid):
471        self.Guid = Guid
472
473    def GetGuid(self):
474        return self.Guid
475
476    def SetSupModuleList(self, SupModuleList):
477        self.SupModuleList = SupModuleList
478
479    def GetSupModuleList(self):
480        return self.SupModuleList
481
482## GuidObject
483#
484# This class defined Guid item used in Module/Platform/Package files
485#
486# @param GuidProtocolPpiCommonObject:  GuidProtocolPpiCommonObject
487#
488class GuidObject(GuidProtocolPpiCommonObject):
489    def __init__(self):
490        self.VariableName = ''
491        self.GuidTypeList = []
492        GuidProtocolPpiCommonObject.__init__(self)
493    def SetVariableName(self, VariableName):
494        self.VariableName = VariableName
495
496    def GetVariableName(self):
497        return self.VariableName
498
499    def SetGuidTypeList(self, GuidTypeList):
500        self.GuidTypeList = GuidTypeList
501
502    def GetGuidTypeList(self):
503        return self.GuidTypeList
504
505## ProtocolObject
506#
507# This class defined Protocol item used in Module/Platform/Package files
508#
509# @param GuidProtocolPpiCommonObject:  Inherited from
510#                                      GuidProtocolPpiCommonObject
511#
512class ProtocolObject(GuidProtocolPpiCommonObject):
513    def __init__(self):
514        self.Notify = False
515        GuidProtocolPpiCommonObject.__init__(self)
516    def SetNotify(self, Notify):
517        self.Notify = Notify
518
519    def GetNotify(self):
520        return self.Notify
521
522## PpiObject
523#
524# This class defined Ppi item used in Module/Platform/Package files
525#
526# @param GuidProtocolPpiCommonObject:  Inherited from
527#                                      GuidProtocolPpiCommonObject
528#
529class PpiObject(GuidProtocolPpiCommonObject):
530    def __init__(self):
531        self.Notify = False
532        GuidProtocolPpiCommonObject.__init__(self)
533    def SetNotify(self, Notify):
534        self.Notify = Notify
535
536    def GetNotify(self):
537        return self.Notify
538
539## DefineObject
540#
541# This class defined item DEFINE used in Module/Platform/Package files
542#
543# @param object:  Inherited from object class
544#
545class DefineClass(object):
546    def __init__(self):
547        self.Define = {}
548
549## UserExtensionObject
550#
551# @param object:  Inherited from object class
552#
553class UserExtensionObject(object):
554    def __init__(self):
555        self.UserID = ''
556        self.Identifier = ''
557        self.BinaryAbstractList = []
558        self.BinaryDescriptionList = []
559        self.BinaryCopyrightList = []
560        self.BinaryLicenseList = []
561        self.UniLangDefsList = []
562        #
563        # { Statement : Arch , ... }
564        #
565        self.DefinesDict = {}
566        #
567        # { Arch : Statement , ... }
568        #
569        self.BuildOptionDict = {}
570        self.IncludesDict = {}
571        self.SourcesDict = {}
572        self.BinariesDict = {}
573        #
574        # UserExtension statement from meta-data file [UserExtension] section
575        #
576        self.Statement = ''
577        self.SupArchList = []
578
579    def SetStatement(self, Statement):
580        self.Statement = Statement
581
582    def GetStatement(self):
583        return self.Statement
584
585    def SetSupArchList(self, ArchList):
586        self.SupArchList = ArchList
587
588    def GetSupArchList(self):
589        return self.SupArchList
590
591    def SetUserID(self, UserID):
592        self.UserID = UserID
593
594    def GetUserID(self):
595        return self.UserID
596
597    def SetIdentifier(self, Identifier):
598        self.Identifier = Identifier
599
600    def GetIdentifier(self):
601        return self.Identifier
602
603    def SetUniLangDefsList(self, UniLangDefsList):
604        self.UniLangDefsList = UniLangDefsList
605
606    def GetUniLangDefsList(self):
607        return self.UniLangDefsList
608
609    def SetBinaryAbstract(self, BinaryAbstractList):
610        self.BinaryAbstractList = BinaryAbstractList
611
612    def GetBinaryAbstract(self, Lang=None):
613        if Lang:
614            for (Key, Value) in self.BinaryAbstractList:
615                if Key == Lang:
616                    return Value
617            return None
618        else:
619            return self.BinaryAbstractList
620
621    def SetBinaryDescription(self, BinaryDescriptionList):
622        self.BinaryDescriptionList = BinaryDescriptionList
623
624    def GetBinaryDescription(self, Lang=None):
625        if Lang:
626            for (Key, Value) in self.BinaryDescriptionList:
627                if Key == Lang:
628                    return Value
629            return None
630        else:
631            return self.BinaryDescriptionList
632
633    def SetBinaryCopyright(self, BinaryCopyrightList):
634        self.BinaryCopyrightList = BinaryCopyrightList
635
636    def GetBinaryCopyright(self, Lang=None):
637        if Lang:
638            for (Key, Value) in self.BinaryCopyrightList:
639                if Key == Lang:
640                    return Value
641            return None
642        else:
643            return self.BinaryCopyrightList
644
645    def SetBinaryLicense(self, BinaryLicenseList):
646        self.BinaryLicenseList = BinaryLicenseList
647
648    def GetBinaryLicense(self, Lang=None):
649        if Lang:
650            for (Key, Value) in self.BinaryLicenseList:
651                if Key == Lang:
652                    return Value
653            return None
654        else:
655            return self.BinaryLicenseList
656
657    def SetDefinesDict(self, DefinesDict):
658        self.DefinesDict = DefinesDict
659
660    def GetDefinesDict(self):
661        return self.DefinesDict
662
663    def SetBuildOptionDict(self, BuildOptionDict):
664        self.BuildOptionDict = BuildOptionDict
665
666    def GetBuildOptionDict(self):
667        return self.BuildOptionDict
668
669    def SetIncludesDict(self, IncludesDict):
670        self.IncludesDict = IncludesDict
671
672    def GetIncludesDict(self):
673        return self.IncludesDict
674
675    def SetSourcesDict(self, SourcesDict):
676        self.SourcesDict = SourcesDict
677
678    def GetSourcesDict(self):
679        return self.SourcesDict
680
681    def SetBinariesDict(self, BinariesDict):
682        self.BinariesDict = BinariesDict
683
684    def GetBinariesDict(self):
685        return self.BinariesDict
686
687## LibraryClassObject
688#
689# This class defined Library item used in Module/Platform/Package files
690#
691# @param CommonPropertiesObject:  Inherited from CommonPropertiesObject class
692#
693class LibraryClassObject(CommonPropertiesObject):
694    def __init__(self):
695        self.LibraryClass = ''
696        self.IncludeHeader = ''
697        self.SupModuleList = []
698        self.RecommendedInstance = GuidVersionObject()
699        CommonPropertiesObject.__init__(self)
700
701    def SetLibraryClass(self, LibraryClass):
702        self.LibraryClass = LibraryClass
703
704    def GetLibraryClass(self):
705        return self.LibraryClass
706
707    def SetSupModuleList(self, SupModuleList):
708        self.SupModuleList = SupModuleList
709
710    def GetSupModuleList(self):
711        return self.SupModuleList
712
713    def SetIncludeHeader(self, IncludeHeader):
714        self.IncludeHeader = IncludeHeader
715
716    def GetIncludeHeader(self):
717        return self.IncludeHeader
718
719    def SetRecommendedInstance(self, RecommendedInstance):
720        self.RecommendedInstance = RecommendedInstance
721
722    def GetRecommendedInstance(self):
723        return self.RecommendedInstance
724
725
726## PcdErrorObject
727#
728# @param object:  Inherited from object class
729#
730class PcdErrorObject(object):
731    def __init__(self):
732        self.ValidValue = ''
733        self.ValidValueLang = ''
734        self.ValidValueRange = ''
735        self.Expression = ''
736        self.ErrorNumber = ''
737        self.ErrorMessageList = []
738        self.TokenSpaceGuidCName = ''
739        self.CName = ''
740        self.FileLine = ''
741        self.LineNum = 0
742
743    def SetValidValue(self, ValidValue):
744        self.ValidValue = ValidValue
745
746    def GetValidValue(self):
747        return self.ValidValue
748
749    def SetValidValueLang(self, ValidValueLang):
750        self.ValidValueLang = ValidValueLang
751
752    def GetValidValueLang(self):
753        return self.ValidValueLang
754
755    def SetValidValueRange(self, ValidValueRange):
756        self.ValidValueRange = ValidValueRange
757
758    def GetValidValueRange(self):
759        return self.ValidValueRange
760
761    def SetExpression(self, Expression):
762        self.Expression = Expression
763
764    def GetExpression(self):
765        return self.Expression
766
767    def SetErrorNumber(self, ErrorNumber):
768        self.ErrorNumber = ErrorNumber
769
770    def GetErrorNumber(self):
771        return self.ErrorNumber
772
773    def SetErrorMessageList(self, ErrorMessageList):
774        self.ErrorMessageList = ErrorMessageList
775
776    def GetErrorMessageList(self):
777        return self.ErrorMessageList
778
779    def SetTokenSpaceGuidCName(self, TokenSpaceGuidCName):
780        self.TokenSpaceGuidCName = TokenSpaceGuidCName
781
782    def GetTokenSpaceGuidCName(self):
783        return self.TokenSpaceGuidCName
784
785    def SetCName(self, CName):
786        self.CName = CName
787
788    def GetCName(self):
789        return self.CName
790
791    def SetFileLine(self, FileLine):
792        self.FileLine = FileLine
793
794    def GetFileLine(self):
795        return self.FileLine
796
797    def SetLineNum(self, LineNum):
798        self.LineNum = LineNum
799
800    def GetLineNum(self):
801        return self.LineNum
802
803
804## IncludeObject
805#
806# This class defined Include item used in Module/Platform/Package files
807#
808# @param CommonPropertiesObject:  Inherited from CommonPropertiesObject class
809#
810class IncludeObject(CommonPropertiesObject):
811    def __init__(self):
812        self.FilePath = ''
813        self.ModuleType = ''
814        self.SupModuleList = []
815        self.Comment = ''
816        CommonPropertiesObject.__init__(self)
817
818    def SetFilePath(self, FilePath):
819        self.FilePath = FilePath
820
821    def GetFilePath(self):
822        return self.FilePath
823
824    def SetModuleType(self, ModuleType):
825        self.ModuleType = ModuleType
826
827    def GetModuleType(self):
828        return self.ModuleType
829
830    def SetSupModuleList(self, SupModuleList):
831        self.SupModuleList = SupModuleList
832
833    def GetSupModuleList(self):
834        return self.SupModuleList
835
836    def SetComment(self, Comment):
837        self.Comment = Comment
838
839    def GetComment(self):
840        return self.Comment
841
842## PcdObject
843#
844# This class defined Pcd item used in Module/Platform/Package files
845#
846# @param CName:                Input value for CName, default is ''
847# @param Token:                Input value for Token, default is ''
848# @param TokenSpaceGuidCName:  Input value for TokenSpaceGuidCName, default is
849#                              ''
850# @param DatumType:            Input value for DatumType, default is ''
851# @param MaxDatumSize:         Input value for MaxDatumSize, default is ''
852# @param DefaultValue:         Input value for DefaultValue, default is ''
853# @param ItemType:             Input value for ItemType, default is ''
854# @param ValidUsage:           Input value for ValidUsage, default is []
855# @param SkuInfoList:          Input value for SkuInfoList, default is {}
856# @param SupModuleList:        Input value for SupModuleList, default is []
857#
858class PcdObject(CommonPropertiesObject, HelpTextListObject, PromptListObject):
859    def __init__(self):
860        self.PcdCName = ''
861        self.CName = ''
862        self.Token = ''
863        self.TokenSpaceGuidCName = ''
864        self.TokenSpaceGuidValue = ''
865        self.DatumType = ''
866        self.MaxDatumSize = ''
867        self.DefaultValue = ''
868        self.Offset = ''
869        self.ValidUsage = ''
870        self.ItemType = ''
871        self.PcdErrorsList = []
872        self.SupModuleList = []
873        CommonPropertiesObject.__init__(self)
874        HelpTextListObject.__init__(self)
875        PromptListObject.__init__(self)
876
877    def SetPcdCName(self, PcdCName):
878        self.PcdCName = PcdCName
879
880    def GetPcdCName(self):
881        return self.PcdCName
882
883    def SetCName(self, CName):
884        self.CName = CName
885
886    def GetCName(self):
887        return self.CName
888
889    def SetToken(self, Token):
890        self.Token = Token
891
892    def GetOffset(self):
893        return self.Offset
894
895    def SetOffset(self, Offset):
896        self.Offset = Offset
897
898    def GetToken(self):
899        return self.Token
900
901    def SetTokenSpaceGuidCName(self, TokenSpaceGuidCName):
902        self.TokenSpaceGuidCName = TokenSpaceGuidCName
903
904    def GetTokenSpaceGuidCName(self):
905        return self.TokenSpaceGuidCName
906
907    def SetTokenSpaceGuidValue(self, TokenSpaceGuidValue):
908        self.TokenSpaceGuidValue = TokenSpaceGuidValue
909
910    def GetTokenSpaceGuidValue(self):
911        return self.TokenSpaceGuidValue
912
913    def SetDatumType(self, DatumType):
914        self.DatumType = DatumType
915
916    def GetDatumType(self):
917        return self.DatumType
918
919    def SetMaxDatumSize(self, MaxDatumSize):
920        self.MaxDatumSize = MaxDatumSize
921
922    def GetMaxDatumSize(self):
923        return self.MaxDatumSize
924
925    def SetDefaultValue(self, DefaultValue):
926        self.DefaultValue = DefaultValue
927
928    def GetDefaultValue(self):
929        return self.DefaultValue
930
931    def SetValidUsage(self, ValidUsage):
932        self.ValidUsage = ValidUsage
933
934    def GetValidUsage(self):
935        return self.ValidUsage
936
937    def SetPcdErrorsList(self, PcdErrorsList):
938        self.PcdErrorsList = PcdErrorsList
939
940    def GetPcdErrorsList(self):
941        return self.PcdErrorsList
942
943    def SetItemType(self, ItemType):
944        self.ItemType = ItemType
945
946    def GetItemType(self):
947        return self.ItemType
948
949    def SetSupModuleList(self, SupModuleList):
950        self.SupModuleList = SupModuleList
951
952    def GetSupModuleList(self):
953        return self.SupModuleList
954