Couchbase
view release on metacpan or search on metacpan
464748495051525354555657585960616263646566################################################################################
### Common C Support ###
################################################################################
################################################################################
xs/perl-couchbase.h
xs/plcb-util.h
xs/plcb-
return
.h
xs/ppport.h
xs/typemap
xs/callbacks.c
xs/convert.c
xs/constants.c
xs/opcontext.c
################################################################################
### Basic C Client Support ###
################################################################################
xs/args.c
xs/operations.c
xs/Couchbase.xs
Makefile.PL view on Meta::CPAN
242526272829303132333435363738394041424344push
@LIBS
,
'-lcouchbase'
;
my
%MM_Options
= (
INC
=>
$INC
,
LIBS
=> [
join
(
' '
,
@LIBS
) ||
''
],);
################################################################################
### Our C Source Files ###
################################################################################
my
@C_Modules
=
qw(args async callbacks constants convert operations opcontext query)
;
my
@XS_Modules
=
qw(Couchbase BucketConfig IO N1QLParams)
;
foreach
(
@XS_Modules
,
@C_Modules
) {
my
$obj
=
$_
.
$Config
{obj_ext};
push
@{
$MM_Options
{OBJECT} }, File::Spec->catfile(
'xs'
,
$obj
);
}
$MM_Options
{OBJECT} =
join
(
' '
, @{
$MM_Options
{OBJECT} });
foreach
my
$xs
(
@XS_Modules
) {
xs/Couchbase.xs view on Meta::CPAN
676869707172737475767778798081828384858687Newxz(object, 1, PLCB_t);
lcb_set_cookie(instance, object);
object->instance = instance;
if
(iops_impl) {
object->ioprocs = newRV_inc(SvRV(iops_impl));
object->conncb = newRV_inc(SvRV(conncb));
object->async = 1;
}
plcb_callbacks_setup(object);
#define get_stash_assert(stashname, target) \
if
(! (object->target = gv_stashpv(stashname, 0)) ) { \
die
(
"Couldn't load '%s'"
, stashname); \
}
get_stash_assert(PLCB_RET_CLASSNAME, ret_stash);
get_stash_assert(PLCB_OPCTX_CLASSNAME, opctx_sync_stash);
get_stash_assert(PLCB_VIEWHANDLE_CLASS, view_stash);
get_stash_assert(PLCB_N1QLHANDLE_CLASS, n1ql_stash);
xs/callbacks.c view on Meta::CPAN
304305306307308309310311312313314315316317318319320321322323324
XPUSHs(sv_2mortal(newSViv(status)));
PUTBACK;
call_sv(obj->conncb, G_DISCARD);
SPAGAIN;
FREETMPS;LEAVE;
SvREFCNT_dec(obj->conncb); obj->conncb = NULL;
}
void
plcb_callbacks_setup(PLCB_t
*object
)
{
lcb_t o = object->instance;
lcb_install_callback3(o, LCB_CALLBACK_GET, callback_common);
lcb_install_callback3(o, LCB_CALLBACK_GETREPLICA, callback_common);
lcb_install_callback3(o, LCB_CALLBACK_STORE, callback_common);
lcb_install_callback3(o, LCB_CALLBACK_TOUCH, callback_common);
lcb_install_callback3(o, LCB_CALLBACK_REMOVE, callback_common);
lcb_install_callback3(o, LCB_CALLBACK_COUNTER, callback_common);
lcb_install_callback3(o, LCB_CALLBACK_UNLOCK, callback_common);
xs/perl-couchbase.h view on Meta::CPAN
234235236237238239240241242243244245246247248249250251252253254#define PLCB_OPCTXf_IMPLICIT 0x01
#define PLCB_OPCTXf_CALLEACH 0x02
#define PLCB_OPCTXf_CALLDONE 0x04
#define PLCB_OPCTXf_WAITONE 0x08
/
*need
to include this
after
defining PLCB_t*/
#include "plcb-return.h"
#include "plcb-args.h"
void plcb_callbacks_setup(PLCB_t
*object
);
/
*options
for
common constructor settings*/
void plcb_ctor_cbc_opts(AV
*options
, struct lcb_create_st
*cropts
);
void plcb_ctor_conversion_opts(PLCB_t
*object
, AV
*options
);
void plcb_ctor_init_common(PLCB_t
*object
, lcb_t instance, AV
*options
);
/
*cleanup
functions*/
void plcb_cleanup(PLCB_t
*object
);
/
*conversion
functions*/
( run in 0.378 second using v1.01-cache-2.11-cpan-ec4f86ec37b )