Apache-DAV
view release on metacpan or search on metacpan
xs/Apache/DAV/Resource/Resource.xs view on Meta::CPAN
#include "moddav_xs_sv_convert.h"
#include "moddav_xs_typedefs.h"
void Apache__DAV__Resource_new_init (pTHX_ Apache__DAV__Resource 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) {
if ((tmpsv = hv_fetch((HV *)item, "exists", sizeof("exists") - 1, 0)) || overwrite) {
obj -> exists = (int)davxs_sv2_IV((tmpsv && *tmpsv?*tmpsv:&PL_sv_undef)) ;
}
if ((tmpsv = hv_fetch((HV *)item, "collection", sizeof("collection") - 1, 0)) || overwrite) {
obj -> collection = (int)davxs_sv2_IV((tmpsv && *tmpsv?*tmpsv:&PL_sv_undef)) ;
}
if ((tmpsv = hv_fetch((HV *)item, "versioned", sizeof("versioned") - 1, 0)) || overwrite) {
obj -> versioned = (int)davxs_sv2_IV((tmpsv && *tmpsv?*tmpsv:&PL_sv_undef)) ;
}
if ((tmpsv = hv_fetch((HV *)item, "working", sizeof("working") - 1, 0)) || overwrite) {
obj -> working = (int)davxs_sv2_IV((tmpsv && *tmpsv?*tmpsv:&PL_sv_undef)) ;
}
if ((tmpsv = hv_fetch((HV *)item, "baselined", sizeof("baselined") - 1, 0)) || overwrite) {
obj -> baselined = (int)davxs_sv2_IV((tmpsv && *tmpsv?*tmpsv:&PL_sv_undef)) ;
}
if ((tmpsv = hv_fetch((HV *)item, "uri", sizeof("uri") - 1, 0)) || overwrite) {
const char * tmpobj = ((const char *)davxs_sv2_PV((tmpsv && *tmpsv?*tmpsv:&PL_sv_undef)));
if (tmpobj)
obj -> uri = (const char *)strdup(tmpobj);
else
obj -> uri = NULL ;
}
if ((tmpsv = hv_fetch((HV *)item, "hooks", sizeof("hooks") - 1, 0)) || overwrite) {
obj -> hooks = (const dav_hooks_repository *)davxs_sv2_Apache__DAV__HooksRepository((tmpsv && *tmpsv?*tmpsv:&PL_sv_undef)) ;
}
; }
else
croak ("initializer for Apache::DAV::Resource::new is not a hash or object reference") ;
} ;
MODULE = Apache::DAV::Resource PACKAGE = Apache::DAV::Resource
Apache::DAV::ResourcePrivate
type(obj, val=NULL)
Apache::DAV::Resource obj
Apache::DAV::ResourcePrivate val
PREINIT:
/*nada*/
CODE:
RETVAL = (Apache__DAV__ResourcePrivate) & obj->type;
if (items > 1) {
croak ("type is read only") ;
}
OUTPUT:
RETVAL
MODULE = Apache::DAV::Resource PACKAGE = Apache::DAV::Resource
int
exists(obj, val=0)
Apache::DAV::Resource obj
int val
PREINIT:
/*nada*/
CODE:
RETVAL = (int) obj->exists;
if (items > 1) {
obj->exists = (int) val;
}
OUTPUT:
RETVAL
MODULE = Apache::DAV::Resource PACKAGE = Apache::DAV::Resource
int
collection(obj, val=0)
Apache::DAV::Resource obj
int val
PREINIT:
/*nada*/
CODE:
RETVAL = (int) obj->collection;
if (items > 1) {
obj->collection = (int) val;
}
OUTPUT:
RETVAL
MODULE = Apache::DAV::Resource PACKAGE = Apache::DAV::Resource
int
versioned(obj, val=0)
Apache::DAV::Resource obj
int val
PREINIT:
/*nada*/
CODE:
RETVAL = (int) obj->versioned;
if (items > 1) {
obj->versioned = (int) val;
}
OUTPUT:
RETVAL
MODULE = Apache::DAV::Resource PACKAGE = Apache::DAV::Resource
int
working(obj, val=0)
Apache::DAV::Resource obj
int val
PREINIT:
/*nada*/
CODE:
RETVAL = (int) obj->working;
if (items > 1) {
obj->working = (int) val;
}
OUTPUT:
RETVAL
MODULE = Apache::DAV::Resource PACKAGE = Apache::DAV::Resource
int
baselined(obj, val=0)
Apache::DAV::Resource obj
int val
PREINIT:
/*nada*/
CODE:
RETVAL = (int) obj->baselined;
if (items > 1) {
obj->baselined = (int) val;
}
OUTPUT:
RETVAL
MODULE = Apache::DAV::Resource PACKAGE = Apache::DAV::Resource
const char *
uri(obj, val=NULL)
Apache::DAV::Resource obj
const char * val
PREINIT:
/*nada*/
CODE:
RETVAL = (const char *) obj->uri;
if (items > 1) {
obj->uri = (const char *)strdup(val);
}
OUTPUT:
RETVAL
MODULE = Apache::DAV::Resource PACKAGE = Apache::DAV::Resource
Apache::DAV::HooksRepository
hooks(obj, val=NULL)
Apache::DAV::Resource obj
Apache::DAV::HooksRepository val
PREINIT:
/*nada*/
CODE:
RETVAL = (Apache__DAV__HooksRepository) obj->hooks;
if (items > 1) {
obj->hooks = (Apache__DAV__HooksRepository) val;
}
OUTPUT:
RETVAL
MODULE = Apache::DAV::Resource PACKAGE = Apache::DAV::Resource
SV *
new (class,initializer=NULL)
char * class
SV * initializer
PREINIT:
SV * svobj ;
Apache__DAV__Resource cobj ;
SV * tmpsv ;
CODE:
davxs_Apache__DAV__Resource_create_obj(cobj,svobj,RETVAL,malloc(sizeof(*cobj))) ;
if (initializer) {
if (!SvROK(initializer) || !(tmpsv = SvRV(initializer)))
croak ("initializer for Apache::DAV::Resource::new is not a reference") ;
if (SvTYPE(tmpsv) == SVt_PVHV || SvTYPE(tmpsv) == SVt_PVMG)
Apache__DAV__Resource_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::Resource::new is not a reference") ;
Apache__DAV__Resource_new_init (aTHX_ &cobj[i], item, 1) ;
}
}
else {
croak ("initializer for Apache::DAV::Resource::new is not a hash/array/object reference") ;
}
}
OUTPUT:
RETVAL
PROTOTYPES: disabled
BOOT:
items = items; /* -Wall */
( run in 0.923 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )