gov.llnl.babel.backend.rmi2
Class CxxSkelSource

java.lang.Object
  extended bygov.llnl.babel.backend.rmi2.CxxSkelSource

public class CxxSkelSource
extends java.lang.Object

Create and write a header for a Cxx C extension class to wrap a BABEL extendable in a Cxx object. The header has to expose a function to create a wrapped IOR, a function to check if a PyObject is an instance of this extension type, and an import macro.


Constructor Summary
CxxSkelSource(Extendable ext)
          Create an object capable of generating the header file for a BABEL extendable.
 
Method Summary
 void generateCode()
          Generate the header file for the extendable with which this object was created.
 void writeSkelFunctions()
          write skel functions that dispatch C IOR functionpointers to C++ method calls
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CxxSkelSource

public CxxSkelSource(Extendable ext)
Create an object capable of generating the header file for a BABEL extendable.

Parameters:
ext - an interface or class symbol that needs a header file for a Cxx C extension class.
Method Detail

generateCode

public void generateCode()
                  throws CodeGenerationException
Generate the header file for the extendable with which this object was created.

Throws:
CodeGenerationException - this is a catch all exception for problems during the code generation phase.

writeSkelFunctions

public void writeSkelFunctions()
                        throws CodeGenerationException
write skel functions that dispatch C IOR functionpointers to C++ method calls

Throws:
CodeGenerationException