summaryrefslogtreecommitdiffstats
path: root/ppapi/generators
diff options
context:
space:
mode:
authorteravest@chromium.org <teravest@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-08 00:10:50 +0000
committerteravest@chromium.org <teravest@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-08 00:10:50 +0000
commit8f2a08d56d432bd6e49a9ded8bbee8d870ad0584 (patch)
treeeedba1dd59a769bc06b3a997dfca0c797c52221c /ppapi/generators
parent0ee3a6819227cc589164493de7c5cd180c16fb9c (diff)
downloadchromium_src-8f2a08d56d432bd6e49a9ded8bbee8d870ad0584.zip
chromium_src-8f2a08d56d432bd6e49a9ded8bbee8d870ad0584.tar.gz
chromium_src-8f2a08d56d432bd6e49a9ded8bbee8d870ad0584.tar.bz2
Auto generate thunk .cc file for PPB_FileSystem.
This change also fixes generated thunk .cc files to explicitly include "ppapi/c/pp_completion_callback.h" when using a PP_CompletionCallback. BUG= Review URL: https://chromiumcodereview.appspot.com/11467018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171892 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/generators')
-rwxr-xr-xppapi/generators/idl_thunk.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/ppapi/generators/idl_thunk.py b/ppapi/generators/idl_thunk.py
index c66137f..250054e 100755
--- a/ppapi/generators/idl_thunk.py
+++ b/ppapi/generators/idl_thunk.py
@@ -35,6 +35,7 @@ class ThunkBodyMetadata(object):
"""Metadata about thunk body. Used for selecting which headers to emit."""
def __init__(self):
self._apis = set()
+ self._includes = set()
def AddApi(self, api):
self._apis.add(api)
@@ -42,6 +43,12 @@ class ThunkBodyMetadata(object):
def Apis(self):
return self._apis
+ def AddInclude(self, include):
+ self._includes.add(include)
+
+ def Includes(self):
+ return self._includes
+
def _GetBaseFileName(filenode):
"""Returns the base name for output files, given the filenode.
@@ -192,6 +199,7 @@ def _MakeNormalMemberBody(filenode, node, member, rtype, args, meta):
if is_callback_func:
call_args = args[:-1] + [('', 'enter.callback()', '', '')]
+ meta.AddInclude('ppapi/c/pp_completion_callback.h')
else:
call_args = args
@@ -318,6 +326,8 @@ class TGen(GeneratorByFile):
includes.append(_GetHeaderFileName(filenode))
for api in meta.Apis():
includes.append('ppapi/thunk/%s.h' % api.lower())
+ for i in meta.Includes():
+ includes.append(i)
for include in sorted(includes):
out.Write('#include "%s"\n' % include)
out.Write('\n')