https://bugzilla.tianocore.org/show_bug.cgi?id=543 Structure PCD field value can inherit between the different SKUIds. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Feng Bob C <bob.c.feng@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
		
			
				
	
	
		
			378 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			378 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| ## @file
 | |
| # This file is used to define class for data structure used in ECC
 | |
| #
 | |
| # Copyright (c) 2008 - 2014, Intel Corporation. All rights reserved.<BR>
 | |
| # This program and the accompanying materials
 | |
| # are licensed and made available under the terms and conditions of the BSD License
 | |
| # which accompanies this distribution.    The full text of the license may be found at
 | |
| # http://opensource.org/licenses/bsd-license.php
 | |
| #
 | |
| # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
 | |
| # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 | |
| 
 | |
| ##
 | |
| # Import Modules
 | |
| #
 | |
| import Common.EdkLogger as EdkLogger
 | |
| 
 | |
| ##
 | |
| # Static values for data models
 | |
| #
 | |
| MODEL_UNKNOWN = 0
 | |
| 
 | |
| MODEL_FILE_C = 1001
 | |
| MODEL_FILE_H = 1002
 | |
| MODEL_FILE_ASM = 1003
 | |
| MODEL_FILE_INF = 1011
 | |
| MODEL_FILE_DEC = 1012
 | |
| MODEL_FILE_DSC = 1013
 | |
| MODEL_FILE_FDF = 1014
 | |
| MODEL_FILE_INC = 1015
 | |
| MODEL_FILE_CIF = 1016
 | |
| MODEL_FILE_UNI = 1017
 | |
| MODEL_FILE_OTHERS = 1099
 | |
| 
 | |
| MODEL_IDENTIFIER_FILE_HEADER = 2001
 | |
| MODEL_IDENTIFIER_FUNCTION_HEADER = 2002
 | |
| MODEL_IDENTIFIER_COMMENT = 2003
 | |
| MODEL_IDENTIFIER_PARAMETER = 2004
 | |
| MODEL_IDENTIFIER_STRUCTURE = 2005
 | |
| MODEL_IDENTIFIER_VARIABLE = 2006
 | |
| MODEL_IDENTIFIER_INCLUDE = 2007
 | |
| MODEL_IDENTIFIER_PREDICATE_EXPRESSION = 2008
 | |
| MODEL_IDENTIFIER_ENUMERATE = 2009
 | |
| MODEL_IDENTIFIER_PCD = 2010
 | |
| MODEL_IDENTIFIER_UNION = 2011
 | |
| MODEL_IDENTIFIER_MACRO_IFDEF = 2012
 | |
| MODEL_IDENTIFIER_MACRO_IFNDEF = 2013
 | |
| MODEL_IDENTIFIER_MACRO_DEFINE = 2014
 | |
| MODEL_IDENTIFIER_MACRO_ENDIF = 2015
 | |
| MODEL_IDENTIFIER_MACRO_PROGMA = 2016
 | |
| MODEL_IDENTIFIER_FUNCTION_CALLING = 2018
 | |
| MODEL_IDENTIFIER_TYPEDEF = 2017
 | |
| MODEL_IDENTIFIER_FUNCTION_DECLARATION = 2019
 | |
| MODEL_IDENTIFIER_ASSIGNMENT_EXPRESSION = 2020
 | |
| 
 | |
| MODEL_EFI_PROTOCOL = 3001
 | |
| MODEL_EFI_PPI = 3002
 | |
| MODEL_EFI_GUID = 3003
 | |
| MODEL_EFI_LIBRARY_CLASS = 3004
 | |
| MODEL_EFI_LIBRARY_INSTANCE = 3005
 | |
| MODEL_EFI_PCD = 3006
 | |
| MODEL_EFI_SOURCE_FILE = 3007
 | |
| MODEL_EFI_BINARY_FILE = 3008
 | |
| MODEL_EFI_SKU_ID = 3009
 | |
| MODEL_EFI_INCLUDE = 3010
 | |
| MODEL_EFI_DEPEX = 3011
 | |
| MODEL_EFI_DEFAULT_STORES = 3012
 | |
| 
 | |
| MODEL_PCD = 4000
 | |
| MODEL_PCD_FIXED_AT_BUILD = 4001
 | |
| MODEL_PCD_PATCHABLE_IN_MODULE = 4002
 | |
| MODEL_PCD_FEATURE_FLAG = 4003
 | |
| MODEL_PCD_DYNAMIC_EX = 4004
 | |
| MODEL_PCD_DYNAMIC_EX_DEFAULT = 4005
 | |
| MODEL_PCD_DYNAMIC_EX_VPD = 4006
 | |
| MODEL_PCD_DYNAMIC_EX_HII = 4007
 | |
| MODEL_PCD_DYNAMIC = 4008
 | |
| MODEL_PCD_DYNAMIC_DEFAULT = 4009
 | |
| MODEL_PCD_DYNAMIC_VPD = 4010
 | |
| MODEL_PCD_DYNAMIC_HII = 4011
 | |
| MODEL_PCD_TYPE_LIST = [MODEL_PCD_FIXED_AT_BUILD,
 | |
|                         MODEL_PCD_PATCHABLE_IN_MODULE,
 | |
|                         MODEL_PCD_FEATURE_FLAG,
 | |
|                         MODEL_PCD_DYNAMIC_DEFAULT,
 | |
|                         MODEL_PCD_DYNAMIC_HII,
 | |
|                         MODEL_PCD_DYNAMIC_VPD,
 | |
|                         MODEL_PCD_DYNAMIC_EX_DEFAULT,
 | |
|                         MODEL_PCD_DYNAMIC_EX_HII,
 | |
|                         MODEL_PCD_DYNAMIC_EX_VPD
 | |
|                        ]
 | |
| 
 | |
| MODEL_META_DATA_HEADER_COMMENT = 5000
 | |
| MODEL_META_DATA_HEADER = 5001
 | |
| MODEL_META_DATA_INCLUDE = 5002
 | |
| MODEL_META_DATA_DEFINE = 5003
 | |
| MODEL_META_DATA_CONDITIONAL_STATEMENT_IF = 5004
 | |
| MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSE = 5005
 | |
| MODEL_META_DATA_CONDITIONAL_STATEMENT_IFDEF = 5006
 | |
| MODEL_META_DATA_CONDITIONAL_STATEMENT_IFNDEF = 5007
 | |
| MODEL_META_DATA_CONDITIONAL_STATEMENT_ERROR = 5400
 | |
| MODEL_META_DATA_BUILD_OPTION = 5008
 | |
| MODEL_META_DATA_COMPONENT = 5009
 | |
| MODEL_META_DATA_USER_EXTENSION = 5010
 | |
| MODEL_META_DATA_PACKAGE = 5011
 | |
| MODEL_META_DATA_NMAKE = 5012
 | |
| MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSEIF = 5013
 | |
| MODEL_META_DATA_CONDITIONAL_STATEMENT_ENDIF = 5014
 | |
| MODEL_META_DATA_COMPONENT_SOURCE_OVERRIDE_PATH = 5015
 | |
| MODEL_META_DATA_COMMENT = 5016
 | |
| MODEL_META_DATA_GLOBAL_DEFINE = 5017
 | |
| MODEL_META_DATA_SECTION_HEADER = 5100
 | |
| MODEL_META_DATA_SUBSECTION_HEADER = 5200
 | |
| MODEL_META_DATA_TAIL_COMMENT = 5300
 | |
| 
 | |
| MODEL_EXTERNAL_DEPENDENCY = 10000
 | |
| 
 | |
| MODEL_LIST = [('MODEL_UNKNOWN', MODEL_UNKNOWN),
 | |
|               ('MODEL_FILE_C', MODEL_FILE_C),
 | |
|               ('MODEL_FILE_H', MODEL_FILE_H),
 | |
|               ('MODEL_FILE_ASM', MODEL_FILE_ASM),
 | |
|               ('MODEL_FILE_INF', MODEL_FILE_INF),
 | |
|               ('MODEL_FILE_DEC', MODEL_FILE_DEC),
 | |
|               ('MODEL_FILE_DSC', MODEL_FILE_DSC),
 | |
|               ('MODEL_FILE_FDF', MODEL_FILE_FDF),
 | |
|               ('MODEL_FILE_INC', MODEL_FILE_INC),
 | |
|               ('MODEL_FILE_CIF', MODEL_FILE_CIF),
 | |
|               ('MODEL_FILE_OTHERS', MODEL_FILE_OTHERS),
 | |
|               ('MODEL_IDENTIFIER_FILE_HEADER', MODEL_IDENTIFIER_FILE_HEADER),
 | |
|               ('MODEL_IDENTIFIER_FUNCTION_HEADER', MODEL_IDENTIFIER_FUNCTION_HEADER),
 | |
|               ('MODEL_IDENTIFIER_COMMENT', MODEL_IDENTIFIER_COMMENT),
 | |
|               ('MODEL_IDENTIFIER_PARAMETER', MODEL_IDENTIFIER_PARAMETER),
 | |
|               ('MODEL_IDENTIFIER_STRUCTURE', MODEL_IDENTIFIER_STRUCTURE),
 | |
|               ('MODEL_IDENTIFIER_VARIABLE', MODEL_IDENTIFIER_VARIABLE),
 | |
|               ('MODEL_IDENTIFIER_INCLUDE', MODEL_IDENTIFIER_INCLUDE),
 | |
|               ('MODEL_IDENTIFIER_PREDICATE_EXPRESSION', MODEL_IDENTIFIER_PREDICATE_EXPRESSION),
 | |
|               ('MODEL_IDENTIFIER_ENUMERATE', MODEL_IDENTIFIER_ENUMERATE),
 | |
|               ('MODEL_IDENTIFIER_PCD', MODEL_IDENTIFIER_PCD),
 | |
|               ('MODEL_IDENTIFIER_UNION', MODEL_IDENTIFIER_UNION),
 | |
|               ('MODEL_IDENTIFIER_MACRO_IFDEF', MODEL_IDENTIFIER_MACRO_IFDEF),
 | |
|               ('MODEL_IDENTIFIER_MACRO_IFNDEF', MODEL_IDENTIFIER_MACRO_IFNDEF),
 | |
|               ('MODEL_IDENTIFIER_MACRO_DEFINE', MODEL_IDENTIFIER_MACRO_DEFINE),
 | |
|               ('MODEL_IDENTIFIER_MACRO_ENDIF', MODEL_IDENTIFIER_MACRO_ENDIF),
 | |
|               ('MODEL_IDENTIFIER_MACRO_PROGMA', MODEL_IDENTIFIER_MACRO_PROGMA),
 | |
|               ('MODEL_IDENTIFIER_FUNCTION_CALLING', MODEL_IDENTIFIER_FUNCTION_CALLING),
 | |
|               ('MODEL_IDENTIFIER_TYPEDEF', MODEL_IDENTIFIER_TYPEDEF),
 | |
|               ('MODEL_IDENTIFIER_FUNCTION_DECLARATION', MODEL_IDENTIFIER_FUNCTION_DECLARATION),
 | |
|               ('MODEL_IDENTIFIER_ASSIGNMENT_EXPRESSION', MODEL_IDENTIFIER_ASSIGNMENT_EXPRESSION),
 | |
|               ('MODEL_EFI_PROTOCOL', MODEL_EFI_PROTOCOL),
 | |
|               ('MODEL_EFI_PPI', MODEL_EFI_PPI),
 | |
|               ('MODEL_EFI_GUID', MODEL_EFI_GUID),
 | |
|               ('MODEL_EFI_LIBRARY_CLASS', MODEL_EFI_LIBRARY_CLASS),
 | |
|               ('MODEL_EFI_LIBRARY_INSTANCE', MODEL_EFI_LIBRARY_INSTANCE),
 | |
|               ('MODEL_EFI_PCD', MODEL_EFI_PCD),
 | |
|               ('MODEL_EFI_SKU_ID', MODEL_EFI_SKU_ID),
 | |
|               ('MODEL_EFI_INCLUDE', MODEL_EFI_INCLUDE),
 | |
|               ('MODEL_EFI_DEPEX', MODEL_EFI_DEPEX),
 | |
|               ('MODEL_IDENTIFIER_UNION', MODEL_IDENTIFIER_UNION),
 | |
|               ('MODEL_EFI_SOURCE_FILE', MODEL_EFI_SOURCE_FILE),
 | |
|               ('MODEL_EFI_BINARY_FILE', MODEL_EFI_BINARY_FILE),
 | |
|               ('MODEL_PCD', MODEL_PCD),
 | |
|               ('MODEL_PCD_FIXED_AT_BUILD', MODEL_PCD_FIXED_AT_BUILD),
 | |
|               ('MODEL_PCD_PATCHABLE_IN_MODULE', MODEL_PCD_PATCHABLE_IN_MODULE),
 | |
|               ('MODEL_PCD_FEATURE_FLAG', MODEL_PCD_FEATURE_FLAG),
 | |
|               ('MODEL_PCD_DYNAMIC_EX', MODEL_PCD_DYNAMIC_EX),
 | |
|               ('MODEL_PCD_DYNAMIC_EX_DEFAULT', MODEL_PCD_DYNAMIC_EX_DEFAULT),
 | |
|               ('MODEL_PCD_DYNAMIC_EX_VPD', MODEL_PCD_DYNAMIC_EX_VPD),
 | |
|               ('MODEL_PCD_DYNAMIC_EX_HII', MODEL_PCD_DYNAMIC_EX_HII),
 | |
|               ('MODEL_PCD_DYNAMIC', MODEL_PCD_DYNAMIC),
 | |
|               ('MODEL_PCD_DYNAMIC_DEFAULT', MODEL_PCD_DYNAMIC_DEFAULT),
 | |
|               ('MODEL_PCD_DYNAMIC_VPD', MODEL_PCD_DYNAMIC_VPD),
 | |
|               ('MODEL_PCD_DYNAMIC_HII', MODEL_PCD_DYNAMIC_HII),
 | |
|               ("MODEL_META_DATA_HEADER", MODEL_META_DATA_HEADER),
 | |
|               ("MODEL_META_DATA_INCLUDE", MODEL_META_DATA_INCLUDE),
 | |
|               ("MODEL_META_DATA_DEFINE", MODEL_META_DATA_DEFINE),
 | |
|               ("MODEL_META_DATA_CONDITIONAL_STATEMENT_IF", MODEL_META_DATA_CONDITIONAL_STATEMENT_IF),
 | |
|               ("MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSE", MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSE),
 | |
|               ("MODEL_META_DATA_CONDITIONAL_STATEMENT_IFDEF", MODEL_META_DATA_CONDITIONAL_STATEMENT_IFDEF),
 | |
|               ("MODEL_META_DATA_CONDITIONAL_STATEMENT_IFNDEF", MODEL_META_DATA_CONDITIONAL_STATEMENT_IFNDEF),
 | |
|               ("MODEL_META_DATA_CONDITIONAL_STATEMENT_ERROR", MODEL_META_DATA_CONDITIONAL_STATEMENT_ERROR),
 | |
|               ("MODEL_META_DATA_COMPONENT_SOURCE_OVERRIDE_PATH", MODEL_META_DATA_COMPONENT_SOURCE_OVERRIDE_PATH),
 | |
|               ("MODEL_META_DATA_BUILD_OPTION", MODEL_META_DATA_BUILD_OPTION),
 | |
|               ("MODEL_META_DATA_COMPONENT", MODEL_META_DATA_COMPONENT),
 | |
|               ('MODEL_META_DATA_USER_EXTENSION', MODEL_META_DATA_USER_EXTENSION),
 | |
|               ('MODEL_META_DATA_PACKAGE', MODEL_META_DATA_PACKAGE),
 | |
|               ('MODEL_META_DATA_NMAKE', MODEL_META_DATA_NMAKE),
 | |
|               ('MODEL_META_DATA_COMMENT', MODEL_META_DATA_COMMENT)
 | |
|              ]
 | |
| 
 | |
| ## FunctionClass
 | |
| #
 | |
| # This class defines a structure of a function
 | |
| #
 | |
| # @param ID:               ID of a Function
 | |
| # @param Header:           Header of a Function
 | |
| # @param Modifier:         Modifier of a Function
 | |
| # @param Name:             Name of a Function
 | |
| # @param ReturnStatement:  ReturnStatement of a Funciont
 | |
| # @param StartLine:        StartLine of a Function
 | |
| # @param StartColumn:      StartColumn of a Function
 | |
| # @param EndLine:          EndLine of a Function
 | |
| # @param EndColumn:        EndColumn of a Function
 | |
| # @param BodyStartLine:    BodyStartLine of a Function Body
 | |
| # @param BodyStartColumn:  BodyStartColumn of a Function Body
 | |
| # @param BelongsToFile:    The Function belongs to which file
 | |
| # @param IdentifierList:   IdentifierList of a File
 | |
| # @param PcdList:          PcdList of a File
 | |
| #
 | |
| # @var ID:                 ID of a Function
 | |
| # @var Header:             Header of a Function
 | |
| # @var Modifier:           Modifier of a Function
 | |
| # @var Name:               Name of a Function
 | |
| # @var ReturnStatement:    ReturnStatement of a Funciont
 | |
| # @var StartLine:          StartLine of a Function
 | |
| # @var StartColumn:        StartColumn of a Function
 | |
| # @var EndLine:            EndLine of a Function
 | |
| # @var EndColumn:          EndColumn of a Function
 | |
| # @var BodyStartLine:      StartLine of a Function Body
 | |
| # @var BodyStartColumn:    StartColumn of a Function Body
 | |
| # @var BelongsToFile:      The Function belongs to which file
 | |
| # @var IdentifierList:     IdentifierList of a File
 | |
| # @var PcdList:            PcdList of a File
 | |
| #
 | |
| class FunctionClass(object):
 | |
|     def __init__(self, ID = -1, Header = '', Modifier = '', Name = '', ReturnStatement = '', \
 | |
|                  StartLine = -1, StartColumn = -1, EndLine = -1, EndColumn = -1, \
 | |
|                  BodyStartLine = -1, BodyStartColumn = -1, BelongsToFile = -1, \
 | |
|                  IdentifierList = [], PcdList = [], \
 | |
|                  FunNameStartLine = -1, FunNameStartColumn = -1):
 | |
|         self.ID = ID
 | |
|         self.Header = Header
 | |
|         self.Modifier = Modifier
 | |
|         self.Name = Name
 | |
|         self.ReturnStatement = ReturnStatement
 | |
|         self.StartLine = StartLine
 | |
|         self.StartColumn = StartColumn
 | |
|         self.EndLine = EndLine
 | |
|         self.EndColumn = EndColumn
 | |
|         self.BodyStartLine = BodyStartLine
 | |
|         self.BodyStartColumn = BodyStartColumn
 | |
|         self.BelongsToFile = BelongsToFile
 | |
|         self.FunNameStartLine = FunNameStartLine
 | |
|         self.FunNameStartColumn = FunNameStartColumn
 | |
| 
 | |
|         self.IdentifierList = IdentifierList
 | |
|         self.PcdList = PcdList
 | |
| 
 | |
| ## IdentifierClass
 | |
| #
 | |
| # This class defines a structure of a variable
 | |
| #
 | |
| # @param ID:                 ID of a Identifier
 | |
| # @param Modifier:           Modifier of a Identifier
 | |
| # @param Type:               Type of a Identifier
 | |
| # @param Name:               Name of a Identifier
 | |
| # @param Value:              Value of a Identifier
 | |
| # @param Model:              Model of a Identifier
 | |
| # @param BelongsToFile:      The Identifier belongs to which file
 | |
| # @param BelongsToFunction:  The Identifier belongs to which function
 | |
| # @param StartLine:          StartLine of a Identifier
 | |
| # @param StartColumn:        StartColumn of a Identifier
 | |
| # @param EndLine:            EndLine of a Identifier
 | |
| # @param EndColumn:          EndColumn of a Identifier
 | |
| #
 | |
| # @var ID:                   ID of a Identifier
 | |
| # @var Modifier:             Modifier of a Identifier
 | |
| # @var Type:                 Type of a Identifier
 | |
| # @var Name:                 Name of a Identifier
 | |
| # @var Value:                Value of a Identifier
 | |
| # @var Model:                Model of a Identifier
 | |
| # @var BelongsToFile:        The Identifier belongs to which file
 | |
| # @var BelongsToFunction:    The Identifier belongs to which function
 | |
| # @var StartLine:            StartLine of a Identifier
 | |
| # @var StartColumn:          StartColumn of a Identifier
 | |
| # @var EndLine:              EndLine of a Identifier
 | |
| # @var EndColumn:            EndColumn of a Identifier
 | |
| #
 | |
| class IdentifierClass(object):
 | |
|     def __init__(self, ID = -1, Modifier = '', Type = '', Name = '', Value = '', Model = MODEL_UNKNOWN, \
 | |
|                  BelongsToFile = -1, BelongsToFunction = -1, StartLine = -1, StartColumn = -1, EndLine = -1, EndColumn = -1):
 | |
|         self.ID = ID
 | |
|         self.Modifier = Modifier
 | |
|         self.Type = Type
 | |
|         self.Name = Name
 | |
|         self.Value = Value
 | |
|         self.Model = Model
 | |
|         self.BelongsToFile = BelongsToFile
 | |
|         self.BelongsToFunction = BelongsToFunction
 | |
|         self.StartLine = StartLine
 | |
|         self.StartColumn = StartColumn
 | |
|         self.EndLine = EndLine
 | |
|         self.EndColumn = EndColumn
 | |
| 
 | |
| ## PcdClass
 | |
| #
 | |
| # This class defines a structure of a Pcd
 | |
| #
 | |
| # @param ID:                   ID of a Pcd
 | |
| # @param CName:                CName of a Pcd
 | |
| # @param TokenSpaceGuidCName:  TokenSpaceGuidCName of a Pcd
 | |
| # @param Token:                Token of a Pcd
 | |
| # @param DatumType:            DatumType of a Pcd
 | |
| # @param Model:                Model of a Pcd
 | |
| # @param BelongsToFile:        The Pcd belongs to which file
 | |
| # @param BelongsToFunction:    The Pcd belongs to which function
 | |
| # @param StartLine:            StartLine of a Pcd
 | |
| # @param StartColumn:          StartColumn of a Pcd
 | |
| # @param EndLine:              EndLine of a Pcd
 | |
| # @param EndColumn:            EndColumn of a Pcd
 | |
| #
 | |
| # @var ID:                     ID of a Pcd
 | |
| # @var CName:                  CName of a Pcd
 | |
| # @var TokenSpaceGuidCName:    TokenSpaceGuidCName of a Pcd
 | |
| # @var Token:                  Token of a Pcd
 | |
| # @var DatumType:              DatumType of a Pcd
 | |
| # @var Model:                  Model of a Pcd
 | |
| # @var BelongsToFile:          The Pcd belongs to which file
 | |
| # @var BelongsToFunction:      The Pcd belongs to which function
 | |
| # @var StartLine:              StartLine of a Pcd
 | |
| # @var StartColumn:            StartColumn of a Pcd
 | |
| # @var EndLine:                EndLine of a Pcd
 | |
| # @var EndColumn:              EndColumn of a Pcd
 | |
| #
 | |
| class PcdDataClass(object):
 | |
|     def __init__(self, ID = -1, CName = '', TokenSpaceGuidCName = '', Token = '', DatumType = '', Model = MODEL_UNKNOWN, \
 | |
|                  BelongsToFile = -1, BelongsToFunction = -1, StartLine = -1, StartColumn = -1, EndLine = -1, EndColumn = -1):
 | |
|         self.ID = ID
 | |
|         self.CName = CName
 | |
|         self.TokenSpaceGuidCName = TokenSpaceGuidCName
 | |
|         self.Token = Token
 | |
|         self.DatumType = DatumType
 | |
|         self.BelongsToFile = BelongsToFile
 | |
|         self.BelongsToFunction = BelongsToFunction
 | |
|         self.StartLine = StartLine
 | |
|         self.StartColumn = StartColumn
 | |
|         self.EndLine = EndLine
 | |
|         self.EndColumn = EndColumn
 | |
| 
 | |
| ## FileClass
 | |
| #
 | |
| # This class defines a structure of a file
 | |
| #
 | |
| # @param ID:              ID of a File
 | |
| # @param Name:            Name of a File
 | |
| # @param ExtName:         ExtName of a File
 | |
| # @param Path:            Path of a File
 | |
| # @param FullPath:        FullPath of a File
 | |
| # @param Model:           Model of a File
 | |
| # @param TimeStamp:       TimeStamp of a File
 | |
| # @param FunctionList:    FunctionList of a File
 | |
| # @param IdentifierList:  IdentifierList of a File
 | |
| # @param PcdList:         PcdList of a File
 | |
| #
 | |
| # @var ID:                ID of a File
 | |
| # @var Name:              Name of a File
 | |
| # @var ExtName:           ExtName of a File
 | |
| # @var Path:              Path of a File
 | |
| # @var FullPath:          FullPath of a File
 | |
| # @var Model:             Model of a File
 | |
| # @var TimeStamp:         TimeStamp of a File
 | |
| # @var FunctionList:      FunctionList of a File
 | |
| # @var IdentifierList:    IdentifierList of a File
 | |
| # @var PcdList:           PcdList of a File
 | |
| #
 | |
| class FileClass(object):
 | |
|     def __init__(self, ID = -1, Name = '', ExtName = '', Path = '', FullPath = '', Model = MODEL_UNKNOWN, TimeStamp = '', \
 | |
|                  FunctionList = [], IdentifierList = [], PcdList = []):
 | |
|         self.ID = ID
 | |
|         self.Name = Name
 | |
|         self.ExtName = ExtName
 | |
|         self.Path = Path
 | |
|         self.FullPath = FullPath
 | |
|         self.Model = Model
 | |
|         self.TimeStamp = TimeStamp
 | |
| 
 | |
|         self.FunctionList = FunctionList
 | |
|         self.IdentifierList = IdentifierList
 | |
|         self.PcdList = PcdList
 |