def __init__(self, Filename = None, IsToPackage = False, WorkspaceDir = None, AllGuidVersionDict = None, SupArchList = DataType.ARCH_LIST):
        self.Identification = IdentificationClass()
        self.Package = PackageClass()
        self.UserExtensions = ''
        self.WorkspaceDir = WorkspaceDir
        self.SupArchList = SupArchList
        self.AllGuidVersionDict = {}
        if AllGuidVersionDict:
            self.AllGuidVersionDict = AllGuidVersionDict

        self.KeyList = [
            TAB_INCLUDES, TAB_GUIDS, TAB_PROTOCOLS, TAB_PPIS, TAB_LIBRARY_CLASSES, \
            TAB_PCDS_FIXED_AT_BUILD_NULL, TAB_PCDS_PATCHABLE_IN_MODULE_NULL, TAB_PCDS_FEATURE_FLAG_NULL, \
            TAB_PCDS_DYNAMIC_NULL, TAB_PCDS_DYNAMIC_EX_NULL, TAB_DEC_DEFINES
        ]
        # Upper all KEYs to ignore case sensitive when parsing
        self.KeyList = map(lambda c: c.upper(), self.KeyList)
        
        # Init RecordSet
        self.RecordSet = {}        
        for Key in self.KeyList:
            self.RecordSet[Section[Key]] = []
        
        # Init Comment
        self.SectionHeaderCommentDict = {}
        
        # Load Dec file if filename is not None
        if Filename != None:
            self.LoadDecFile(Filename)
        
        # Transfer to Package Object if IsToPackage is True
        if IsToPackage:
            self.DecToPackage()
Example #2
0
    def __init__(self,
                 Filename=None,
                 IsToDatabase=False,
                 IsToPackage=False,
                 WorkspaceDir=None,
                 Database=None,
                 SupArchList=DataType.ARCH_LIST):
        self.Identification = Identification()
        self.Package = PackageClass()
        self.UserExtensions = ''
        self.WorkspaceDir = WorkspaceDir
        self.SupArchList = SupArchList
        self.IsToDatabase = IsToDatabase

        self.Cur = Database.Cur
        self.TblFile = Database.TblFile
        self.TblDec = Database.TblDec
        self.FileID = -1

        self.KeyList = [
            TAB_INCLUDES, TAB_GUIDS, TAB_PROTOCOLS, TAB_PPIS, TAB_LIBRARY_CLASSES, \
            TAB_PCDS_FIXED_AT_BUILD_NULL, TAB_PCDS_PATCHABLE_IN_MODULE_NULL, TAB_PCDS_FEATURE_FLAG_NULL, \
            TAB_PCDS_DYNAMIC_NULL, TAB_PCDS_DYNAMIC_EX_NULL, TAB_DEC_DEFINES
        ]
        #
        # Upper all KEYs to ignore case sensitive when parsing
        #
        self.KeyList = map(lambda c: c.upper(), self.KeyList)

        #
        # Init RecordSet
        #
        self.RecordSet = {}
        for Key in self.KeyList:
            self.RecordSet[Section[Key]] = []

        #
        # Load Dec file if filename is not None
        #
        if Filename != None:
            self.LoadDecFile(Filename)

        #
        # Transfer to Package Object if IsToPackage is True
        #
        if IsToPackage:
            self.DecToPackage()
Example #3
0
def LoadSpd(SpdFileName):
    XmlSpd = XmlParseFile(SpdFileName)
    EdkLogger.verbose("Xml Object loaded for file %s" % SpdFileName)

    Package = PackageClass()
    Package.Header = LoadPackageHeader(XmlSpd, SpdFileName)
    Package.LibraryClassDeclarations = LoadPackageLibraryClasses(XmlSpd)
    Package.IndustryStdHeaders = LoadPackageIndustryStdHeaders(XmlSpd)
    Package.ModuleFiles = LoadPackageModuleFiles(XmlSpd)
    Package.PackageIncludePkgHeaders = LoadPackageIncludePkgHeaders(XmlSpd)
    Package.GuidDeclarations = LoadPackageGuidDeclarations(XmlSpd)
    Package.ProtocolDeclarations = LoadPackageProtocolDeclarations(XmlSpd)
    Package.PpiDeclarations = LoadPackagePpiDeclarations(XmlSpd)
    Package.PcdDeclarations = LoadPackagePcdDeclarations(XmlSpd)
    Package.UserExtensions = LoadPackageUserExtensions(XmlSpd)
    
    return Package
Example #4
0
def LoadSpd(SpdFileName):
    XmlSpd = XmlParseFile(SpdFileName)
    EdkLogger.verbose("Xml Object loaded for file %s" % SpdFileName)

    Package = PackageClass()
    Package.Header = LoadPackageHeader(XmlSpd, SpdFileName)
    Package.LibraryClassDeclarations = LoadPackageLibraryClasses(XmlSpd)
    Package.IndustryStdHeaders = LoadPackageIndustryStdHeaders(XmlSpd)
    Package.ModuleFiles = LoadPackageModuleFiles(XmlSpd)
    Package.PackageIncludePkgHeaders = LoadPackageIncludePkgHeaders(XmlSpd)
    Package.GuidDeclarations = LoadPackageGuidDeclarations(XmlSpd)
    Package.ProtocolDeclarations = LoadPackageProtocolDeclarations(XmlSpd)
    Package.PpiDeclarations = LoadPackagePpiDeclarations(XmlSpd)
    Package.PcdDeclarations = LoadPackagePcdDeclarations(XmlSpd)
    Package.UserExtensions = LoadPackageUserExtensions(XmlSpd)

    return Package