Apache-DAV

 view release on metacpan or  search on metacpan

xs/Apache/DAV/HooksDb/HooksDb.xs  view on Meta::CPAN

/*
 * *********** WARNING **************
 * This file generated by Apache::DAV::WrapXS/0.01
 * Any changes made here will be lost
 * ***********************************
 * 1. /opt/perl5.6.1/lib/site_perl/5.6.1/ExtUtils/XSBuilder/WrapXS.pm:38
 * 2. /opt/perl5.6.1/lib/site_perl/5.6.1/ExtUtils/XSBuilder/WrapXS.pm:1898
 * 3. xsbuilder/xs_generate.pl:6
 */


#include "mod_dav.h"

#include "EXTERN.h"

#include "perl.h"

#include "XSUB.h"

#include "moddav_xs_sv_convert.h"

#include "moddav_xs_typedefs.h"

static SV * davxs_Apache__DAV__HooksDb_obj[4] ;



void Apache__DAV__HooksDb_new_init (pTHX_ Apache__DAV__HooksDb  obj, SV * item, int overwrite) {

    SV * * tmpsv ;

    if (SvTYPE(item) == SVt_PVMG) 
        memcpy (obj, (void *)SvIVX(item), sizeof (*obj)) ;
    else if (SvTYPE(item) == SVt_PVHV) {
   ; }

    else
        croak ("initializer for Apache::DAV::HooksDb::new is not a hash or object reference") ;

} ;



/* --- Apache::DAV::HooksDb -> freedatum --- */



static void davxs_cb_Apache__DAV__HooksDb__freedatum (SV * __cbdest,dav_db * db,dav_datum data)
    {

    int __cnt ;
    
    dSP ;
    ENTER ;
    SAVETMPS ;
    PUSHMARK(SP) ;
    PUSHs(__cbdest) ;
    PUSHs(davxs_Apache__DAV__Db_2obj(db)) ;
    PUSHs(davxs_Apache__DAV__Datum_2obj(&data)) ;

    PUTBACK ;
    __cnt = perl_call_method("freedatum", G_VOID) ;


    if (__cnt != 0)
        croak ("davxs_cb_Apache__DAV__HooksDb__freedatum expected 0 return values") ;

    SPAGAIN ;

    PUTBACK ;
    FREETMPS ;
    LEAVE ;
    
   

    }
   


static void davxs_cb_Apache__DAV__HooksDb__freedatum_obj0 (dav_db * db,dav_datum data)
    {
     davxs_cb_Apache__DAV__HooksDb__freedatum (davxs_Apache__DAV__HooksDb_obj[0],db,data) ;
    }



static void davxs_cb_Apache__DAV__HooksDb__freedatum_obj1 (dav_db * db,dav_datum data)
    {
     davxs_cb_Apache__DAV__HooksDb__freedatum (davxs_Apache__DAV__HooksDb_obj[1],db,data) ;
    }



static void davxs_cb_Apache__DAV__HooksDb__freedatum_obj2 (dav_db * db,dav_datum data)
    {
     davxs_cb_Apache__DAV__HooksDb__freedatum (davxs_Apache__DAV__HooksDb_obj[2],db,data) ;
    }



static void davxs_cb_Apache__DAV__HooksDb__freedatum_obj3 (dav_db * db,dav_datum data)
    {
     davxs_cb_Apache__DAV__HooksDb__freedatum (davxs_Apache__DAV__HooksDb_obj[3],db,data) ;
    }

typedef void (*tdavxs_cb_Apache__DAV__HooksDb__freedatum_func)(dav_db * db,dav_datum data)  ;
static tdavxs_cb_Apache__DAV__HooksDb__freedatum_func davxs_davxs_cb_Apache__DAV__HooksDb__freedatum_func [4] = {
    davxs_cb_Apache__DAV__HooksDb__freedatum_obj0,
    davxs_cb_Apache__DAV__HooksDb__freedatum_obj1,
    davxs_cb_Apache__DAV__HooksDb__freedatum_obj2,
    davxs_cb_Apache__DAV__HooksDb__freedatum_obj3
    } ;



/* --- Apache::DAV::HooksDb -> nextkey --- */



static Apache__DAV__Error davxs_cb_Apache__DAV__HooksDb__nextkey (SV * __cbdest,dav_db * db,dav_datum * pkey)
    {
    Apache__DAV__Error __retval ;
    SV * __retsv ;

    int __cnt ;
    
    dSP ;
    ENTER ;
    SAVETMPS ;
    PUSHMARK(SP) ;
    PUSHs(__cbdest) ;
    PUSHs(davxs_Apache__DAV__Db_2obj(db)) ;
    PUSHs(davxs_Apache__DAV__Datum_2obj(pkey)) ;

    PUTBACK ;
    __cnt = perl_call_method("nextkey", G_SCALAR) ;


    if (__cnt != 1)
        croak ("davxs_cb_Apache__DAV__HooksDb__nextkey expected 1 return values") ;

    SPAGAIN ;
    __retsv = POPs;
    __retval = (Apache__DAV__Error)davxs_sv2_Apache__DAV__Error(__retsv);

    PUTBACK ;
    FREETMPS ;
    LEAVE ;
    
   
    return __retval ;

    }
   


static Apache__DAV__Error davxs_cb_Apache__DAV__HooksDb__nextkey_obj0 (dav_db * db,dav_datum * pkey)
    {
    return davxs_cb_Apache__DAV__HooksDb__nextkey (davxs_Apache__DAV__HooksDb_obj[0],db,pkey) ;
    }



static Apache__DAV__Error davxs_cb_Apache__DAV__HooksDb__nextkey_obj1 (dav_db * db,dav_datum * pkey)
    {
    return davxs_cb_Apache__DAV__HooksDb__nextkey (davxs_Apache__DAV__HooksDb_obj[1],db,pkey) ;
    }



static Apache__DAV__Error davxs_cb_Apache__DAV__HooksDb__nextkey_obj2 (dav_db * db,dav_datum * pkey)
    {
    return davxs_cb_Apache__DAV__HooksDb__nextkey (davxs_Apache__DAV__HooksDb_obj[2],db,pkey) ;
    }



static Apache__DAV__Error davxs_cb_Apache__DAV__HooksDb__nextkey_obj3 (dav_db * db,dav_datum * pkey)
    {
    return davxs_cb_Apache__DAV__HooksDb__nextkey (davxs_Apache__DAV__HooksDb_obj[3],db,pkey) ;
    }

typedef Apache__DAV__Error (*tdavxs_cb_Apache__DAV__HooksDb__nextkey_func)(dav_db * db,dav_datum * pkey)  ;
static tdavxs_cb_Apache__DAV__HooksDb__nextkey_func davxs_davxs_cb_Apache__DAV__HooksDb__nextkey_func [4] = {
    davxs_cb_Apache__DAV__HooksDb__nextkey_obj0,
    davxs_cb_Apache__DAV__HooksDb__nextkey_obj1,
    davxs_cb_Apache__DAV__HooksDb__nextkey_obj2,
    davxs_cb_Apache__DAV__HooksDb__nextkey_obj3
    } ;



/* --- Apache::DAV::HooksDb -> firstkey --- */



static Apache__DAV__Error davxs_cb_Apache__DAV__HooksDb__firstkey (SV * __cbdest,dav_db * db,dav_datum * pkey)
    {
    Apache__DAV__Error __retval ;
    SV * __retsv ;

    int __cnt ;
    
    dSP ;
    ENTER ;
    SAVETMPS ;
    PUSHMARK(SP) ;
    PUSHs(__cbdest) ;
    PUSHs(davxs_Apache__DAV__Db_2obj(db)) ;
    PUSHs(davxs_Apache__DAV__Datum_2obj(pkey)) ;

    PUTBACK ;
    __cnt = perl_call_method("firstkey", G_SCALAR) ;


    if (__cnt != 1)
        croak ("davxs_cb_Apache__DAV__HooksDb__firstkey expected 1 return values") ;

    SPAGAIN ;
    __retsv = POPs;
    __retval = (Apache__DAV__Error)davxs_sv2_Apache__DAV__Error(__retsv);

    PUTBACK ;
    FREETMPS ;
    LEAVE ;
    
   
    return __retval ;

    }
   


static Apache__DAV__Error davxs_cb_Apache__DAV__HooksDb__firstkey_obj0 (dav_db * db,dav_datum * pkey)
    {
    return davxs_cb_Apache__DAV__HooksDb__firstkey (davxs_Apache__DAV__HooksDb_obj[0],db,pkey) ;
    }



static Apache__DAV__Error davxs_cb_Apache__DAV__HooksDb__firstkey_obj1 (dav_db * db,dav_datum * pkey)
    {
    return davxs_cb_Apache__DAV__HooksDb__firstkey (davxs_Apache__DAV__HooksDb_obj[1],db,pkey) ;
    }



static Apache__DAV__Error davxs_cb_Apache__DAV__HooksDb__firstkey_obj2 (dav_db * db,dav_datum * pkey)
    {
    return davxs_cb_Apache__DAV__HooksDb__firstkey (davxs_Apache__DAV__HooksDb_obj[2],db,pkey) ;
    }



static Apache__DAV__Error davxs_cb_Apache__DAV__HooksDb__firstkey_obj3 (dav_db * db,dav_datum * pkey)
    {
    return davxs_cb_Apache__DAV__HooksDb__firstkey (davxs_Apache__DAV__HooksDb_obj[3],db,pkey) ;
    }

typedef Apache__DAV__Error (*tdavxs_cb_Apache__DAV__HooksDb__firstkey_func)(dav_db * db,dav_datum * pkey)  ;
static tdavxs_cb_Apache__DAV__HooksDb__firstkey_func davxs_davxs_cb_Apache__DAV__HooksDb__firstkey_func [4] = {
    davxs_cb_Apache__DAV__HooksDb__firstkey_obj0,
    davxs_cb_Apache__DAV__HooksDb__firstkey_obj1,
    davxs_cb_Apache__DAV__HooksDb__firstkey_obj2,
    davxs_cb_Apache__DAV__HooksDb__firstkey_obj3
    } ;



/* --- Apache::DAV::HooksDb -> exists --- */



static int davxs_cb_Apache__DAV__HooksDb__exists (SV * __cbdest,dav_db * db,dav_datum key)
    {
    int __retval ;
    SV * __retsv ;

    int __cnt ;
    
    dSP ;
    ENTER ;
    SAVETMPS ;
    PUSHMARK(SP) ;
    PUSHs(__cbdest) ;
    PUSHs(davxs_Apache__DAV__Db_2obj(db)) ;
    PUSHs(davxs_Apache__DAV__Datum_2obj(&key)) ;

    PUTBACK ;
    __cnt = perl_call_method("exists", G_SCALAR) ;


    if (__cnt != 1)
        croak ("davxs_cb_Apache__DAV__HooksDb__exists expected 1 return values") ;

    SPAGAIN ;
    __retsv = POPs;
    __retval = (int)davxs_sv2_IV(__retsv);

    PUTBACK ;
    FREETMPS ;
    LEAVE ;
    
   
    return __retval ;

    }
   


static int davxs_cb_Apache__DAV__HooksDb__exists_obj0 (dav_db * db,dav_datum key)
    {
    return davxs_cb_Apache__DAV__HooksDb__exists (davxs_Apache__DAV__HooksDb_obj[0],db,key) ;
    }



static int davxs_cb_Apache__DAV__HooksDb__exists_obj1 (dav_db * db,dav_datum key)
    {
    return davxs_cb_Apache__DAV__HooksDb__exists (davxs_Apache__DAV__HooksDb_obj[1],db,key) ;
    }



static int davxs_cb_Apache__DAV__HooksDb__exists_obj2 (dav_db * db,dav_datum key)
    {
    return davxs_cb_Apache__DAV__HooksDb__exists (davxs_Apache__DAV__HooksDb_obj[2],db,key) ;
    }



static int davxs_cb_Apache__DAV__HooksDb__exists_obj3 (dav_db * db,dav_datum key)
    {
    return davxs_cb_Apache__DAV__HooksDb__exists (davxs_Apache__DAV__HooksDb_obj[3],db,key) ;
    }

typedef int (*tdavxs_cb_Apache__DAV__HooksDb__exists_func)(dav_db * db,dav_datum key)  ;
static tdavxs_cb_Apache__DAV__HooksDb__exists_func davxs_davxs_cb_Apache__DAV__HooksDb__exists_func [4] = {
    davxs_cb_Apache__DAV__HooksDb__exists_obj0,
    davxs_cb_Apache__DAV__HooksDb__exists_obj1,
    davxs_cb_Apache__DAV__HooksDb__exists_obj2,
    davxs_cb_Apache__DAV__HooksDb__exists_obj3
    } ;



/* --- Apache::DAV::HooksDb -> remove --- */



static Apache__DAV__Error davxs_cb_Apache__DAV__HooksDb__remove (SV * __cbdest,dav_db * db,dav_datum key)
    {
    Apache__DAV__Error __retval ;
    SV * __retsv ;

    int __cnt ;
    
    dSP ;
    ENTER ;
    SAVETMPS ;
    PUSHMARK(SP) ;
    PUSHs(__cbdest) ;
    PUSHs(davxs_Apache__DAV__Db_2obj(db)) ;
    PUSHs(davxs_Apache__DAV__Datum_2obj(&key)) ;

    PUTBACK ;
    __cnt = perl_call_method("remove", G_SCALAR) ;


    if (__cnt != 1)
        croak ("davxs_cb_Apache__DAV__HooksDb__remove expected 1 return values") ;

    SPAGAIN ;
    __retsv = POPs;
    __retval = (Apache__DAV__Error)davxs_sv2_Apache__DAV__Error(__retsv);

    PUTBACK ;
    FREETMPS ;
    LEAVE ;
    
   
    return __retval ;

    }
   


static Apache__DAV__Error davxs_cb_Apache__DAV__HooksDb__remove_obj0 (dav_db * db,dav_datum key)
    {
    return davxs_cb_Apache__DAV__HooksDb__remove (davxs_Apache__DAV__HooksDb_obj[0],db,key) ;
    }



static Apache__DAV__Error davxs_cb_Apache__DAV__HooksDb__remove_obj1 (dav_db * db,dav_datum key)
    {
    return davxs_cb_Apache__DAV__HooksDb__remove (davxs_Apache__DAV__HooksDb_obj[1],db,key) ;
    }



static Apache__DAV__Error davxs_cb_Apache__DAV__HooksDb__remove_obj2 (dav_db * db,dav_datum key)
    {
    return davxs_cb_Apache__DAV__HooksDb__remove (davxs_Apache__DAV__HooksDb_obj[2],db,key) ;
    }



static Apache__DAV__Error davxs_cb_Apache__DAV__HooksDb__remove_obj3 (dav_db * db,dav_datum key)
    {
    return davxs_cb_Apache__DAV__HooksDb__remove (davxs_Apache__DAV__HooksDb_obj[3],db,key) ;
    }

typedef Apache__DAV__Error (*tdavxs_cb_Apache__DAV__HooksDb__remove_func)(dav_db * db,dav_datum key)  ;
static tdavxs_cb_Apache__DAV__HooksDb__remove_func davxs_davxs_cb_Apache__DAV__HooksDb__remove_func [4] = {
    davxs_cb_Apache__DAV__HooksDb__remove_obj0,
    davxs_cb_Apache__DAV__HooksDb__remove_obj1,
    davxs_cb_Apache__DAV__HooksDb__remove_obj2,
    davxs_cb_Apache__DAV__HooksDb__remove_obj3
    } ;



/* --- Apache::DAV::HooksDb -> store --- */



static Apache__DAV__Error davxs_cb_Apache__DAV__HooksDb__store (SV * __cbdest,dav_db * db,dav_datum key,dav_datum value)
    {
    Apache__DAV__Error __retval ;
    SV * __retsv ;

    int __cnt ;
    
    dSP ;
    ENTER ;
    SAVETMPS ;
    PUSHMARK(SP) ;
    PUSHs(__cbdest) ;
    PUSHs(davxs_Apache__DAV__Db_2obj(db)) ;
    PUSHs(davxs_Apache__DAV__Datum_2obj(&key)) ;
    PUSHs(davxs_Apache__DAV__Datum_2obj(&value)) ;

    PUTBACK ;
    __cnt = perl_call_method("store", G_SCALAR) ;


    if (__cnt != 1)
        croak ("davxs_cb_Apache__DAV__HooksDb__store expected 1 return values") ;

    SPAGAIN ;
    __retsv = POPs;
    __retval = (Apache__DAV__Error)davxs_sv2_Apache__DAV__Error(__retsv);

    PUTBACK ;
    FREETMPS ;
    LEAVE ;
    
   
    return __retval ;

    }
   


static Apache__DAV__Error davxs_cb_Apache__DAV__HooksDb__store_obj0 (dav_db * db,dav_datum key,dav_datum value)
    {
    return davxs_cb_Apache__DAV__HooksDb__store (davxs_Apache__DAV__HooksDb_obj[0],db,key,value) ;
    }



static Apache__DAV__Error davxs_cb_Apache__DAV__HooksDb__store_obj1 (dav_db * db,dav_datum key,dav_datum value)
    {
    return davxs_cb_Apache__DAV__HooksDb__store (davxs_Apache__DAV__HooksDb_obj[1],db,key,value) ;
    }



static Apache__DAV__Error davxs_cb_Apache__DAV__HooksDb__store_obj2 (dav_db * db,dav_datum key,dav_datum value)
    {
    return davxs_cb_Apache__DAV__HooksDb__store (davxs_Apache__DAV__HooksDb_obj[2],db,key,value) ;
    }



static Apache__DAV__Error davxs_cb_Apache__DAV__HooksDb__store_obj3 (dav_db * db,dav_datum key,dav_datum value)
    {
    return davxs_cb_Apache__DAV__HooksDb__store (davxs_Apache__DAV__HooksDb_obj[3],db,key,value) ;
    }

typedef Apache__DAV__Error (*tdavxs_cb_Apache__DAV__HooksDb__store_func)(dav_db * db,dav_datum key,dav_datum value)  ;
static tdavxs_cb_Apache__DAV__HooksDb__store_func davxs_davxs_cb_Apache__DAV__HooksDb__store_func [4] = {
    davxs_cb_Apache__DAV__HooksDb__store_obj0,
    davxs_cb_Apache__DAV__HooksDb__store_obj1,
    davxs_cb_Apache__DAV__HooksDb__store_obj2,
    davxs_cb_Apache__DAV__HooksDb__store_obj3
    } ;



/* --- Apache::DAV::HooksDb -> fetch --- */



static Apache__DAV__Error davxs_cb_Apache__DAV__HooksDb__fetch (SV * __cbdest,dav_db * db,dav_datum key,dav_datum * pvalue)
    {
    Apache__DAV__Error __retval ;
    SV * __retsv ;

    int __cnt ;
    
    dSP ;
    ENTER ;
    SAVETMPS ;
    PUSHMARK(SP) ;
    PUSHs(__cbdest) ;
    PUSHs(davxs_Apache__DAV__Db_2obj(db)) ;
    PUSHs(davxs_Apache__DAV__Datum_2obj(&key)) ;
    PUSHs(davxs_Apache__DAV__Datum_2obj(pvalue)) ;

    PUTBACK ;
    __cnt = perl_call_method("fetch", G_SCALAR) ;


    if (__cnt != 1)
        croak ("davxs_cb_Apache__DAV__HooksDb__fetch expected 1 return values") ;

    SPAGAIN ;
    __retsv = POPs;
    __retval = (Apache__DAV__Error)davxs_sv2_Apache__DAV__Error(__retsv);

    PUTBACK ;
    FREETMPS ;
    LEAVE ;
    
   
    return __retval ;

    }
   


static Apache__DAV__Error davxs_cb_Apache__DAV__HooksDb__fetch_obj0 (dav_db * db,dav_datum key,dav_datum * pvalue)
    {
    return davxs_cb_Apache__DAV__HooksDb__fetch (davxs_Apache__DAV__HooksDb_obj[0],db,key,pvalue) ;
    }



static Apache__DAV__Error davxs_cb_Apache__DAV__HooksDb__fetch_obj1 (dav_db * db,dav_datum key,dav_datum * pvalue)
    {
    return davxs_cb_Apache__DAV__HooksDb__fetch (davxs_Apache__DAV__HooksDb_obj[1],db,key,pvalue) ;
    }



static Apache__DAV__Error davxs_cb_Apache__DAV__HooksDb__fetch_obj2 (dav_db * db,dav_datum key,dav_datum * pvalue)
    {
    return davxs_cb_Apache__DAV__HooksDb__fetch (davxs_Apache__DAV__HooksDb_obj[2],db,key,pvalue) ;
    }



static Apache__DAV__Error davxs_cb_Apache__DAV__HooksDb__fetch_obj3 (dav_db * db,dav_datum key,dav_datum * pvalue)
    {
    return davxs_cb_Apache__DAV__HooksDb__fetch (davxs_Apache__DAV__HooksDb_obj[3],db,key,pvalue) ;
    }

typedef Apache__DAV__Error (*tdavxs_cb_Apache__DAV__HooksDb__fetch_func)(dav_db * db,dav_datum key,dav_datum * pvalue)  ;
static tdavxs_cb_Apache__DAV__HooksDb__fetch_func davxs_davxs_cb_Apache__DAV__HooksDb__fetch_func [4] = {
    davxs_cb_Apache__DAV__HooksDb__fetch_obj0,
    davxs_cb_Apache__DAV__HooksDb__fetch_obj1,
    davxs_cb_Apache__DAV__HooksDb__fetch_obj2,
    davxs_cb_Apache__DAV__HooksDb__fetch_obj3
    } ;



/* --- Apache::DAV::HooksDb -> close --- */



static void davxs_cb_Apache__DAV__HooksDb__close (SV * __cbdest,dav_db * db)
    {

    int __cnt ;
    
    dSP ;
    ENTER ;
    SAVETMPS ;
    PUSHMARK(SP) ;
    PUSHs(__cbdest) ;
    PUSHs(davxs_Apache__DAV__Db_2obj(db)) ;

    PUTBACK ;
    __cnt = perl_call_method("close", G_VOID) ;


    if (__cnt != 0)
        croak ("davxs_cb_Apache__DAV__HooksDb__close expected 0 return values") ;

    SPAGAIN ;

    PUTBACK ;
    FREETMPS ;
    LEAVE ;
    
   

    }
   


static void davxs_cb_Apache__DAV__HooksDb__close_obj0 (dav_db * db)
    {
     davxs_cb_Apache__DAV__HooksDb__close (davxs_Apache__DAV__HooksDb_obj[0],db) ;
    }



static void davxs_cb_Apache__DAV__HooksDb__close_obj1 (dav_db * db)
    {
     davxs_cb_Apache__DAV__HooksDb__close (davxs_Apache__DAV__HooksDb_obj[1],db) ;
    }



static void davxs_cb_Apache__DAV__HooksDb__close_obj2 (dav_db * db)
    {
     davxs_cb_Apache__DAV__HooksDb__close (davxs_Apache__DAV__HooksDb_obj[2],db) ;
    }



static void davxs_cb_Apache__DAV__HooksDb__close_obj3 (dav_db * db)
    {
     davxs_cb_Apache__DAV__HooksDb__close (davxs_Apache__DAV__HooksDb_obj[3],db) ;
    }

typedef void (*tdavxs_cb_Apache__DAV__HooksDb__close_func)(dav_db * db)  ;
static tdavxs_cb_Apache__DAV__HooksDb__close_func davxs_davxs_cb_Apache__DAV__HooksDb__close_func [4] = {
    davxs_cb_Apache__DAV__HooksDb__close_obj0,
    davxs_cb_Apache__DAV__HooksDb__close_obj1,
    davxs_cb_Apache__DAV__HooksDb__close_obj2,
    davxs_cb_Apache__DAV__HooksDb__close_obj3
    } ;



/* --- Apache::DAV::HooksDb -> open --- */



static Apache__DAV__Error davxs_cb_Apache__DAV__HooksDb__open (SV * __cbdest,pool * p,const dav_resource * resource,int ro,dav_db * * pdb)
    {
    Apache__DAV__Error __retval ;
    SV * __retsv ;

    int __cnt ;
    
    dSP ;
    ENTER ;
    SAVETMPS ;
    PUSHMARK(SP) ;
    PUSHs(__cbdest) ;
    PUSHs(davxs_Apache__Pool_2obj(p)) ;
    PUSHs(davxs_Apache__DAV__Resource_2obj(resource)) ;
    PUSHs(davxs_IV_2obj(ro)) ;

    PUTBACK ;
    __cnt = perl_call_method("open", G_ARRAY) ;


    if (__cnt != 2)
        croak ("davxs_cb_Apache__DAV__HooksDb__open expected 2 return values") ;

    SPAGAIN ;
    __retsv = POPs;
    __retval = (Apache__DAV__Error)davxs_sv2_Apache__DAV__Error(__retsv);
    __retsv = POPs;
    *pdb = (dav_db *)davxs_sv2_Apache__DAV__Db(__retsv);

    PUTBACK ;
    FREETMPS ;
    LEAVE ;
    
   
    return __retval ;

    }
   


static Apache__DAV__Error davxs_cb_Apache__DAV__HooksDb__open_obj0 (pool * p,const dav_resource * resource,int ro,dav_db * * pdb)
    {
    return davxs_cb_Apache__DAV__HooksDb__open (davxs_Apache__DAV__HooksDb_obj[0],p,resource,ro,pdb) ;
    }



static Apache__DAV__Error davxs_cb_Apache__DAV__HooksDb__open_obj1 (pool * p,const dav_resource * resource,int ro,dav_db * * pdb)
    {
    return davxs_cb_Apache__DAV__HooksDb__open (davxs_Apache__DAV__HooksDb_obj[1],p,resource,ro,pdb) ;
    }



static Apache__DAV__Error davxs_cb_Apache__DAV__HooksDb__open_obj2 (pool * p,const dav_resource * resource,int ro,dav_db * * pdb)
    {
    return davxs_cb_Apache__DAV__HooksDb__open (davxs_Apache__DAV__HooksDb_obj[2],p,resource,ro,pdb) ;
    }



static Apache__DAV__Error davxs_cb_Apache__DAV__HooksDb__open_obj3 (pool * p,const dav_resource * resource,int ro,dav_db * * pdb)
    {
    return davxs_cb_Apache__DAV__HooksDb__open (davxs_Apache__DAV__HooksDb_obj[3],p,resource,ro,pdb) ;
    }

typedef Apache__DAV__Error (*tdavxs_cb_Apache__DAV__HooksDb__open_func)(pool * p,const dav_resource * resource,int ro,dav_db * * pdb)  ;
static tdavxs_cb_Apache__DAV__HooksDb__open_func davxs_davxs_cb_Apache__DAV__HooksDb__open_func [4] = {
    davxs_cb_Apache__DAV__HooksDb__open_obj0,
    davxs_cb_Apache__DAV__HooksDb__open_obj1,
    davxs_cb_Apache__DAV__HooksDb__open_obj2,
    davxs_cb_Apache__DAV__HooksDb__open_obj3
    } ;


MODULE = Apache::DAV::HooksDb    PACKAGE = Apache::DAV::HooksDb 

Apache::DAV::Error
open(__self, p, resource, ro=0)
    Apache::DAV::HooksDb __self
    Apache::Pool p
    Apache::DAV::Resource resource
    int ro
PREINIT:
    Apache__DAV__Db pdb;
PPCODE:
    RETVAL = (*__self->open)(p, resource, ro, &pdb);
    XSprePUSH;
    EXTEND(SP, 2) ;
    PUSHs(davxs_Apache__DAV__Error_2obj(RETVAL)) ;
    PUSHs(davxs_Apache__DAV__Db_2obj(pdb)) ;

MODULE = Apache::DAV::HooksDb    PACKAGE = Apache::DAV::HooksDb 

void
close(__self, db)
    Apache::DAV::HooksDb __self
    Apache::DAV::Db db
CODE:
    (*__self->close)(db);


MODULE = Apache::DAV::HooksDb    PACKAGE = Apache::DAV::HooksDb 

Apache::DAV::Error
fetch(__self, db, key, pvalue)
    Apache::DAV::HooksDb __self
    Apache::DAV::Db db
    Apache::DAV::Datum key
    Apache::DAV::Datum pvalue
CODE:
    RETVAL = (*__self->fetch)(db, *key, pvalue);
OUTPUT:
    RETVAL


MODULE = Apache::DAV::HooksDb    PACKAGE = Apache::DAV::HooksDb 

Apache::DAV::Error
store(__self, db, key, value)
    Apache::DAV::HooksDb __self
    Apache::DAV::Db db
    Apache::DAV::Datum key
    Apache::DAV::Datum value
CODE:
    RETVAL = (*__self->store)(db, *key, *value);
OUTPUT:
    RETVAL


MODULE = Apache::DAV::HooksDb    PACKAGE = Apache::DAV::HooksDb 

Apache::DAV::Error
remove(__self, db, key)
    Apache::DAV::HooksDb __self
    Apache::DAV::Db db
    Apache::DAV::Datum key
CODE:
    RETVAL = (*__self->remove)(db, *key);
OUTPUT:
    RETVAL


MODULE = Apache::DAV::HooksDb    PACKAGE = Apache::DAV::HooksDb 

int
exists(__self, db, key)
    Apache::DAV::HooksDb __self
    Apache::DAV::Db db
    Apache::DAV::Datum key
CODE:
    RETVAL = (*__self->exists)(db, *key);
OUTPUT:
    RETVAL


MODULE = Apache::DAV::HooksDb    PACKAGE = Apache::DAV::HooksDb 

Apache::DAV::Error
firstkey(__self, db, pkey)
    Apache::DAV::HooksDb __self
    Apache::DAV::Db db
    Apache::DAV::Datum pkey
CODE:
    RETVAL = (*__self->firstkey)(db, pkey);
OUTPUT:
    RETVAL


MODULE = Apache::DAV::HooksDb    PACKAGE = Apache::DAV::HooksDb 

Apache::DAV::Error
nextkey(__self, db, pkey)
    Apache::DAV::HooksDb __self
    Apache::DAV::Db db
    Apache::DAV::Datum pkey
CODE:
    RETVAL = (*__self->nextkey)(db, pkey);
OUTPUT:
    RETVAL


MODULE = Apache::DAV::HooksDb    PACKAGE = Apache::DAV::HooksDb 

void
freedatum(__self, db, data)
    Apache::DAV::HooksDb __self
    Apache::DAV::Db db
    Apache::DAV::Datum data
CODE:
    (*__self->freedatum)(db, *data);


MODULE = Apache::DAV::HooksDb    PACKAGE = Apache::DAV::HooksDb 



SV *
new (class,initializer=NULL)
    char * class
    SV * initializer 
PREINIT:
    SV * svobj ;
    Apache__DAV__HooksDb  cobj ;
    SV * tmpsv ;
CODE:
    davxs_Apache__DAV__HooksDb_create_obj(cobj,svobj,RETVAL,malloc(sizeof(*cobj))) ;

    if (initializer) {
        if (!SvROK(initializer) || !(tmpsv = SvRV(initializer))) 
            croak ("initializer for Apache::DAV::HooksDb::new is not a reference") ;

        if (SvTYPE(tmpsv) == SVt_PVHV || SvTYPE(tmpsv) == SVt_PVMG)  
            Apache__DAV__HooksDb_new_init (aTHX_ cobj, tmpsv, 0) ;
        else if (SvTYPE(tmpsv) == SVt_PVAV) {
            int i ;
            SvGROW(svobj, sizeof (*cobj) * av_len((AV *)tmpsv)) ;     
            for (i = 0; i <= av_len((AV *)tmpsv); i++) {
                SV * * itemrv = av_fetch((AV *)tmpsv, i, 0) ;
                SV * item ;
                if (!itemrv || !*itemrv || !SvROK(*itemrv) || !(item = SvRV(*itemrv))) 
                    croak ("array element of initializer for Apache::DAV::HooksDb::new is not a reference") ;
                Apache__DAV__HooksDb_new_init (aTHX_ &cobj[i], item, 1) ;
            }
        }
        else {
             croak ("initializer for Apache::DAV::HooksDb::new is not a hash/array/object reference") ;
        }
    }
OUTPUT:
    RETVAL 

MODULE = Apache::DAV::HooksDb    PACKAGE = Apache::DAV::HooksDb 



void
init_callbacks (obj)
    SV *  obj
PREINIT:
    int  n = -1 ;
    int  i ;
    Apache__DAV__HooksDb cobj = (Apache__DAV__HooksDb)davxs_sv2_Apache__DAV__HooksDb(obj) ;
    SV * ref ;
    SV * perl_obj ;
CODE:

    perl_obj = SvRV(obj) ;
    ref = newRV_noinc(perl_obj) ;

    for (i=0;i < 4;i++)
        {
        if (davxs_Apache__DAV__HooksDb_obj[i] == ref)
            {
            n = i ;
            break ;
            }
        }

    if (n < 0)
        for (i=0;i < 4;i++)
            {
            if (davxs_Apache__DAV__HooksDb_obj[i] == NULL)
                {
                n = i ;
                break ;
                }
            }
        
    if (n < 0)
        croak ("Limit for concurrent object callbacks reached for Apache::DAV::HooksDb. Limit is 4") ;

    davxs_Apache__DAV__HooksDb_obj[n] = ref ;
    cobj -> open = davxs_davxs_cb_Apache__DAV__HooksDb__open_func[n] ;
    cobj -> close = davxs_davxs_cb_Apache__DAV__HooksDb__close_func[n] ;
    cobj -> fetch = davxs_davxs_cb_Apache__DAV__HooksDb__fetch_func[n] ;
    cobj -> store = davxs_davxs_cb_Apache__DAV__HooksDb__store_func[n] ;
    cobj -> remove = davxs_davxs_cb_Apache__DAV__HooksDb__remove_func[n] ;
    cobj -> exists = davxs_davxs_cb_Apache__DAV__HooksDb__exists_func[n] ;
    cobj -> firstkey = davxs_davxs_cb_Apache__DAV__HooksDb__firstkey_func[n] ;
    cobj -> nextkey = davxs_davxs_cb_Apache__DAV__HooksDb__nextkey_func[n] ;
    cobj -> freedatum = davxs_davxs_cb_Apache__DAV__HooksDb__freedatum_func[n] ;
    

PROTOTYPES: disabled

BOOT:
    items = items; /* -Wall */



( run in 1.969 second using v1.01-cache-2.11-cpan-5c0b1e786e0 )