Neo4j-Bolt

 view release on metacpan or  search on metacpan

lib/Neo4j/Bolt/Cxn.xs  view on Meta::CPAN

const char *server_id_(SV *cxn_ref) {
  return neo4j_server_id( C_PTR_OF(cxn_ref,cxn_obj_t)->connection );
}

char *protocol_version_(SV *cxn_ref) {
    if (C_PTR_OF(cxn_ref,cxn_obj_t)->connected)
    {
	uint32_t V = C_PTR_OF(cxn_ref,cxn_obj_t)->major_version;
	uint32_t v = C_PTR_OF(cxn_ref,cxn_obj_t)->minor_version;
	return Perl_form(aTHX_ "%d.%d", (int)V, (int)v);
    }
    else {
	return "";
    }
}

void DESTROY (SV *cxn_ref)
{
  cxn_obj_t *cxn_obj = C_PTR_OF(cxn_ref,cxn_obj_t);
  neo4j_close(cxn_obj->connection);
  Safefree(cxn_obj->strerror);
  Safefree(cxn_obj);
  return;
}


MODULE = Neo4j::Bolt::Cxn  PACKAGE = Neo4j::Bolt::Cxn  

TYPEMAP: <<EOF
Neo4j::Bolt::Cxn T_PTROBJ
EOF

PROTOTYPES: DISABLE


SV *
run_query_ (cxn_ref, cypher_query, params_ref, send, dbname)
	SV *	cxn_ref
	const char *	cypher_query
	SV *	params_ref
	int	send
        const char *    dbname

int
connected (cxn_ref)
	SV *	cxn_ref

int
errnum_ (cxn_ref)
	SV *	cxn_ref

const char *
errmsg_ (cxn_ref)
	SV *	cxn_ref

void
reset_ (cxn_ref)
	SV *	cxn_ref
        PREINIT:
        I32* temp;
        PPCODE:
        temp = PL_markstack_ptr++;
        reset_(cxn_ref);
        if (PL_markstack_ptr != temp) {
          /* truly void, because dXSARGS not invoked */
          PL_markstack_ptr = temp;
          XSRETURN_EMPTY; /* return empty stack */
        }
        /* must have used dXSARGS; list context implied */
        return; /* assume stack size is correct */

const char *
server_id_ (cxn_ref)
	SV *	cxn_ref

const char *
protocol_version_ (cxn_ref)
        SV *    cxn_ref

Neo4j::Bolt::Cxn
new_ (package)
  # For unit test only (regular objects are created by Neo4j::Bolt::connect_)
  CODE:
    Newxz(RETVAL, 1, cxn_obj_t);
  OUTPUT:
    RETVAL

void
DESTROY (cxn_ref)
	SV *	cxn_ref
        PREINIT:
        I32* temp;
        PPCODE:
        temp = PL_markstack_ptr++;
        DESTROY(cxn_ref);
        if (PL_markstack_ptr != temp) {
          /* truly void, because dXSARGS not invoked */
          PL_markstack_ptr = temp;
          XSRETURN_EMPTY; /* return empty stack */
        }
        /* must have used dXSARGS; list context implied */
        return; /* assume stack size is correct */



( run in 0.533 second using v1.01-cache-2.11-cpan-5511b514fd6 )