⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 svn_types.swg

📁 subversion-1.4.3-1.tar.gz 配置svn的源码
💻 SWG
📖 第 1 页 / 共 2 页
字号:
    $2 = (void *)svn_swig_rb_make_baton($input, _global_svn_swig_rb_pool);}/* -----------------------------------------------------------------------   Callback: svn_commit_callback_t   svn_ra get_commit_editor()   svn_repos_get_commit_editor()*/%typemap(perl5, in) (svn_commit_callback_t callback, void *callback_baton) {    $1 = svn_swig_pl_thunk_commit_callback;    $2 = (void *)$input;    svn_swig_pl_hold_ref_in_pool (_global_pool, $input);};%typemap(ruby, in) (svn_commit_callback_t callback, void *callback_baton){  $1 = svn_swig_rb_commit_callback;  $2 = (void *)svn_swig_rb_make_baton($input, _global_svn_swig_rb_pool);};%typemap(ruby, argout) (svn_commit_callback_t callback, void *callback_baton){  svn_swig_rb_set_baton($result, (VALUE)$2);};/* -----------------------------------------------------------------------   Callback: svn_commit_callback2_t   svn_ra get_commit_editor2()   svn_repos_get_commit_editor4()*/%typemap(ruby, in) (svn_commit_callback2_t callback, void *callback_baton){  $1 = svn_swig_rb_commit_callback2;  $2 = (void *)svn_swig_rb_make_baton($input, _global_svn_swig_rb_pool);};%typemap(ruby, argout) (svn_commit_callback2_t callback, void *callback_baton){  svn_swig_rb_set_baton($result, (VALUE)$2);};/* -----------------------------------------------------------------------   Callback: svn_cancel_func_t*/%typemap(python, in) (svn_cancel_func_t cancel_func, void *cancel_baton) {  $1 = svn_swig_py_cancel_func;  $2 = $input; /* our function is the baton. */}%typemap(ruby, in) (svn_cancel_func_t cancel_func, void *cancel_baton){  $1 = svn_swig_rb_cancel_func;  $2 = (void *)svn_swig_rb_make_baton($input, _global_svn_swig_rb_pool);}%typemap(ruby, argout) (svn_cancel_func_t cancel_func, void *cancel_baton){  svn_swig_rb_set_baton($result, (VALUE)$2);};/* -----------------------------------------------------------------------   Callback: svn_info_receiver_t*/%typemap(perl5, in) (svn_info_receiver_t receiver, void *receiver_baton){  $1 = svn_swig_pl_info_receiver;  $2 = (void *)$input;}%typemap(ruby, in) (svn_info_receiver_t receiver, void *receiver_baton){  $1 = svn_swig_rb_info_receiver;  $2 = (void *)svn_swig_rb_make_baton($input, _global_svn_swig_rb_pool);}/* -----------------------------------------------------------------------   Callback: svn_fs_warning_callback_t*/%typemap(ruby, in) (svn_fs_warning_callback_t warning, void *warning_baton){  VALUE baton = svn_swig_rb_make_baton($input, _global_svn_swig_rb_pool);  svn_swig_rb_fs_warning_callback_baton_register(baton, _global_pool);  $1 = svn_swig_rb_fs_warning_callback;  $2 = (void *)baton;}/* -----------------------------------------------------------------------   svn_stream_t interoperability with language native io handles*/%typemap(python, in) svn_stream_t *WRAPPED_STREAM {    $1 = svn_swig_py_make_stream ($input, _global_pool);}%typemap(perl5, in) svn_stream_t * {    svn_swig_pl_make_stream (&$1, $input);}%typemap(perl5, out) svn_stream_t * {    $result = svn_swig_pl_from_stream ($1);    argvi++;}%typemap(perl5, argout) svn_stream_t ** {    $result = svn_swig_pl_from_stream (*$1);    argvi++;}%typemap(ruby, in) svn_stream_t * {  $1 = svn_swig_rb_make_stream($input);}/* -----------------------------------------------------------------------   Wrap the digest output for functions populating digests.*/%typemap(in, numinputs=0) unsigned char digest[ANY]    ($*1_type temp[APR_MD5_DIGESTSIZE]) {    $1 = ($1_ltype)temp;}%typemap(python, argout, fragment="t_output_helper") unsigned char digest[ANY]{    $result = t_output_helper($result,        PyString_FromString(svn_md5_digest_to_cstring ($1, _global_pool)));}%typemap(perl5, argout) unsigned char digest[ANY] {    ST(argvi) = sv_newmortal();    sv_setpv((SV*)ST(argvi++), svn_md5_digest_to_cstring ($1,_global_pool));}%typemap(ruby, argout, fragment="output_helper") unsigned char digest[ANY]{  char *digest_string = (char *)svn_md5_digest_to_cstring($1, _global_pool);  $result = output_helper($result, rb_str_new2(digest_string));}%typemap(ruby, in, numinputs=0) unsigned char **digest ($*1_type temp){    $1 = &temp;}%typemap(ruby, argout, fragment="output_helper") unsigned char **digest{  char *digest_string = (char *)svn_md5_digest_to_cstring(*$1, _global_pool);  $result = output_helper($result, rb_str_new2(digest_string));}/* svn_md5_* functions takes const ones as input */%typemap(perl5, in) const unsigned char digest[] {    SWIG_ConvertPtr($input, (void **)&$1, $1_descriptor, 0);}%typemap(perl5, argout) const unsigned char digest[] {}%typemap(ruby, in) const unsigned char *digest{  if (NIL_P($input)) {    $1 = NULL;  } else if (RSTRING($input)->len != APR_MD5_DIGESTSIZE) {    rb_raise(rb_eArgError, "digest size (%d) must be %d",             RSTRING($input)->len, APR_MD5_DIGESTSIZE);  } else {    $1 = ($1_ltype)StringValuePtr($input);  }}%typemap(ruby, argout) const unsigned char *digest {}/*   svn_txdelta_send_stream() uses *digest not digest[] .   svn_txdelta_apply() uses *result_digest not digest[] .*/%typemap(in, numinputs=0) unsigned char *result_digest {    $1 = (unsigned char *)apr_palloc(_global_pool, APR_MD5_DIGESTSIZE);}%typemap(perl5, argout) unsigned char *result_digest {    ST(argvi) = sv_newmortal();    ST(argvi++) = svn_swig_pl_from_md5($1);}%apply unsigned char digest[ANY] {    unsigned char *digest};#ifndef SWIGPERL%apply unsigned char digest[ANY] {    unsigned char *result_digest};#endif/* -----------------------------------------------------------------------  useful convertors for svn_opt_revision_t*/%typemap(perl5, in) svn_opt_revision_t * (svn_opt_revision_t rev) {    $1 = &rev;    if ($input == NULL || $input == &PL_sv_undef || !SvOK($input)) {        rev.kind = svn_opt_revision_unspecified;    }    else if (sv_isobject($input) && sv_derived_from($input, "_p_svn_opt_revision_t")) {        SWIG_ConvertPtr($input, (void **)&$1, $1_descriptor, 0);    }    else if (looks_like_number($input)) {        rev.kind = svn_opt_revision_number;        rev.value.number = SvIV($input);    }    else if (SvPOK($input)) {        char *input = SvPV_nolen($input);        if (strcasecmp(input, "BASE") == 0)            rev.kind = svn_opt_revision_base;        else if (strcasecmp(input, "HEAD") == 0)            rev.kind = svn_opt_revision_head;        else if (strcasecmp(input, "WORKING") == 0)            rev.kind = svn_opt_revision_working;        else if (strcasecmp(input, "COMMITTED") == 0)            rev.kind = svn_opt_revision_committed;        else if (strcasecmp(input, "PREV") == 0)            rev.kind = svn_opt_revision_previous;        else if (*input == '{') {            svn_boolean_t matched;            apr_time_t tm;            svn_error_t *err;            char *end = strchr(input,'}');            if (!end)                SWIG_croak("unknown opt_revision_t type");            *end = '\0';            err = svn_parse_date (&matched, &tm, input + 1, apr_time_now(),                                  svn_swig_pl_make_pool ((SV *)NULL));            if (err) {                svn_error_clear (err);                SWIG_croak("unknown opt_revision_t type");            }            if (!matched)                SWIG_croak("unknown opt_revision_t type");            rev.kind = svn_opt_revision_date;            rev.value.date = tm;        } else            SWIG_croak("unknown opt_revision_t type");    } else        SWIG_croak("unknown opt_revision_t type");}%typemap(ruby, in) svn_opt_revision_t * (svn_opt_revision_t rev) {  $1 = &rev;  svn_swig_rb_set_revision(&rev, $input);}/* -----------------------------------------------------------------------   apr_hash_t **dirents   svn_client_ls()   svn_io_get_dirents()   svn_ra get_dir()*/%typemap(python,in,numinputs=0) apr_hash_t **dirents = apr_hash_t **OUTPUT;%typemap(python,argout,fragment="t_output_helper") apr_hash_t **dirents {  $result = t_output_helper($result, svn_swig_py_convert_hash(*$1,     $descriptor(svn_dirent_t *), _global_svn_swig_py_pool));}%typemap(perl5,in,numinputs=0) apr_hash_t **dirents = apr_hash_t **OUTPUT;%typemap(perl5,argout) apr_hash_t **dirents {    ST(argvi++) = svn_swig_pl_convert_hash	(*$1, $descriptor(svn_dirent_t *));}%typemap(ruby, in, numinputs=0) apr_hash_t **dirents = apr_hash_t **OUTPUT;%typemap(ruby, argout, fragment="output_helper") apr_hash_t **dirents{  $result = output_helper($result,                          svn_swig_rb_apr_hash_to_hash_swig_type                            (*$1, "svn_dirent_t *"));}/* -----------------------------------------------------------------------   apr_hash_t **locks   svn_client_ls3()   svn_repos_fs_get_locks()   svn_ra_get_locks()*/%typemap(ruby, in, numinputs=0) apr_hash_t **locks = apr_hash_t **OUTPUT;%typemap(ruby, argout, fragment="output_helper") apr_hash_t **locks{  $result = output_helper($result,                          svn_swig_rb_apr_hash_to_hash_swig_type                            (*$1, "svn_lock_t *"));}/* -----------------------------------------------------------------------   apr_array_header_t *location_revisions   svn_repos_trace_node_locations()   svn_ra_get_locations()*/%typemap(ruby, in) apr_array_header_t *location_revisions{  $1 = svn_swig_rb_array_to_apr_array_revnum($input, _global_pool);}/* -----------------------------------------------------------------------   apr_hash_t **locations   svn_repos_trace_node_locations()   svn_ra_get_locations()*/%typemap(ruby, in, numinputs=0) apr_hash_t **locations = apr_hash_t **OUTPUT;%typemap(ruby, argout) apr_hash_t **locations{  $result = svn_swig_rb_apr_revnum_key_hash_to_hash_string(*$1);}/* -----------------------------------------------------------------------   Special boolean mapping for ruby.*/%typemap(ruby, in) svn_boolean_t "$1 = RTEST($input);";%typemap(ruby, out, fragment="output_helper") svn_boolean_t{  $result = output_helper($result, $1 ? Qtrue : Qfalse);}%typemap(ruby, in, numinputs=0) svn_boolean_t * (svn_boolean_t temp){  $1 = &temp;}%typemap(ruby, argout, fragment="output_helper") svn_boolean_t *{  $result = output_helper($result, *$1 ? Qtrue : Qfalse);}/* -----------------------------------------------------------------------   Handle python thread locking.   Swig doesn't allow us to specify a language in the %exception command,   so we have to use #ifdefs for the python-specific parts.*/%exception {#ifdef SWIGPYTHON    svn_swig_py_release_py_lock();#endif    $action#ifdef SWIGPYTHON    svn_swig_py_acquire_py_lock();#endif}/* -----------------------------------------------------------------------   handle config and fs_config in svn_{fs,repos}_create*/%typemap(ruby, in) apr_hash_t *config{  if (NIL_P($input)) {    $1 = NULL;  } else {    $1 = svn_swig_rb_hash_to_apr_hash_swig_type($input, "svn_config_t *", _global_pool);  }}%typemap(ruby, in) apr_hash_t *fs_config{  if (NIL_P($input)) {    $1 = NULL;  } else {    $1 = svn_swig_rb_hash_to_apr_hash_string($input, _global_pool);  }}/* ----------------------------------------------------------------------- */%{#ifdef SWIGPYTHON#include "swigutil_py.h"#endif#ifdef SWIGPERL#include "swigutil_pl.h"#endif#ifdef SWIGRUBY#include <apu.h>#include <apr_xlate.h>#include "swigutil_rb.h"#endif%}%include svn_time_h.swg%include svn_types_h.swg

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -