Apache-DAV

 view release on metacpan or  search on metacpan

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

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


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

    SPAGAIN ;
    __retsv = POPs;
    __retval = (Apache__DAV__Error)davxs_sv2_Apache__DAV__Error(__retsv);
    __retsv = POPs;
    *rollback_ctx = (dav_liveprop_rollback *)davxs_sv2_Apache__DAV__LivepropRollback(__retsv);

    PUTBACK ;
    FREETMPS ;
    LEAVE ;
    
   
    return __retval ;

    }
   


static Apache__DAV__Error davxs_cb_Apache__DAV__HooksLiveprop__patch_exec_obj0 (dav_resource * resource,const dav_xml_elem * elem,int operation,void * context,dav_liveprop_rollback * * rollback_ctx)
    {
    return davxs_cb_Apache__DAV__HooksLiveprop__patch_exec (davxs_Apache__DAV__HooksLiveprop_obj[0],resource,elem,operation,context,rollback_ctx) ;
    }



static Apache__DAV__Error davxs_cb_Apache__DAV__HooksLiveprop__patch_exec_obj1 (dav_resource * resource,const dav_xml_elem * elem,int operation,void * context,dav_liveprop_rollback * * rollback_ctx)
    {
    return davxs_cb_Apache__DAV__HooksLiveprop__patch_exec (davxs_Apache__DAV__HooksLiveprop_obj[1],resource,elem,operation,context,rollback_ctx) ;
    }



static Apache__DAV__Error davxs_cb_Apache__DAV__HooksLiveprop__patch_exec_obj2 (dav_resource * resource,const dav_xml_elem * elem,int operation,void * context,dav_liveprop_rollback * * rollback_ctx)
    {
    return davxs_cb_Apache__DAV__HooksLiveprop__patch_exec (davxs_Apache__DAV__HooksLiveprop_obj[2],resource,elem,operation,context,rollback_ctx) ;
    }



static Apache__DAV__Error davxs_cb_Apache__DAV__HooksLiveprop__patch_exec_obj3 (dav_resource * resource,const dav_xml_elem * elem,int operation,void * context,dav_liveprop_rollback * * rollback_ctx)
    {
    return davxs_cb_Apache__DAV__HooksLiveprop__patch_exec (davxs_Apache__DAV__HooksLiveprop_obj[3],resource,elem,operation,context,rollback_ctx) ;
    }

typedef Apache__DAV__Error (*tdavxs_cb_Apache__DAV__HooksLiveprop__patch_exec_func)(dav_resource * resource,const dav_xml_elem * elem,int operation,void * context,dav_liveprop_rollback * * rollback_ctx)  ;
static tdavxs_cb_Apache__DAV__HooksLiveprop__patch_exec_func davxs_davxs_cb_Apache__DAV__HooksLiveprop__patch_exec_func [4] = {
    davxs_cb_Apache__DAV__HooksLiveprop__patch_exec_obj0,
    davxs_cb_Apache__DAV__HooksLiveprop__patch_exec_obj1,
    davxs_cb_Apache__DAV__HooksLiveprop__patch_exec_obj2,
    davxs_cb_Apache__DAV__HooksLiveprop__patch_exec_obj3
    } ;



/* --- Apache::DAV::HooksLiveprop -> patch_validate --- */



static Apache__DAV__Error davxs_cb_Apache__DAV__HooksLiveprop__patch_validate (SV * __cbdest,const dav_resource * resource,const dav_xml_elem * elem,int operation,void * * context,int * defer_to_dead)
    {
    Apache__DAV__Error __retval ;
    SV * __retsv ;

    int __cnt ;
    
    dSP ;
    ENTER ;
    SAVETMPS ;
    PUSHMARK(SP) ;
    PUSHs(__cbdest) ;
    PUSHs(davxs_Apache__DAV__Resource_2obj(resource)) ;
    PUSHs(davxs_Apache__DAV__XMLElem_2obj(elem)) ;
    PUSHs(davxs_IV_2obj(operation)) ;

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


    if (__cnt != 3)
        croak ("davxs_cb_Apache__DAV__HooksLiveprop__patch_validate expected 3 return values") ;

    SPAGAIN ;
    __retsv = POPs;
    __retval = (Apache__DAV__Error)davxs_sv2_Apache__DAV__Error(__retsv);
    __retsv = POPs;
    *context = (void *)davxs_sv2_PTR(__retsv);
    __retsv = POPs;
    *defer_to_dead = (int)davxs_sv2_IV(__retsv);

    PUTBACK ;
    FREETMPS ;
    LEAVE ;
    
   
    return __retval ;

    }
   


static Apache__DAV__Error davxs_cb_Apache__DAV__HooksLiveprop__patch_validate_obj0 (const dav_resource * resource,const dav_xml_elem * elem,int operation,void * * context,int * defer_to_dead)
    {
    return davxs_cb_Apache__DAV__HooksLiveprop__patch_validate (davxs_Apache__DAV__HooksLiveprop_obj[0],resource,elem,operation,context,defer_to_dead) ;
    }



static Apache__DAV__Error davxs_cb_Apache__DAV__HooksLiveprop__patch_validate_obj1 (const dav_resource * resource,const dav_xml_elem * elem,int operation,void * * context,int * defer_to_dead)
    {
    return davxs_cb_Apache__DAV__HooksLiveprop__patch_validate (davxs_Apache__DAV__HooksLiveprop_obj[1],resource,elem,operation,context,defer_to_dead) ;
    }



static Apache__DAV__Error davxs_cb_Apache__DAV__HooksLiveprop__patch_validate_obj2 (const dav_resource * resource,const dav_xml_elem * elem,int operation,void * * context,int * defer_to_dead)
    {
    return davxs_cb_Apache__DAV__HooksLiveprop__patch_validate (davxs_Apache__DAV__HooksLiveprop_obj[2],resource,elem,operation,context,defer_to_dead) ;
    }



static Apache__DAV__Error davxs_cb_Apache__DAV__HooksLiveprop__patch_validate_obj3 (const dav_resource * resource,const dav_xml_elem * elem,int operation,void * * context,int * defer_to_dead)
    {
    return davxs_cb_Apache__DAV__HooksLiveprop__patch_validate (davxs_Apache__DAV__HooksLiveprop_obj[3],resource,elem,operation,context,defer_to_dead) ;
    }

typedef Apache__DAV__Error (*tdavxs_cb_Apache__DAV__HooksLiveprop__patch_validate_func)(const dav_resource * resource,const dav_xml_elem * elem,int operation,void * * context,int * defer_to_dead)  ;
static tdavxs_cb_Apache__DAV__HooksLiveprop__patch_validate_func davxs_davxs_cb_Apache__DAV__HooksLiveprop__patch_validate_func [4] = {
    davxs_cb_Apache__DAV__HooksLiveprop__patch_validate_obj0,
    davxs_cb_Apache__DAV__HooksLiveprop__patch_validate_obj1,
    davxs_cb_Apache__DAV__HooksLiveprop__patch_validate_obj2,
    davxs_cb_Apache__DAV__HooksLiveprop__patch_validate_obj3
    } ;



/* --- Apache::DAV::HooksLiveprop -> is_writeable --- */



static dav_prop_rw davxs_cb_Apache__DAV__HooksLiveprop__is_writeable (SV * __cbdest,const dav_resource * resource,int propid)
    {
    dav_prop_rw __retval ;
    SV * __retsv ;

    int __cnt ;
    
    dSP ;
    ENTER ;
    SAVETMPS ;
    PUSHMARK(SP) ;
    PUSHs(__cbdest) ;
    PUSHs(davxs_Apache__DAV__Resource_2obj(resource)) ;
    PUSHs(davxs_IV_2obj(propid)) ;

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


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

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

    PUTBACK ;
    FREETMPS ;
    LEAVE ;
    
   
    return __retval ;

    }
   


static dav_prop_rw davxs_cb_Apache__DAV__HooksLiveprop__is_writeable_obj0 (const dav_resource * resource,int propid)
    {
    return davxs_cb_Apache__DAV__HooksLiveprop__is_writeable (davxs_Apache__DAV__HooksLiveprop_obj[0],resource,propid) ;
    }



static dav_prop_rw davxs_cb_Apache__DAV__HooksLiveprop__is_writeable_obj1 (const dav_resource * resource,int propid)
    {
    return davxs_cb_Apache__DAV__HooksLiveprop__is_writeable (davxs_Apache__DAV__HooksLiveprop_obj[1],resource,propid) ;
    }



static dav_prop_rw davxs_cb_Apache__DAV__HooksLiveprop__is_writeable_obj2 (const dav_resource * resource,int propid)

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

    RETVAL

MODULE = Apache::DAV::HooksLiveprop    PACKAGE = Apache::DAV::HooksLiveprop 

int
find_prop(__self, ns_uri, name)
    Apache::DAV::HooksLiveprop __self
    const char * ns_uri
    const char * name
CODE:
    RETVAL = (*__self->find_prop)(ns_uri, name);
OUTPUT:
    RETVAL


MODULE = Apache::DAV::HooksLiveprop    PACKAGE = Apache::DAV::HooksLiveprop 

dav_prop_insert
insert_prop(__self, resource, propid, insvalue, ns_map, phdr)
    Apache::DAV::HooksLiveprop __self
    Apache::DAV::Resource resource
    int propid
    int insvalue
    void * ns_map
    Apache::DAV::TextHeader phdr
CODE:
    RETVAL = (*__self->insert_prop)(resource, propid, insvalue, ns_map, phdr);
OUTPUT:
    RETVAL


MODULE = Apache::DAV::HooksLiveprop    PACKAGE = Apache::DAV::HooksLiveprop 

void
insert_all(__self, resource, insvalue, ns_map, phdr)
    Apache::DAV::HooksLiveprop __self
    Apache::DAV::Resource resource
    int insvalue
    void * ns_map
    Apache::DAV::TextHeader phdr
CODE:
    (*__self->insert_all)(resource, insvalue, ns_map, phdr);


MODULE = Apache::DAV::HooksLiveprop    PACKAGE = Apache::DAV::HooksLiveprop 

dav_prop_rw
is_writeable(__self, resource, propid)
    Apache::DAV::HooksLiveprop __self
    Apache::DAV::Resource resource
    int propid
CODE:
    RETVAL = (*__self->is_writeable)(resource, propid);
OUTPUT:
    RETVAL


MODULE = Apache::DAV::HooksLiveprop    PACKAGE = Apache::DAV::HooksLiveprop 

Apache::DAV::Error
patch_validate(__self, resource, elem, operation)
    Apache::DAV::HooksLiveprop __self
    Apache::DAV::Resource resource
    Apache::DAV::XMLElem elem
    int operation
PREINIT:
    PTR context;
    IV defer_to_dead;
PPCODE:
    RETVAL = (*__self->patch_validate)(resource, elem, operation, &context, &defer_to_dead);
    XSprePUSH;
    EXTEND(SP, 3) ;
    PUSHs(davxs_Apache__DAV__Error_2obj(RETVAL)) ;
    PUSHs(davxs_PTR_2obj(context)) ;
    PUSHs(davxs_IV_2obj(defer_to_dead)) ;

MODULE = Apache::DAV::HooksLiveprop    PACKAGE = Apache::DAV::HooksLiveprop 

Apache::DAV::Error
patch_exec(__self, resource, elem, operation, context)
    Apache::DAV::HooksLiveprop __self
    Apache::DAV::Resource resource
    Apache::DAV::XMLElem elem
    int operation
    void * context
PREINIT:
    Apache__DAV__LivepropRollback rollback_ctx;
PPCODE:
    RETVAL = (*__self->patch_exec)(resource, elem, operation, context, &rollback_ctx);
    XSprePUSH;
    EXTEND(SP, 2) ;
    PUSHs(davxs_Apache__DAV__Error_2obj(RETVAL)) ;
    PUSHs(davxs_Apache__DAV__LivepropRollback_2obj(rollback_ctx)) ;

MODULE = Apache::DAV::HooksLiveprop    PACKAGE = Apache::DAV::HooksLiveprop 

void
patch_commit(__self, resource, operation, context, rollback_ctx)
    Apache::DAV::HooksLiveprop __self
    Apache::DAV::Resource resource
    int operation
    void * context
    Apache::DAV::LivepropRollback rollback_ctx
CODE:
    (*__self->patch_commit)(resource, operation, context, rollback_ctx);


MODULE = Apache::DAV::HooksLiveprop    PACKAGE = Apache::DAV::HooksLiveprop 

Apache::DAV::Error
patch_rollback(__self, resource, operation, context, rollback_ctx)
    Apache::DAV::HooksLiveprop __self
    Apache::DAV::Resource resource
    int operation
    void * context
    Apache::DAV::LivepropRollback rollback_ctx
CODE:
    RETVAL = (*__self->patch_rollback)(resource, operation, context, rollback_ctx);
OUTPUT:
    RETVAL


MODULE = Apache::DAV::HooksLiveprop    PACKAGE = Apache::DAV::HooksLiveprop 



SV *
new (class,initializer=NULL)
    char * class
    SV * initializer 

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

            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::HooksLiveprop::new is not a reference") ;
                Apache__DAV__HooksLiveprop_new_init (aTHX_ &cobj[i], item, 1) ;
            }
        }
        else {
             croak ("initializer for Apache::DAV::HooksLiveprop::new is not a hash/array/object reference") ;
        }
    }
OUTPUT:
    RETVAL 

MODULE = Apache::DAV::HooksLiveprop    PACKAGE = Apache::DAV::HooksLiveprop 



void
init_callbacks (obj)
    SV *  obj
PREINIT:
    int  n = -1 ;
    int  i ;
    Apache__DAV__HooksLiveprop cobj = (Apache__DAV__HooksLiveprop)davxs_sv2_Apache__DAV__HooksLiveprop(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__HooksLiveprop_obj[i] == ref)
            {
            n = i ;
            break ;
            }
        }

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

    davxs_Apache__DAV__HooksLiveprop_obj[n] = ref ;
    cobj -> find_prop = davxs_davxs_cb_Apache__DAV__HooksLiveprop__find_prop_func[n] ;
    cobj -> insert_prop = davxs_davxs_cb_Apache__DAV__HooksLiveprop__insert_prop_func[n] ;
    cobj -> insert_all = davxs_davxs_cb_Apache__DAV__HooksLiveprop__insert_all_func[n] ;
    cobj -> is_writeable = davxs_davxs_cb_Apache__DAV__HooksLiveprop__is_writeable_func[n] ;
    cobj -> patch_validate = davxs_davxs_cb_Apache__DAV__HooksLiveprop__patch_validate_func[n] ;
    cobj -> patch_exec = davxs_davxs_cb_Apache__DAV__HooksLiveprop__patch_exec_func[n] ;
    cobj -> patch_commit = davxs_davxs_cb_Apache__DAV__HooksLiveprop__patch_commit_func[n] ;
    cobj -> patch_rollback = davxs_davxs_cb_Apache__DAV__HooksLiveprop__patch_rollback_func[n] ;
    

PROTOTYPES: disabled

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



( run in 3.064 seconds using v1.01-cache-2.11-cpan-364913b4093 )