+++ /dev/null
-## @file\r
-# This file is used to define each component of FDF file\r
-#\r
-# Copyright (c) 2008, Intel Corporation. All rights reserved.<BR>\r
-# This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution. The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-\r
-##\r
-# Import Modules\r
-#\r
-from GenFds.FdfParser import FdfParser\r
-from Table.TableFdf import TableFdf\r
-from CommonDataClass.DataClass import MODEL_FILE_FDF, MODEL_PCD, MODEL_META_DATA_COMPONENT\r
-from String import NormPath\r
-\r
-\r
-## Fdf\r
-#\r
-# This class defined the structure used in Fdf object\r
-# \r
-# @param Filename: Input value for Ffilename of Fdf file, default is None\r
-# @param WorkspaceDir: Input value for current workspace directory, default is None\r
-#\r
-class Fdf(object):\r
- def __init__(self, Filename = None, IsToDatabase = False, WorkspaceDir = None, Database = None):\r
- self.WorkspaceDir = WorkspaceDir\r
- self.IsToDatabase = IsToDatabase\r
- \r
- self.Cur = Database.Cur\r
- self.TblFile = Database.TblFile\r
- self.TblFdf = Database.TblFdf\r
- self.FileID = -1\r
- self.FileList = {}\r
-\r
- #\r
- # Load Fdf file if filename is not None\r
- #\r
- if Filename is not None:\r
- self.LoadFdfFile(Filename)\r
-\r
- #\r
- # Insert a FDF file record into database\r
- #\r
- def InsertFile(self, Filename):\r
- FileID = -1\r
- Filename = NormPath(Filename)\r
- if Filename not in self.FileList:\r
- FileID = self.TblFile.InsertFile(Filename, MODEL_FILE_FDF)\r
- self.FileList[Filename] = FileID\r
-\r
- return self.FileList[Filename]\r
- \r
- \r
- ## Load Fdf file\r
- #\r
- # Load the file if it exists\r
- #\r
- # @param Filename: Input value for filename of Fdf file\r
- #\r
- def LoadFdfFile(self, Filename): \r
- FileList = []\r
- #\r
- # Parse Fdf file\r
- #\r
- Filename = NormPath(Filename)\r
- Fdf = FdfParser(Filename)\r
- Fdf.ParseFile()\r
-\r
- #\r
- # Insert inf file and pcd information\r
- #\r
- if self.IsToDatabase:\r
- (Model, Value1, Value2, Value3, Arch, BelongsToItem, BelongsToFile, StartLine, StartColumn, EndLine, EndColumn, Enabled) = \\r
- (0, '', '', '', 'COMMON', -1, -1, -1, -1, -1, -1, 0)\r
- for Index in range(0, len(Fdf.Profile.PcdDict)):\r
- pass\r
- for Key in Fdf.Profile.PcdDict.keys():\r
- Model = MODEL_PCD\r
- Value1 = ''\r
- Value2 = ".".join((Key[1], Key[0]))\r
- FileName = Fdf.Profile.PcdFileLineDict[Key][0]\r
- StartLine = Fdf.Profile.PcdFileLineDict[Key][1]\r
- BelongsToFile = self.InsertFile(FileName)\r
- self.TblFdf.Insert(Model, Value1, Value2, Value3, Arch, BelongsToItem, BelongsToFile, StartLine, StartColumn, EndLine, EndColumn, Enabled)\r
- for Index in range(0, len(Fdf.Profile.InfList)):\r
- Model = MODEL_META_DATA_COMPONENT\r
- Value1 = Fdf.Profile.InfList[Index]\r
- Value2 = ''\r
- FileName = Fdf.Profile.InfFileLineList[Index][0]\r
- StartLine = Fdf.Profile.InfFileLineList[Index][1]\r
- BelongsToFile = self.InsertFile(FileName)\r
- self.TblFdf.Insert(Model, Value1, Value2, Value3, Arch, BelongsToItem, BelongsToFile, StartLine, StartColumn, EndLine, EndColumn, Enabled)\r
-\r
-##\r
-#\r
-# This acts like the main() function for the script, unless it is 'import'ed into another\r
-# script.\r
-#\r
-if __name__ == '__main__':\r
- pass\r