Index: ppapi/generators/idl_c_header.py |
=================================================================== |
--- ppapi/generators/idl_c_header.py (revision 109691) |
+++ ppapi/generators/idl_c_header.py (working copy) |
@@ -9,7 +9,6 @@ |
import glob |
import os |
import sys |
-import subprocess |
from idl_log import ErrOut, InfoOut, WarnOut |
from idl_node import IDLAttribute, IDLNode |
@@ -24,6 +23,7 @@ |
Option('guard', 'Include guard prefix', default=os.path.join('ppapi', 'c')) |
Option('out', 'List of output files', default='') |
+ |
def GetOutFileName(filenode, relpath=None, prefix=None): |
path, name = os.path.split(filenode.GetProperty('NAME')) |
name = os.path.splitext(name)[0] + '.h' |
@@ -32,6 +32,7 @@ |
if relpath: name = os.path.join(relpath, name) |
return name |
+ |
def WriteGroupMarker(out, node, last_group): |
# If we are part of a group comment marker... |
if last_group and last_group != node.cls: |
@@ -50,7 +51,6 @@ |
def GenerateHeader(out, filenode, releases): |
- gpath = GetOption('guard') |
cgen = CGen() |
pref = '' |
do_comments = True |
@@ -103,34 +103,16 @@ |
def __init__(self): |
Generator.__init__(self, 'C Header', 'cgen', 'Generate the C headers.') |
- def GetMacro(self, node): |
- name = node.GetName() |
- name = name.upper() |
- return "%s_INTERFACE" % name |
- |
- def GetDefine(self, name, value): |
- out = '#define %s %s' % (name, value) |
- if len(out) > 80: |
- out = '#define %s \\\n %s' % (name, value) |
- return '%s\n' % out |
- |
- def GetVersionString(self, node): |
- # If an interface name is specified, use that |
- iname = node.GetProperty('iname') |
- if iname: return iname |
- |
- # Otherwise, the interface name is the object's name |
- # With '_Dev' replaced by '(Dev)' if it's a Dev interface. |
- name = node.GetName() |
- if len(name) > 4 and name[-4:] == '_Dev': |
- name = '%s(Dev)' % name[:-4] |
- return name |
- |
- def GetOutFile(self, filenode, options): |
+ def GenerateFile(self, filenode, releases, options): |
savename = GetOutFileName(filenode, GetOption('dstroot')) |
- return IDLOutFile(savename) |
+ out = IDLOutFile(savename) |
+ self.GenerateHead(out, filenode, releases, options) |
+ self.GenerateBody(out, filenode, releases, options) |
+ self.GenerateTail(out, filenode, releases, options) |
+ return out.Close() |
def GenerateHead(self, out, filenode, releases, options): |
+ __pychecker__ = 'unusednames=options' |
cgen = CGen() |
gpath = GetOption('guard') |
release = releases[0] |
@@ -176,27 +158,24 @@ |
out.Write('\n') |
for node in filenode.GetListOf('Interface'): |
idefs = '' |
- name = self.GetVersionString(node) |
- macro = node.GetProperty('macro') |
- if not macro: |
- macro = self.GetMacro(node) |
- |
- unique = node.GetUniqueReleases(releases) |
- for rel in unique: |
+ macro = cgen.GetInterfaceMacro(node) |
+ for rel in node.GetUniqueReleases(releases): |
version = node.GetVersion(rel) |
+ name = cgen.GetInterfaceString(node, version) |
strver = str(version).replace('.', '_') |
- idefs += self.GetDefine('%s_%s' % (macro, strver), |
- '"%s;%s"' % (name, version)) |
- idefs += self.GetDefine(macro, '%s_%s' % (macro, strver)) + '\n' |
+ idefs += cgen.GetDefine('%s_%s' % (macro, strver), '"%s"' % name) |
+ idefs += cgen.GetDefine(macro, '%s_%s' % (macro, strver)) + '\n' |
out.Write(idefs) |
# Generate the @file comment |
out.Write('%s\n' % Comment(fileinfo, prefix='*\n @file')) |
def GenerateBody(self, out, filenode, releases, options): |
+ __pychecker__ = 'unusednames=options' |
GenerateHeader(out, filenode, releases) |
def GenerateTail(self, out, filenode, releases, options): |
+ __pychecker__ = 'unusednames=options,releases' |
gpath = GetOption('guard') |
def_guard = GetOutFileName(filenode, relpath=gpath) |
def_guard = def_guard.replace(os.sep,'_').replace('.','_').upper() + '_' |