Handle<Value> create_ndb(const Arguments &args) { REQUIRE_ARGS_LENGTH(3); typedef NativeCFunctionCall_2_<Ndb *, Ndb_cluster_connection *, const char *> MCALL; MCALL * mcallptr = new MCALL(& async_create_ndb, args); mcallptr->wrapReturnValueAs(& NdbEnvelope); mcallptr->runAsync(); return Undefined(); }
// prepareScan wrapper Handle<Value> prepareScan_wrapper(const Arguments &args) { DEBUG_MARKER(UDEB_DEBUG); REQUIRE_ARGS_LENGTH(1); typedef NativeMethodCall_0_<NdbScanOperation *, DBScanHelper> MCALL; MCALL * mcallptr = new MCALL(& DBScanHelper::prepareScan, args); mcallptr->wrapReturnValueAs(getNdbScanOperationEnvelope()); mcallptr->errorHandler = getNdbErrorIfNull<NdbScanOperation *, DBScanHelper>; mcallptr->runAsync(); return Undefined(); }
Handle<Value> startTransaction(const Arguments &args) { REQUIRE_ARGS_LENGTH(4); typedef NativeMethodCall_3_<NdbTransaction *, Ndb, const NdbDictionary::Table *, const char *, uint32_t> MCALL; MCALL * mcallptr = new MCALL(& Ndb::startTransaction, args); DEBUG_PRINT("startTransaction %p", mcallptr->native_obj); mcallptr->wrapReturnValueAs(getNdbTransactionEnvelope()); mcallptr->errorHandler = getNdbErrorIfNull<NdbTransaction *, Ndb>; mcallptr->runAsync(); return Undefined(); }
Handle<Value> newDBSessionImpl(const Arguments & args) { DEBUG_MARKER(UDEB_DETAIL); HandleScope scope; PROHIBIT_CONSTRUCTOR_CALL(); REQUIRE_ARGS_LENGTH(5); typedef NativeCFunctionCall_4_<DBSessionImpl *, Ndb_cluster_connection *, AsyncNdbContext *, const char *, int> MCALL; MCALL * mcallptr = new MCALL(& asyncNewDBSessionImpl, args); mcallptr->wrapReturnValueAs(& DBSessionImplEnvelope); mcallptr->runAsync(); return Undefined(); }