Wolframe, 0.0.3

_Wolframe::serialize::CppFormFunction Class Reference

Function of language bindings implemented in C++ with a form as argument and as result. The forms are defined by a serialization description. More...

#include <cppFormFunction.hpp>

Inheritance diagram for _Wolframe::serialize::CppFormFunction:
_Wolframe::langbind::FormFunction

Public Types

typedef int(* Function )(proc::ExecContext *ctx, void *res, const void *param)
 

Public Member Functions

 CppFormFunction ()
 Default constructor. More...
 
 CppFormFunction (const CppFormFunction &o)
 Copy constructor. More...
 
 CppFormFunction (Function f, const serialize::StructDescriptionBase *p, const serialize::StructDescriptionBase *r)
 Constructor. More...
 
const
serialize::StructDescriptionBase
api_param () const
 Get the form function parameter description. More...
 
const
serialize::StructDescriptionBase
api_result () const
 Get the form function result description. More...
 
int call (proc::ExecContext *ctx, void *res, const void *param) const
 Call the form function. More...
 
virtual
langbind::FormFunctionClosure
createClosure () const
 Create the state machine context (called closure) for execution the function. More...
 
- Public Member Functions inherited from _Wolframe::langbind::FormFunction
virtual ~FormFunction ()
 Destructor. More...
 
virtual bool initializeContext ()
 Optional function to implement if there is anything to be initialized after creation of all functions. More...
 

Private Attributes

Function m_function
 form function implementation More...
 
const
serialize::StructDescriptionBase
m_api_param
 parameter structure description More...
 
const
serialize::StructDescriptionBase
m_api_result
 result structure description More...
 

Detailed Description

Function of language bindings implemented in C++ with a form as argument and as result. The forms are defined by a serialization description.

Member Typedef Documentation

typedef int(* _Wolframe::serialize::CppFormFunction::Function)(proc::ExecContext *ctx, void *res, const void *param)

Constructor & Destructor Documentation

_Wolframe::serialize::CppFormFunction::CppFormFunction ( )
inline

Default constructor.

_Wolframe::serialize::CppFormFunction::CppFormFunction ( const CppFormFunction o)
inline

Copy constructor.

Parameters
[in]ocopied item
_Wolframe::serialize::CppFormFunction::CppFormFunction ( Function  f,
const serialize::StructDescriptionBase p,
const serialize::StructDescriptionBase r 
)
inline

Constructor.

Parameters
[in]ffunction to call
[in]ppart of the api describing the input
[in]rpart of the api describing the function result

Member Function Documentation

const serialize::StructDescriptionBase* _Wolframe::serialize::CppFormFunction::api_param ( ) const
inline

Get the form function parameter description.

Returns
The description
const serialize::StructDescriptionBase* _Wolframe::serialize::CppFormFunction::api_result ( ) const
inline

Get the form function result description.

Returns
The description
int _Wolframe::serialize::CppFormFunction::call ( proc::ExecContext ctx,
void *  res,
const void *  param 
) const
inline

Call the form function.

Parameters
[in]ctxexecution context reference
[in]respointer to structure as defined with 'api_result()' to hold the form function result
[in]parampointer to structure as defined with 'api_param()' to hold the form function parameter
Returns
0 on success, error code else
virtual langbind::FormFunctionClosure* _Wolframe::serialize::CppFormFunction::createClosure ( ) const
inlinevirtual

Create the state machine context (called closure) for execution the function.

Implements _Wolframe::langbind::FormFunction.

Member Data Documentation

const serialize::StructDescriptionBase* _Wolframe::serialize::CppFormFunction::m_api_param
private

parameter structure description

const serialize::StructDescriptionBase* _Wolframe::serialize::CppFormFunction::m_api_result
private

result structure description

Function _Wolframe::serialize::CppFormFunction::m_function
private

form function implementation


The documentation for this class was generated from the following file: