Mixing the eXtremeSQL C API with C++

As it is possible to use the C language API to implement functions within a C++ application, it may be necessary to use a transaction handle for a transaction started by McoSqlEngine. For this purpose the class McoTransaction is provided:

     
    class McoTransaction: public McoSql::Transaction
    {
        ...
        public:
        mco_trans_h handle();
    };
     

To obtain a transaction handle for use with the C API, the C function must simply cast a pointer to a C++ Transaction object to a McoTransaction and then call its handle method; then use this handle as usual in the C API runtime function calls. For example, given a C++ Transaction object cppTransaction, we could obtain a C API transaction handle as follows:

     
    McoTransaction trans = (McoTransaction)*cppTransaction;
    mco_trans_h t = trans.handle();