def getArgDeclarations(self, name, reference=False, constmode=False):
if reference:
raise RuntimeError, "Cannot pass buffer types by reference"
- return (self.getBufferDeclarations(name, constmode) +
+ return (self.getBufferDeclarations(name, constmode) +
self.getSizeDeclarations(name))
def getBufferDeclarations(self, name, constmode=False):
return self.getInputBufferDeclarations(name, constmode) + \
- self.getOutputBufferDeclarations(name, constmode)
+ self.getOutputBufferDeclarations(name, constmode)
def getInputBufferDeclarations(self, name, constmode=False):
- if constmode:
- const = "const "
- else:
- const = ""
+ if constmode:
+ const = "const "
+ else:
+ const = ""
return ["%s%s *%s__in__" % (const, self.datatype, name)]
def getOutputBufferDeclarations(self, name, constmode=False):
- if constmode:
- raise RuntimeError, "Cannot use const output buffer"
+ if constmode:
+ raise RuntimeError, "Cannot use const output buffer"
return ["%s %s__out__[%s]" % (self.datatype, name, self.size)]
def getSizeDeclarations(self, name):
self.typeName = self.type = type
def getInputBufferDeclarations(self, name, constmode=False):
- if constmode:
- const = "const "
- else:
- const = ""
+ if constmode:
+ const = "const "
+ else:
+ const = ""
return ["%s%s *%s__in__" % (const, self.type, name)]
def getSizeDeclarations(self, name):
return []
-
+
def getAuxDeclarations(self, name):
return ["int %s__in_len__" % (name)]
def getOutputBufferDeclarations(self, name, constmode=False):
- if constmode:
- raise RuntimeError, "Cannot use const output buffer"
+ if constmode:
+ raise RuntimeError, "Cannot use const output buffer"
return ["%s %s__out__" % (self.type, name)]
def getargsArgs(self, name):
def checkgenerate(self):
return True
-
+
def generate(self):
if not self.checkgenerate():
return
return "%s = " % self.rv.name
else:
return ""
-
+
def checkit(self):
for arg in self.argumentList:
arg.errorCheck()
FixedInputOutputBufferType.__init__(self, "0", datatype, sizetype, sizeformat)
def getOutputBufferDeclarations(self, name, constmode=False):
- if constmode:
- raise RuntimeError, "Cannot use const output buffer"
+ if constmode:
+ raise RuntimeError, "Cannot use const output buffer"
return ["%s *%s__out__" % (self.datatype, name)]
def getargsCheck(self, name):
Output("""Py_INCREF(&%s);""", self.typename)
Output("PyModule_AddObject(m, \"%s\", (PyObject *)&%s);", self.name, self.typename);
self.outputTypeObjectInitializerCompat()
-
+
def outputTypeObjectInitializerCompat(self):
Output("/* Backward-compatible name */")
Output("""Py_INCREF(&%s);""", self.typename);
type, such as helper variables used to hold sizes, etc. These declarations
are not part of the C/C++ function call interface."""
return []
-
+
def getargs(self):
return self.getargsFormat(), self.getargsArgs()
def getargsPreCheck(self, name):
"""Perform any actions needed before calling getargs().
-
+
This could include declaring temporary variables and such.
"""
-
+
def getargsCheck(self, name):
"""Perform any needed post-[new]getargs() checks.
def mkvaluePreCheck(self, name):
"""Perform any actions needed before calling mkvalue().
-
+
This could include declaring temporary variables and such.
"""
-
+
def cleanup(self, name):
"""Clean up if necessary.
def getArgDeclarations(self, constmode=False):
refmode = (self.flags & RefMode)
if constmode:
- constmode = (self.flags & ConstMode)
+ constmode = (self.flags & ConstMode)
return self.type.getArgDeclarations(self.name,
- reference=refmode, constmode=constmode)
-
+ reference=refmode, constmode=constmode)
+
def getAuxDeclarations(self):
return self.type.getAuxDeclarations(self.name)
def destination(self, type, name, arglist):
return "FunctionGenerator", "functions"
-
+
def generatemodifiers(self, classname, name, modifiers):
pass