HTTP-Webdav

 view release on metacpan or  search on metacpan

Webdav.xs  view on Meta::CPAN

	pSV = sv_newmortal ();
	
        {
        SV ** ppArg ;
        ppArg = hv_fetch (pC2Perl, (char *)(&header), sizeof(header), 1) ;
        if (!SvOK(*ppArg))
            {
            SV * pObj ;
            *ppArg = newRV_noinc ((SV *)newHV()) ;
            sv_2mortal(*ppArg) ;
	    sv_bless (*ppArg, gv_stashpv ("HTTP::Webdav::Buffer", 0)) ;
            hv_store (pPerl2C, (char *)(SvRV (*ppArg)), sizeof (void *), newSViv ((IV)header), 0) ;
            }
        pSV = *ppArg ;
        }
	XPUSHs(pSV);

    PUTBACK ;
		cnt = perl_call_sv (*ppCV, G_VOID) ;
		}

    FREETMPS ;
    LEAVE ;

    }

    
    /* *** ne_props_result set by ne_propnames *** */

void neon_cb___cb__8 (void *userdata, const char *href,
				 const ne_prop_result_set *results)
    {

    int cnt ;
    SV * pSV ;
    SV ** ppCV ;

    dSP ;
    ENTER ;
    SAVETMPS ;
    PUSHMARK(SP) ;

    ppCV = hv_fetch ((HV *)SvRV((SV *)userdata), "__cb__8", 7, 0) ;
    if (ppCV && *ppCV)
        {
	pSV = (SV *)userdata;
	XPUSHs(pSV);
	pSV = sv_newmortal ();
		sv_setpv((SV*)pSV, href);
	XPUSHs(pSV);
	pSV = sv_newmortal ();
	
        {
        SV ** ppArg ;
        ppArg = hv_fetch (pC2Perl, (char *)(&results), sizeof(results), 1) ;
        if (!SvOK(*ppArg))
            {
            SV * pObj ;
            *ppArg = newRV_noinc ((SV *)newHV()) ;
            sv_2mortal(*ppArg) ;
	    sv_bless (*ppArg, gv_stashpv ("HTTP::Webdav::Propset", 0)) ;
            hv_store (pPerl2C, (char *)(SvRV (*ppArg)), sizeof (void *), newSViv ((IV)results), 0) ;
            }
        pSV = *ppArg ;
        }
	XPUSHs(pSV);

    PUTBACK ;
		cnt = perl_call_sv (*ppCV, G_VOID) ;
		}

    FREETMPS ;
    LEAVE ;

    }

    
    /* *** ne_props_result set by ne_simple_propfind *** */

void neon_cb___cb__16 (void *userdata, const char *href,
				 const ne_prop_result_set *results)
    {

    int cnt ;
    SV * pSV ;
    SV ** ppCV ;

    dSP ;
    ENTER ;
    SAVETMPS ;
    PUSHMARK(SP) ;

    ppCV = hv_fetch ((HV *)SvRV((SV *)userdata), "__cb__16", 8, 0) ;
    if (ppCV && *ppCV)
        {
	pSV = (SV *)userdata;
	XPUSHs(pSV);
	pSV = sv_newmortal ();
		sv_setpv((SV*)pSV, href);
	XPUSHs(pSV);
	pSV = sv_newmortal ();
	
        {
        SV ** ppArg ;
        ppArg = hv_fetch (pC2Perl, (char *)(&results), sizeof(results), 1) ;
        if (!SvOK(*ppArg))
            {
            SV * pObj ;
            *ppArg = newRV_noinc ((SV *)newHV()) ;
            sv_2mortal(*ppArg) ;
	    sv_bless (*ppArg, gv_stashpv ("HTTP::Webdav::Propset", 0)) ;
            hv_store (pPerl2C, (char *)(SvRV (*ppArg)), sizeof (void *), newSViv ((IV)results), 0) ;
            }
        pSV = *ppArg ;
        }
	XPUSHs(pSV);

    PUTBACK ;
		cnt = perl_call_sv (*ppCV, G_VOID) ;
		}

    FREETMPS ;
    LEAVE ;

    }

    
    /* *** ne_props_result set by ne_propfind_allprop *** */

void neon_cb___cb__20 (void *userdata, const char *href,
				 const ne_prop_result_set *results)
    {

    int cnt ;
    SV * pSV ;
    SV ** ppCV ;

    dSP ;
    ENTER ;
    SAVETMPS ;
    PUSHMARK(SP) ;

    ppCV = hv_fetch ((HV *)SvRV((SV *)userdata), "__cb__20", 8, 0) ;
    if (ppCV && *ppCV)
        {
	pSV = (SV *)userdata;
	XPUSHs(pSV);
	pSV = sv_newmortal ();
		sv_setpv((SV*)pSV, href);
	XPUSHs(pSV);
	pSV = sv_newmortal ();
	
        {
        SV ** ppArg ;
        ppArg = hv_fetch (pC2Perl, (char *)(&results), sizeof(results), 1) ;
        if (!SvOK(*ppArg))
            {
            SV * pObj ;
            *ppArg = newRV_noinc ((SV *)newHV()) ;
            sv_2mortal(*ppArg) ;
	    sv_bless (*ppArg, gv_stashpv ("HTTP::Webdav::Propset", 0)) ;
            hv_store (pPerl2C, (char *)(SvRV (*ppArg)), sizeof (void *), newSViv ((IV)results), 0) ;
            }
        pSV = *ppArg ;
        }
	XPUSHs(pSV);

    PUTBACK ;
		cnt = perl_call_sv (*ppCV, G_VOID) ;
		}

    FREETMPS ;
    LEAVE ;

    }

    
    /* *** ne_props_result set by ne_propfind_named *** */

void neon_cb___cb__21 (void *userdata, const char *href,
				 const ne_prop_result_set *results)
    {

    int cnt ;
    SV * pSV ;
    SV ** ppCV ;

    dSP ;
    ENTER ;
    SAVETMPS ;
    PUSHMARK(SP) ;

    ppCV = hv_fetch ((HV *)SvRV((SV *)userdata), "__cb__21", 8, 0) ;
    if (ppCV && *ppCV)
        {
	pSV = (SV *)userdata;
	XPUSHs(pSV);
	pSV = sv_newmortal ();
		sv_setpv((SV*)pSV, href);
	XPUSHs(pSV);
	pSV = sv_newmortal ();
	
        {
        SV ** ppArg ;
        ppArg = hv_fetch (pC2Perl, (char *)(&results), sizeof(results), 1) ;
        if (!SvOK(*ppArg))
            {
            SV * pObj ;
            *ppArg = newRV_noinc ((SV *)newHV()) ;
            sv_2mortal(*ppArg) ;
	    sv_bless (*ppArg, gv_stashpv ("HTTP::Webdav::Propset", 0)) ;
            hv_store (pPerl2C, (char *)(SvRV (*ppArg)), sizeof (void *), newSViv ((IV)results), 0) ;
            }
        pSV = *ppArg ;
        }
	XPUSHs(pSV);

    PUTBACK ;
		cnt = perl_call_sv (*ppCV, G_VOID) ;
		}

    FREETMPS ;
    LEAVE ;

    }

    
    /* *** ne_propset_iterator set by ne_propset_iterate *** */

int neon_cb___cb__22 (void *userdata,
				    const ne_propname *pname,
				    const char *value,
				    const ne_status *status)
    {
	int retval ;

    int cnt ;
    SV * pSV ;
    SV ** ppCV ;

    dSP ;
    ENTER ;
    SAVETMPS ;
    PUSHMARK(SP) ;

    ppCV = hv_fetch ((HV *)SvRV((SV *)userdata), "__cb__22", 8, 0) ;
    if (ppCV && *ppCV)
        {
	pSV = (SV *)userdata;
	XPUSHs(pSV);
	pSV = sv_newmortal ();
	
        {
        HV * _pHV_ ;

        /* croak ("pname unsupported") ; */
        if (!SvOK(pSV))
            {
            pSV = newRV_noinc((SV *)(_pHV_ = newHV())) ;
            sv_2mortal (pSV) ;
            }
        else if (!SvROK (pSV))
            {
            croak ("pname must be a reference") ;
            }
        else if (SvTYPE(_pHV_ = (HV *)SvRV(pSV)) != SVt_PVHV)
	    SvUPGRADE ((SV *)_pHV_, SVt_PVHV) ;
        if (pname)
            {
	sv_setpv((SV*)__fetchmember(_pHV_,"nspace"), ((const ne_propname *)pname)->nspace);
	;
	sv_setpv((SV*)__fetchmember(_pHV_,"name"), ((const ne_propname *)pname)->name);
	;

            }
        }
	XPUSHs(pSV);
	pSV = sv_newmortal ();
		sv_setpv((SV*)pSV, value);
	XPUSHs(pSV);
	pSV = sv_newmortal ();
	
        {
        HV * _pHV_ ;
        if (!SvOK(pSV))
            {
            pSV = newRV_noinc((SV *)(_pHV_ = newHV())) ;
            sv_2mortal (pSV) ;

Webdav.xs  view on Meta::CPAN

OUTPUT:
RETVAL


void *
current_private(handler)
	ne_propfind_handler * handler
CODE:
	RETVAL = 	ne_propfind_current_private(handler);
OUTPUT:
RETVAL


ne_xml_parser *
get_parser(handler)
	ne_propfind_handler * handler
CODE:
	RETVAL = 	ne_propfind_get_parser(handler);
OUTPUT:
RETVAL


ne_request *
get_request(handler)
	ne_propfind_handler * handler
CODE:
	RETVAL = 	ne_propfind_get_request(handler);
OUTPUT:
RETVAL


int
named(handler,prop,result)
	ne_propfind_handler * handler
	ne_propname * prop
	CV * result

        PREINIT:
            SV * pObject = ST(0) ;
            HV * pObjHV  = (HV *)SvRV(pObject) ;
        CODE:

            if (result)
                {
                SvREFCNT_inc ((SV *)result) ;
                hv_store (pObjHV, "__cb__21", 8, (SV *)result, 0) ; 
                }
	RETVAL = 	ne_propfind_named(handler,prop,result?&neon_cb___cb__21:NULL,pObject);
OUTPUT:
RETVAL


void
set_private(handler,creator,userdata)
	ne_propfind_handler * handler
	ne_props_create_complex creator
	void * userdata
CODE:
	ne_propfind_set_private(handler,creator,userdata);

MODULE = HTTP::Webdav         PACKAGE = HTTP::Webdav::Propset



void
DESTROY(obj)
	const ne_prop_result_set * obj
CODE:
        hv_delete (pPerl2C, (char *)(SvRV(ST(0))), sizeof (void *), G_DISCARD) ;
            {
            SV ** ppArg = hv_fetch (pC2Perl, (char *)(&obj), sizeof(obj), 0) ;
	    if (ppArg && *ppArg)
                {
                *ppArg = NULL ;
                hv_delete (pC2Perl, (char *)(&obj), sizeof(obj), G_DISCARD) ;
                }
            }


int
iterate(set,iterator)
	ne_prop_result_set * set
	CV * iterator

        PREINIT:
            SV * pObject = ST(0) ;
            HV * pObjHV  = (HV *)SvRV(pObject) ;
        CODE:

            if (iterator)
                {
                SvREFCNT_inc ((SV *)iterator) ;
                hv_store (pObjHV, "__cb__22", 8, (SV *)iterator, 0) ; 
                }
	RETVAL = 	ne_propset_iterate(set,iterator?&neon_cb___cb__22:NULL,pObject);
OUTPUT:
RETVAL


const char *
lang(set,pname)
	ne_prop_result_set * set
	ne_propname * pname
CODE:
	RETVAL = 	ne_propset_lang(set,pname);
OUTPUT:
RETVAL


void *
private(set)
	ne_prop_result_set * set
CODE:
	RETVAL = 	ne_propset_private(set);
OUTPUT:
RETVAL


const ne_status *
status(set,propname)
	ne_prop_result_set * set
	ne_propname * propname
CODE:
	RETVAL = 	ne_propset_status(set,propname);
OUTPUT:
RETVAL


const char *
value(set,propname)
	ne_prop_result_set * set
	ne_propname * propname
CODE:
	RETVAL = 	ne_propset_value(set,propname);
OUTPUT:
RETVAL

MODULE = HTTP::Webdav         PACKAGE = HTTP::Webdav::Request


void
DESTROY(req)
	ne_request * req
CODE:
	ne_request_destroy(req);

        hv_delete (pPerl2C, (char *)(SvRV(ST(0))), sizeof (void *), G_DISCARD) ;
            {
            SV ** ppArg = hv_fetch (pC2Perl, (char *)(&req), sizeof(req), 0) ;
	    if (ppArg && *ppArg)
                {
                *ppArg = NULL ;
                hv_delete (pC2Perl, (char *)(&req), sizeof(req), G_DISCARD) ;
                }
            }


void
add_depth_header(req,depth)
	ne_request * req
	int depth
CODE:
	ne_add_depth_header(req,depth);


void
add_request_header(req,name,value)
	ne_request * req
	char * name
	char * value
CODE:
	ne_add_request_header(req,name,value);


void
add_response_body_reader(req,accpt,rdr)
	ne_request * req
	CV * accpt
	CV * rdr

        PREINIT:
            SV * pObject = ST(0) ;
            HV * pObjHV  = (HV *)SvRV(pObject) ;
        CODE:

            if (accpt)
                {
                SvREFCNT_inc ((SV *)accpt) ;
                hv_store (pObjHV, "__cb__23", 8, (SV *)accpt, 0) ; 
                }

            if (rdr)
                {
                SvREFCNT_inc ((SV *)rdr) ;



( run in 0.789 second using v1.01-cache-2.11-cpan-71847e10f99 )