# vim: set noexpandtab: TYPEMAP PLCB_XS_OBJPAIR_t T_PLCB_XS_OBJPAIR_T PLCB_XS_STRING_NONULL_t T_PLCB_XS_STRING_NONULL_T PLCB_XS_STRING_t T_PLCB_XS_STRING_T PLCB_viewhandle_t * T_PLCB_COUCH_HANDLE_T PLCB_jsondec_t* T_PLCB_JSONDEC_T PLCB_t * T_PLCB plcb_OPCTX* T_OPCTX lcbvb_CONFIG * T_VBC plcb_IOPROCS * T_IOPROCS plcb_EVENT * T_IOEVENT lcb_N1QLPARAMS * T_N1QLPARAMS INPUT T_PLCB_XS_OBJPAIR_T if (! (SvROK($arg) && SvOBJECT(SvRV($arg)) && SvIOK(SvRV($arg)))) { die(\"Not a valid Couchbase::Bucket\"); } $var.sv = $arg; $var.ptr = NUM2PTR(PLCB_t*, SvIV(SvRV($arg))); T_PLCB if (! (SvROK($arg) && (SvOBJECT($arg) || SvOBJECT(SvRV($arg))) && SvIOK(SvRV($arg)))) { die(\"Not a valid Couchbase::Bucket\"); \ } $var = NUM2PTR(PLCB_t*,SvIV(SvRV($arg))); T_OPCTX if (!sv_isa($arg, \"Couchbase::OpContext\")) { die(\"Not a valid Couchbase::OpContext\"); } $var = NUM2PTR($type, SvIV(SvRV($arg))); \ if (!SvROK($var->parent)) { parent = NULL; } else { parent = NUM2PTR(PLCB_t*,SvIV(SvRV($var->parent))); } T_VBC if (!sv_isa($arg, \"Couchbase::BucketConfig\")) { die(\"Not a valid Couchbase::BucketConfig\"); } $var = NUM2PTR($type, SvIV(SvRV($arg))); T_IOPROCS if (!sv_isa($arg, \"Couchbase::IO\")) { die(\"Not a valid Couchbase::IO\"); } $var = NUM2PTR($type, SvIV(SvRV($arg))); T_IOEVENT if (!sv_derived_from($arg, \"Couchbase::IO::Event\")) { sv_dump($arg); die(\"Not a valid Couchbase::IO::Event\"); } { SV **tmpsv = av_fetch((AV*)SvRV((SV*)$arg), PLCB_EVIDX_OPAQUE, 0); $var = NUM2PTR($type, SvIV(*tmpsv)); } T_PLCB_XS_STRING_NONULL_T if(!SvPOK($arg)) { $var.base = NULL; $var.len = 0; } else { $var.base = SvPV($arg, $var.len); } $var.origsv = $arg; if($var.len == 0) { die(\"$var cannot be empty\"); } T_PLCB_XS_STRING_T if(!SvPOK($arg)) { $var.base = NULL; $var.len = 0; } else { $var.base = SvPV($arg, $var.len); } $var.origsv = $arg; T_PLCB_COUCH_HANDLE_T if (! (SvROK($arg) && SvOBJECT(SvRV($arg)) && SvIOK(SvRV($arg)))) { die(\"Not a valid Couchbase::Couch::RequestHandle\"); } $var = NUM2PTR(PLCB_viewhandle_t *, SvIV(SvRV($arg))); T_PLCB_JSONDEC_T $var = (PLCB_jsondec_t*)SvPVX(SvRV($arg)); T_PLCB_ITER_T if (! (SvROK($arg) && SvOBJECT(SvRV($arg)) && SvIOK(SvRV($arg)))) { die(\"Not a valid Couchbase::DocIterator\"); } $var = NUM2PTR(PLCB_iter_t*, SvIV(SvRV($arg))); T_PLCB_EXP_T $var = plcb_exp_from_sv($arg); T_N1QLPARAMS if (! (SvROK($arg) && SvOBJECT(SvRV($arg)) && SvIOK(SvRV($arg)))) { die(\"Not a valid Couchbase::N1QL::Params\"); } $var = NUM2PTR(lcb_N1QLPARAMS*, SvIV(SvRV($arg))); OUTPUT T_VBC sv_setref_pv($arg, \"Couchbase::BucketConfig\", (void*)$var);