Apache-DAV
view release on metacpan or search on metacpan
xs/Apache/DAV/HooksLiveprop/HooksLiveprop.xs view on Meta::CPAN
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
PREINIT:
SV * svobj ;
Apache__DAV__HooksLiveprop cobj ;
SV * tmpsv ;
CODE:
davxs_Apache__DAV__HooksLiveprop_create_obj(cobj,svobj,RETVAL,malloc(sizeof(*cobj))) ;
if (initializer) {
if (!SvROK(initializer) || !(tmpsv = SvRV(initializer)))
croak ("initializer for Apache::DAV::HooksLiveprop::new is not a reference") ;
if (SvTYPE(tmpsv) == SVt_PVHV || SvTYPE(tmpsv) == SVt_PVMG)
Apache__DAV__HooksLiveprop_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::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 2.890 seconds using v1.01-cache-2.11-cpan-8dfa8b56332 )