]> git.proxmox.com Git - mirror_edk2.git/blame - BaseTools/Source/Python/GenFds/CapsuleData.py
Sync BaseTools Branch (version r2321) to EDKII main trunk.
[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
b36d134f 46 def __init__(self) :\r
30fdf114 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
b36d134f
LG
90\r
91## FD class for capsule data\r
92#\r
93#\r
94class CapsuleFd (CapsuleData):\r
95 ## The constructor\r
96 #\r
97 # @param self The object pointer\r
98 #\r
99 def __init__(self) :\r
100 self.Ffs = None\r
101 self.FdName = None\r
102 self.CapsuleName = None\r
103\r
104 ## generate FD capsule data\r
105 #\r
106 # @param self The object pointer\r
107 # @retval string Generated file name\r
108 #\r
109 def GenCapsuleSubItem(self):\r
110 if self.FdName.find('.fd') == -1:\r
111 if self.FdName.upper() in GenFdsGlobalVariable.FdfParser.Profile.FdDict.keys():\r
112 FdObj = GenFdsGlobalVariable.FdfParser.Profile.FdDict.get(self.FdName.upper())\r
113 FdFile = FdObj.GenFd()\r
114 return FdFile\r
115 else:\r
116 FdFile = GenFdsGlobalVariable.ReplaceWorkspaceMacro(self.FdName)\r
117 return FdFile\r
118 \r
119## AnyFile class for capsule data\r
120#\r
121#\r
122class CapsuleAnyFile (CapsuleData):\r
123 ## The constructor\r
124 #\r
125 # @param self The object pointer\r
126 #\r
127 def __init__(self) :\r
128 self.Ffs = None\r
129 self.FileName = None\r
130\r
131 ## generate AnyFile capsule data\r
132 #\r
133 # @param self The object pointer\r
134 # @retval string Generated file name\r
135 #\r
136 def GenCapsuleSubItem(self):\r
137 return self.FileName