Example of a C++ External Method

The following is an example of a C++ external method library.

#include "jomobj.hpp"

extern "C" DllExport int JOMAPI
PassOneParam(DskBuffer *pbuffer,
             DskParam  *pParams,
             DskParam  *pReturn)
{
    Character *myParam;
    int       result;

    // single parameter example
    result = paramGetString(*pParams, myParam);
    CHECK_RESULT;

    // return a 1 to JADE
    return paramSetInteger(*pReturn, 1);
}

extern "C" DllExport int JOMAPI
PassTwoParams(DskBuffer *pbuffer,
              DskParam  *pParams,
              DskParam  *pReturn)
{
    Character *myParam1;
    int       myParam2;
    int       result;
    DskParam  *pParam;

    // get multiple parameters
    result = paramGetParameter(*pParams, 1, pParam);
    CHECK_RESULT;
    result = paramGetString(*pParam, myParam1);
    CHECK_RESULT;

    result = paramGetParameter(*pParams, 2, pParam);
    CHECK_RESULT;
    result = paramGetInteger(*pParam, myParam2);
    CHECK_RESULT;
    // return a 2 to JADE
    return paramSetInteger(*pReturn, 2);
}