Couchbase

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
################################################################################
### 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

24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
push @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

67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
Newxz(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

304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
    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

234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
#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 )