Apporo

 view release on metacpan or  search on metacpan

inc/Devel/PPPort.pm  view on Meta::CPAN

PTR2ul|5.007001||p
PTRV|5.006000||p
PUSHMARK|||
PUSH_MULTICALL||5.014000|
PUSHi|||
PUSHmortal|5.009002||p
PUSHn|||
PUSHp|||
PUSHs|||
PUSHu|5.004000||p
PUTBACK|||
PerlIO_clearerr||5.007003|
PerlIO_close||5.007003|
PerlIO_context_layers||5.009004|
PerlIO_eof||5.007003|
PerlIO_error||5.007003|
PerlIO_fileno||5.007003|
PerlIO_fill||5.007003|
PerlIO_flush||5.007003|
PerlIO_get_base||5.007003|
PerlIO_get_bufsiz||5.007003|

inc/Devel/PPPort.pm  view on Meta::CPAN

{
    dSP;
    SV* sv = newSVpv(p, 0);

    PUSHMARK(sp);
    eval_sv(sv, G_SCALAR);
    SvREFCNT_dec(sv);

    SPAGAIN;
    sv = POPs;
    PUTBACK;

    if (croak_on_error && SvTRUE(GvSV(errgv)))
	croak(SvPVx(GvSV(errgv), na));

    return sv;
}

#endif
#endif

xs/Apporo.xs  view on Meta::CPAN

    }

MODULE = Apporo  PACKAGE = Apporo

Apporo*
Apporo::new(char* config_file_path)
CODE:
  std::string path = (string)config_file_path;
  Apporo *a = new Apporo(path);
  RETVAL = a;
OUTPUT:
  RETVAL

void
Apporo::DESTROY()

AV*
Apporo::retrieve(char* query)
CODE:
  AV *res = newAV();
  string q(query);
  vector <string> vec = THIS->retrieve(q);
  av_extend(res, vec.size() - 1);
  for (size_t i = 0; i < vec.size(); i++) {
    SV *tmp = newSVpv(vec[i].c_str(), 0);
    av_store(res, i, tmp);
  }
  RETVAL = res;
OUTPUT:
  RETVAL

xs/typemap  view on Meta::CPAN

TYPEMAP

Apporo*      T_APPORO

INPUT
T_APPORO
    if( SvROK($arg) ) {
        $var = ($type)SvIV((SV*)SvRV( $arg ));
    } else {
        warn( \"${Package}::$func_name() -- $var is not a blessed SV reference\" );
        XSRETURN_UNDEF;
    }

OUTPUT
T_APPORO
    sv_setref_pv( $arg, CLASS, (void*)$var );



( run in 0.390 second using v1.01-cache-2.11-cpan-4e96b696675 )