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

📄 svn_client.i

📁 subversion-1.4.3-1.tar.gz 配置svn的源码
💻 I
📖 第 1 页 / 共 2 页
字号:
    $2 = $input;}%typemap(perl5, in) (svn_auth_username_prompt_func_t prompt_func,                     void *prompt_baton) {    $1 = svn_swig_pl_thunk_username_prompt;    _global_callback = $input;    $2 = (void *) _global_callback;}%typemap(python, in) (svn_auth_username_prompt_func_t prompt_func,                      void *prompt_baton) {    $1 = svn_swig_py_auth_username_prompt_func;    $2 = $input;}%typemap(perl5, in) (svn_auth_ssl_server_trust_prompt_func_t prompt_func,                     void *prompt_baton) {    $1 = svn_swig_pl_thunk_ssl_server_trust_prompt;    _global_callback = $input;    $2 = (void *) _global_callback;}%typemap(python, in) (svn_auth_ssl_server_trust_prompt_func_t prompt_func,                     void *prompt_baton) {    $1 = svn_swig_py_auth_ssl_server_trust_prompt_func;    $2 = $input;}%typemap(perl5, in) (svn_auth_ssl_client_cert_prompt_func_t prompt_func,                      void *prompt_baton) {    $1 = svn_swig_pl_thunk_ssl_client_cert_prompt;    _global_callback = $input;    $2 = (void *) _global_callback;}%typemap(python, in) (svn_auth_ssl_client_cert_prompt_func_t prompt_func,                      void *prompt_baton) {    $1 = svn_swig_py_auth_ssl_client_cert_prompt_func;    $2 = $input;}%typemap(perl5, in) (svn_auth_ssl_client_cert_pw_prompt_func_t prompt_func,                      void *prompt_baton) {    $1 = svn_swig_pl_thunk_ssl_client_cert_pw_prompt;    _global_callback = $input;    $2 = (void *) _global_callback;}%typemap(python, in) (svn_auth_ssl_client_cert_pw_prompt_func_t prompt_func,                      void *prompt_baton) {    $1 = svn_swig_py_auth_ssl_client_cert_pw_prompt_func;    $2 = $input;}/* ----------------------------------------------------------------------- * For all the various functions that set a callback baton create a reference * for the baton (which in this case is an SV pointing to the callback) * and make that a return from the function.  The perl side should * then store the return in the object the baton is attached to. * If the function already returns a value then this value is follows that * function.  In the case of the prompt functions auth_open_helper in Core.pm * is used to split up these values.*/%typemap(perl5, argout) void *CALLBACK_BATON (SV * _global_callback) {  /* callback baton */  $result = sv_2mortal (newRV_inc (_global_callback)); argvi++; }%typemap(perl5, in) void *CALLBACK_BATON (SV * _global_callback) {  _global_callback = $input;  $1 = (void *) _global_callback;}#ifdef SWIGPERL%apply void *CALLBACK_BATON {  void *prompt_baton,  void *notify_baton,  void *log_msg_baton,  void *cancel_baton}#endif#ifdef SWIGRUBY%apply void *CALLBACK_BATON{  void *notify_baton2,  void *log_msg_baton2,  void *cancel_baton}#endif/* -----------------------------------------------------------------------  * Convert perl hashes back into apr_hash_t * for setting the config * member of the svn_client_ctx_t.   This is an ugly hack, it will * always allocate the new apr_hash_t out of the global current_pool * It would be better to make apr_hash_t's into magic variables in * perl that are tied to the apr_hash_t interface.  This would * remove the need to convert to and from perl hashs all the time. */%typemap(perl5, in) apr_hash_t *config {  $1 = svn_swig_pl_objs_to_hash_by_name ($input, "svn_config_t *",                                         svn_swig_pl_make_pool ((SV *)NULL));}%typemap(perl5, out) apr_hash_t *config {  $result = svn_swig_pl_convert_hash($1,     $descriptor(svn_config_t *));  argvi++;}#ifdef SWIGRUBY%runtime %{  #include <apr.h>  #include <apr_pools.h>  static apr_pool_t *  _svn_client_pool(void)   {    static apr_pool_t *__svn_client_pool = NULL;    if (!__svn_client_pool) {      apr_pool_create(&__svn_client_pool, NULL);    }    return __svn_client_pool;  }  static apr_pool_t *  _svn_client_config_pool(void)   {    static apr_pool_t *__svn_client_config_pool = NULL;    if (!__svn_client_config_pool) {      apr_pool_create(&__svn_client_config_pool, _svn_client_pool());    }    return __svn_client_config_pool;  }%}#endif%typemap(ruby, argout) apr_hash_t *config {  if ($1)    apr_pool_clear(_svn_client_config_pool());}%typemap(ruby, in) apr_hash_t *config {  $1 = svn_swig_rb_hash_to_apr_hash_swig_type($input, "svn_config_t *",                                              _svn_client_config_pool());}%typemap(ruby, out) apr_hash_t *config {  $result = svn_swig_rb_apr_hash_to_hash_swig_type($1, "svn_config_t *");}/* ----------------------------------------------------------------------- * override default typemap for svn_client_commit_info_t for perl.  Some calls * never allocate and fill the commit_info struct.  This lets us return * undef for them.  Otherwise the object we pass back can cause crashes */%typemap(perl5, in, numinputs=0) svn_client_commit_info_t **                                  ( svn_client_commit_info_t * temp ) {    temp = NULL;    $1 = &temp;}%typemap(perl5, argout) svn_client_commit_info_t ** {    if ($1 == NULL) {        $result = &PL_sv_undef;        argvi++;    }  else {        $result = sv_newmortal();        SWIG_MakePtr($result, (void *)*$1,                     $*1_descriptor, 0);        argvi++;    }}/* ----------------------------------------------------------------------- * wcprop_changes member of svn_client_commit_info needs to be * converted back and forth from an array */%typemap(perl5, out) apr_array_header_t *wcprop_changes {    $result = svn_swig_pl_convert_array($1,      $descriptor(svn_prop_t *));    argvi++;}/* ----------------------------------------------------------------------- * wrap svn_client_create_context */%typemap(perl5,in,numinputs=0) svn_client_ctx_t ** (svn_client_ctx_t *temp) {    $1 = &temp;}%typemap(perl5,argout) svn_client_ctx_t ** {  (*$1)->notify_func = svn_swig_pl_notify_func;  (*$1)->notify_baton = (void *) &PL_sv_undef;  (*$1)->log_msg_func = svn_swig_pl_get_commit_log_func;  (*$1)->log_msg_baton = (void *) &PL_sv_undef;  (*$1)->cancel_func = svn_swig_pl_cancel_func;  (*$1)->cancel_baton = (void *) &PL_sv_undef;  $result = sv_newmortal();  SWIG_MakePtr($result, (void *)*$1,               $*1_descriptor, 0);  argvi++;}  /* svn_client_update2 */%typemap(ruby, in, numinputs=0) apr_array_header_t **result_revs (apr_array_header_t *temp){  $1 = &temp;}%typemap(ruby, argout, fragment="output_helper") apr_array_header_t **result_revs{  $result = output_helper($result, svn_swig_rb_apr_array_to_array_svn_rev(*$1));}/* ----------------------------------------------------------------------- */%{#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_client_h.swg#ifdef SWIGRUBY%inline %{static VALUEsvn_client_set_log_msg_func2(svn_client_ctx_t *ctx,                             svn_client_get_commit_log2_t log_msg_func2,                             void *log_msg_baton2,                             apr_pool_t *pool){  ctx->log_msg_func2 = log_msg_func2;  ctx->log_msg_baton2 = log_msg_baton2;  return (VALUE)log_msg_baton2;} static VALUEsvn_client_set_notify_func2(svn_client_ctx_t *ctx,                            svn_wc_notify_func2_t notify_func2,                            void *notify_baton2,                            apr_pool_t *pool){  ctx->notify_func2 = notify_func2;  ctx->notify_baton2 = notify_baton2;  return (VALUE)notify_baton2;}static VALUEsvn_client_set_cancel_func(svn_client_ctx_t *ctx,                           svn_cancel_func_t cancel_func,                           void *cancel_baton,                           apr_pool_t *pool){  ctx->cancel_func = cancel_func;  ctx->cancel_baton = cancel_baton;  return (VALUE)cancel_baton;}%}#endif

⌨️ 快捷键说明

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