Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(17)

Side by Side Diff: ppapi/generators/idl_gen_wrapper.py

Issue 9110045: Change IDL shim/wrapper generator to use version numbers in struct names. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | ppapi/generators/test_gen_pnacl/test_interfaces.idl » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/python
2 # 2 #
3 # Copyright (c) 2011 The Chromium Authors. All rights reserved. 3 # Copyright (c) 2011 The Chromium Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be 4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file. 5 # found in the LICENSE file.
6 6
7 """Base class for generating wrapper functions for PPAPI methods. 7 """Base class for generating wrapper functions for PPAPI methods.
8 """ 8 """
9 9
10 from datetime import datetime 10 from datetime import datetime
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 InfoOut.Log('WrapperGen: Skipping %s due to errors\n' % 223 InfoOut.Log('WrapperGen: Skipping %s due to errors\n' %
224 filenode.GetName()) 224 filenode.GetName())
225 continue 225 continue
226 226
227 file_name = self.GetHeaderName(filenode.GetName()) 227 file_name = self.GetHeaderName(filenode.GetName())
228 ifaces = filenode.GetListOf('Interface') 228 ifaces = filenode.GetListOf('Interface')
229 for iface in ifaces: 229 for iface in ifaces:
230 releases_for_iface = iface.GetUniqueReleases(releases) 230 releases_for_iface = iface.GetUniqueReleases(releases)
231 for release in releases_for_iface: 231 for release in releases_for_iface:
232 version = iface.GetVersion(release) 232 version = iface.GetVersion(release)
233 not_latest = release != releases_for_iface[-1]
234 struct_name = self.cgen.GetStructName(iface, release, 233 struct_name = self.cgen.GetStructName(iface, release,
235 include_version=not_latest) 234 include_version=True)
236 needs_wrap = self.InterfaceVersionNeedsWrapping(iface, version) 235 needs_wrap = self.InterfaceVersionNeedsWrapping(iface, version)
237 if not needs_wrap: 236 if not needs_wrap:
238 InfoOut.Log('Interface %s ver %s does not need wrapping' % 237 InfoOut.Log('Interface %s ver %s does not need wrapping' %
239 (struct_name, version)) 238 (struct_name, version))
240 iface_releases.append( 239 iface_releases.append(
241 Interface(iface, release, version, 240 Interface(iface, release, version,
242 struct_name, needs_wrap, file_name)) 241 struct_name, needs_wrap, file_name))
243 return iface_releases 242 return iface_releases
244 243
245 244
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
447 # Collect all the wrapper functions into interface structs. 446 # Collect all the wrapper functions into interface structs.
448 self.GenerateWrapperInterfaces(iface_releases, out) 447 self.GenerateWrapperInterfaces(iface_releases, out)
449 448
450 # Generate a table of the wrapped interface structs that can be looked up. 449 # Generate a table of the wrapped interface structs that can be looked up.
451 self.GenerateWrapperInfoAndCollection(iface_releases, out) 450 self.GenerateWrapperInfoAndCollection(iface_releases, out)
452 451
453 # Write out the IDL-invariant functions. 452 # Write out the IDL-invariant functions.
454 self.GenerateFixedFunctions(out) 453 self.GenerateFixedFunctions(out)
455 out.Close() 454 out.Close()
456 return 0 455 return 0
OLDNEW
« no previous file with comments | « no previous file | ppapi/generators/test_gen_pnacl/test_interfaces.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698