]> git.proxmox.com Git - mirror_edk2.git/blame - BaseTools/Source/Python/GenFds/CapsuleData.py
Fix Build fail for NT32 platform.
[mirror_edk2.git] / BaseTools / Source / Python / GenFds / CapsuleData.py
CommitLineData
30fdf114
LG
1## @file\r
2# generate capsule\r
3#\r
40d841f6 4# Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>\r
30fdf114 5#\r
40d841f6 6# This program and the accompanying materials\r
30fdf114
LG
7# are licensed and made available under the terms and conditions of the BSD License\r
8# which accompanies this distribution. The full text of the license may be found at\r
9# http://opensource.org/licenses/bsd-license.php\r
10#\r
11# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13#\r
14\r
15##\r
16# Import Modules\r
17#\r
18import Ffs\r
19from GenFdsGlobalVariable import GenFdsGlobalVariable\r
20import StringIO\r
21\r
22## base class for capsule data\r
23#\r
24#\r
25class CapsuleData:\r
26 ## The constructor\r
27 #\r
28 # @param self The object pointer\r
29 def __init__(self):\r
30 pass\r
31 \r
32 ## generate capsule data\r
33 #\r
34 # @param self The object pointer\r
35 def GenCapsuleSubItem(self):\r
36 pass\r
37 \r
38## FFS class for capsule data\r
39#\r
40#\r
41class CapsuleFfs (CapsuleData):\r
42 ## The constructor\r
43 #\r
44 # @param self The object pointer\r
45 #\r
46 def __init_(self) :\r
47 self.Ffs = None\r
fd171542 48 self.FvName = None\r
30fdf114
LG
49\r
50 ## generate FFS capsule data\r
51 #\r
52 # @param self The object pointer\r
53 # @retval string Generated file name\r
54 #\r
55 def GenCapsuleSubItem(self):\r
56 FfsFile = self.Ffs.GenFfs()\r
57 return FfsFile\r
58\r
59## FV class for capsule data\r
60#\r
61#\r
62class CapsuleFv (CapsuleData):\r
63 ## The constructor\r
64 #\r
65 # @param self The object pointer\r
66 #\r
67 def __init__(self) :\r
fd171542 68 self.Ffs = None\r
30fdf114 69 self.FvName = None\r
fd171542 70 self.CapsuleName = None\r
30fdf114
LG
71\r
72 ## generate FV capsule data\r
73 #\r
74 # @param self The object pointer\r
75 # @retval string Generated file name\r
76 #\r
77 def GenCapsuleSubItem(self):\r
78 if self.FvName.find('.fv') == -1:\r
79 if self.FvName.upper() in GenFdsGlobalVariable.FdfParser.Profile.FvDict.keys():\r
80 FvObj = GenFdsGlobalVariable.FdfParser.Profile.FvDict.get(self.FvName.upper())\r
81 FdBuffer = StringIO.StringIO('')\r
fd171542 82 FvObj.CapsuleName = self.CapsuleName\r
30fdf114 83 FvFile = FvObj.AddToBuffer(FdBuffer)\r
fd171542 84 FvObj.CapsuleName = None\r
85 FdBuffer.close()\r
30fdf114 86 return FvFile\r
30fdf114
LG
87 else:\r
88 FvFile = GenFdsGlobalVariable.ReplaceWorkspaceMacro(self.FvName)\r
89 return FvFile\r