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

📄 swigutil_rb.c

📁 subversion-1.4.3-1.tar.gz 配置svn的源码
💻 C
📖 第 1 页 / 共 5 页
字号:
                          const char *name,                          const svn_string_t *value,                          apr_pool_t *pool){  VALUE callbacks = (VALUE)baton;  svn_error_t *err = SVN_NO_ERROR;  if (!NIL_P(callbacks)) {    VALUE args;    args = rb_ary_new3(5,                       callbacks,                       rb_id_push_wc_prop(),                       c2r_string2(path),                       c2r_string2(name),                       c2r_svn_string((void *)value, NULL));        invoke_callback_handle_error(args, Qnil, &err);  }    return err;}static svn_error_t *ra_callbacks_invalidate_wc_props(void *baton,                                 const char *path,                                 const char *name,                                 apr_pool_t *pool){  VALUE callbacks = (VALUE)baton;  svn_error_t *err = SVN_NO_ERROR;  if (!NIL_P(callbacks)) {    VALUE args;    args = rb_ary_new3(4,                       callbacks,                       rb_id_invalidate_wc_props(),                       c2r_string2(path),                       c2r_string2(name));        invoke_callback_handle_error(args, Qnil, &err);  }    return err;}static voidra_callbacks_progress_func(apr_off_t progress,                           apr_off_t total,                           void *baton,                           apr_pool_t *pool){  VALUE callbacks = (VALUE)baton;  if (!NIL_P(callbacks)) {    VALUE args;    args = rb_ary_new3(4,                       callbacks,                       rb_id_progress_func(),                       sizeof(apr_off_t) == sizeof(long long) ?                         LL2NUM(progress):                         LONG2NUM(progress),                       sizeof(apr_off_t) == sizeof(long long) ?                         LL2NUM(total):                         LONG2NUM(total));        invoke_callback(args, Qnil);  }}voidsvn_swig_rb_setup_ra_callbacks(svn_ra_callbacks2_t **callbacks,                               void **baton,                               VALUE rb_callbacks,                               apr_pool_t *pool){  VALUE rb_auth_baton;  rb_auth_baton = rb_funcall(rb_callbacks, rb_id_auth_baton(), 0);    *callbacks = apr_pcalloc(pool, sizeof(**callbacks));    (*callbacks)->open_tmp_file = ra_callbacks_open_tmp_file;  (*callbacks)->auth_baton = r2c_swig_type(rb_auth_baton,                                           (void *)"svn_auth_baton_t *",                                           pool);  (*callbacks)->get_wc_prop = ra_callbacks_get_wc_prop;  (*callbacks)->set_wc_prop = ra_callbacks_set_wc_prop;  (*callbacks)->push_wc_prop = ra_callbacks_push_wc_prop;  (*callbacks)->invalidate_wc_props = ra_callbacks_invalidate_wc_props;  (*callbacks)->progress_func = ra_callbacks_progress_func;  (*callbacks)->progress_baton = (void *)rb_callbacks;}svn_error_t *svn_swig_rb_ra_lock_callback(void *baton,                             const char *path,                             svn_boolean_t do_lock,                             const svn_lock_t *lock,                             svn_error_t *ra_err,                             apr_pool_t *pool){  svn_error_t *err = SVN_NO_ERROR;  VALUE proc, rb_pool;  svn_swig_rb_from_baton((VALUE)baton, &proc, &rb_pool);  if (!NIL_P(proc)) {    VALUE args;    args = rb_ary_new3(6,                       proc,                       rb_id_call(),                       c2r_string2(path),                       do_lock ? Qtrue : Qfalse,                       c2r_lock__dup(lock),                       ra_err ?                       svn_swig_rb_svn_error_to_rb_error(ra_err) :                       Qnil);    invoke_callback_handle_error(args, rb_pool, &err);  }    return err;}svn_error_t *svn_swig_rb_just_call(void *baton){  svn_error_t *err = SVN_NO_ERROR;  VALUE proc, rb_pool;  svn_swig_rb_from_baton((VALUE)baton, &proc, &rb_pool);  if (!NIL_P(proc)) {    VALUE args;    args = rb_ary_new3(2,                       proc,                       rb_id_call());    invoke_callback_handle_error(args, rb_pool, &err);  }    return err;}svn_error_t *svn_swig_rb_ra_file_rev_handler(void *baton,                                const char *path,                                svn_revnum_t rev,                                apr_hash_t *rev_props,                                svn_txdelta_window_handler_t *delta_handler,                                void **delta_baton,                                apr_array_header_t *prop_diffs,                                apr_pool_t *pool){  svn_error_t *err = SVN_NO_ERROR;  VALUE proc, rb_pool;  svn_swig_rb_from_baton((VALUE)baton, &proc, &rb_pool);  if (!NIL_P(proc)) {    VALUE args;    args = rb_ary_new3(6,                       proc,                       rb_id_call(),                       c2r_string2(path),                       c2r_long(&rev, NULL),                       svn_swig_rb_apr_hash_to_hash_svn_string(rev_props),                       svn_swig_rb_apr_array_to_array_prop(prop_diffs));        invoke_callback_handle_error(args, rb_pool, &err);  }    return err;}svn_error_t *svn_swig_rb_repos_history_func(void *baton,                               const char *path,                               svn_revnum_t revision,                               apr_pool_t *pool){  svn_error_t *err = SVN_NO_ERROR;  VALUE proc, rb_pool;  svn_swig_rb_from_baton((VALUE)baton, &proc, &rb_pool);  if (!NIL_P(proc)) {    VALUE args, result = Qnil;    args = rb_ary_new3(4,                       proc,                       rb_id_call(),                       c2r_string2(path),                       c2r_long(&revision, NULL));        result = invoke_callback_handle_error(args, rb_pool, &err);    if (!err && SVN_ERR_P(result)) {      err = r2c_svn_err(result, NULL, NULL);    }  }    return err;}svn_error_t *svn_swig_rb_repos_file_rev_handler(void *baton,                                   const char *path,                                   svn_revnum_t rev,                                   apr_hash_t *rev_props,                                   svn_txdelta_window_handler_t *delta_handler,                                   void **delta_baton,                                   apr_array_header_t *prop_diffs,                                   apr_pool_t *pool){  svn_error_t *err = SVN_NO_ERROR;  VALUE proc, rb_pool;  svn_swig_rb_from_baton((VALUE)baton, &proc, &rb_pool);  if (!NIL_P(proc)) {    VALUE args;    args = rb_ary_new3(6,                       proc,                       rb_id_call(),                       c2r_string2(path),                       c2r_long(&rev, NULL),                       svn_swig_rb_apr_hash_to_hash_svn_string(rev_props),                       svn_swig_rb_apr_array_to_array_prop(prop_diffs));        invoke_callback_handle_error(args, rb_pool, &err);  }    return err;}svn_error_t *svn_swig_rb_wc_relocation_validator2(void *baton,                                     const char *uuid,                                     const char *url,                                     svn_boolean_t root,                                     apr_pool_t *pool){  svn_error_t *err = SVN_NO_ERROR;  VALUE proc, rb_pool;  svn_swig_rb_from_baton((VALUE)baton, &proc, &rb_pool);  if (!NIL_P(proc)) {    VALUE args;    args = rb_ary_new3(5,                       proc,                       rb_id_call(),                       c2r_string2(uuid),                       c2r_string2(url),                       root ? Qtrue : Qfalse);    invoke_callback_handle_error(args, rb_pool, &err);  }  return err;}/* auth provider callbacks */svn_error_t *svn_swig_rb_auth_simple_prompt_func(svn_auth_cred_simple_t **cred,                                    void *baton,                                    const char *realm,                                    const char *username,                                    svn_boolean_t may_save,                                    apr_pool_t *pool){  svn_auth_cred_simple_t *new_cred = NULL;  svn_error_t *err = SVN_NO_ERROR;  VALUE proc, rb_pool;  svn_swig_rb_from_baton((VALUE)baton, &proc, &rb_pool);  if (!NIL_P(proc)) {    VALUE args;    VALUE result;        args = rb_ary_new3(5,                       proc,                       rb_id_call(),                       c2r_string2(realm),                       c2r_string2(username),                       RTEST(may_save) ? Qtrue : Qfalse);    result = invoke_callback_handle_error(args, rb_pool, &err);    if (!NIL_P(result)) {      void *result_cred = NULL;      svn_auth_cred_simple_t *tmp_cred = NULL;            r2c_swig_type2(result, "svn_auth_cred_simple_t *", &result_cred);      tmp_cred = (svn_auth_cred_simple_t *)result_cred;      new_cred = apr_pcalloc(pool, sizeof(*new_cred));      new_cred->username = tmp_cred->username ? \        apr_pstrdup(pool, tmp_cred->username) : NULL;      new_cred->password = tmp_cred->password ? \        apr_pstrdup(pool, tmp_cred->password) : NULL;      new_cred->may_save = tmp_cred->may_save;    }  }    *cred = new_cred;  return err;}svn_error_t *svn_swig_rb_auth_username_prompt_func(svn_auth_cred_username_t **cred,                                      void *baton,                                      const char *realm,                                      svn_boolean_t may_save,                                      apr_pool_t *pool){  svn_auth_cred_username_t *new_cred = NULL;  svn_error_t *err = SVN_NO_ERROR;  VALUE proc, rb_pool;  svn_swig_rb_from_baton((VALUE)baton, &proc, &rb_pool);  if (!NIL_P(proc)) {    VALUE args;    VALUE result;    args = rb_ary_new3(4,                       proc,                       rb_id_call(),                       c2r_string2(realm),                       RTEST(may_save) ? Qtrue : Qfalse);    result = invoke_callback_handle_error(args, rb_pool, &err);    if (!NIL_P(result)) {      void *result_cred = NULL;      svn_auth_cred_username_t *tmp_cred = NULL;            r2c_swig_type2(result, "svn_auth_cred_username_t *", &result_cred);      tmp_cred = (svn_auth_cred_username_t *)result_cred;      new_cred = apr_pcalloc(pool, sizeof(*new_cred));      new_cred->username = tmp_cred->username ? \        apr_pstrdup(pool, tmp_cred->username) : NULL;      new_cred->may_save = tmp_cred->may_save;    }  }    *cred = new_cred;  return err;}svn_error_t *svn_swig_rb_auth_ssl_server_trust_prompt_func(  svn_auth_cred_ssl_server_trust_t **cred,  void *baton,  const char *realm,  apr_uint32_t failures,  const svn_auth_ssl_server_cert_info_t *cert_info,  svn_boolean_t may_save,  apr_pool_t *pool){  svn_auth_cred_ssl_server_trust_t *new_cred = NULL;  svn_error_t *err = SVN_NO_ERROR;  VALUE proc, rb_pool;  svn_swig_rb_from_baton((VALUE)baton, &proc, &rb_pool);  if (!NIL_P(proc)) {    VALUE args;    VALUE result;    args = rb_ary_new3(6,                       proc,                       rb_id_call(),                       c2r_string2(realm),                       UINT2NUM(failures),                       c2r_auth_ssl_server_cert_info__dup(cert_info),                       RTEST(may_save) ? Qtrue : Qfalse);    result = invoke_callback_handle_error(args, rb_pool, &err);    if (!NIL_P(result)) {      void *result_cred;      svn_auth_cred_ssl_server_trust_t *tmp_cred = NULL;            r2c_swig_type2(result, "svn_auth_cred_ssl_server_trust_t *",                     &result_cred);      tmp_cred = (svn_auth_cred_ssl_server_trust_t *)result_cred;      new_cred = apr_pcalloc(pool, sizeof(*new_cred));      *new_cred = *tmp_cred;    }  }    *cred = new_cred;  return err;}svn_error_t *svn_swig_rb_auth_ssl_client_cert_prompt_func(  svn_auth_cred_ssl_client_cert_t **cred,  void *baton,  const char *realm,  svn_boolean_t may_save,  apr_pool_t *pool){  svn_auth_cred_ssl_client_cert_t *new_cred = NULL;  svn_error_t *err = SVN_NO_ERROR;  VALUE proc, rb_pool;  svn_swig_rb_from_baton((VALUE)baton, &proc, &rb_pool);  if (!NIL_P(proc)) {    VALUE args;    VALUE result;    args = rb_ary_new3(4,                       proc,                       rb_id_call(),                       c2r_string2(realm),                       RTEST(may_save) ? Qtrue : Qfalse);    result = invoke_callback_handle_error(args, rb_pool, &err);    if (!NIL_P(result)) {      void *result_cred = NULL;      svn_auth_cred_ssl_client_cert_t *tmp_cred = NULL;            r2c_swig_type2(result, "svn_auth_cred_ssl_client_cert_t *",                     &result_cred);      tmp_cred = (svn_auth_cred_ssl_client_cert_t *)result_cred;      new_cred = apr_pcalloc(pool, sizeof(*new_cred));      new_cred->cert_file = tmp_cred->cert_file ? \        apr_pstrdup(pool, tmp_cred->cert_file) : NULL;      new_cred->may_save = tmp_cred->may_save;    }  }    *cred = new_cred;  return err;}svn_error_t *svn_swig_rb_auth_ssl_client_cert_pw_prompt_func(  svn_auth_cred_ssl_client_cert_pw_t **cred,  void *baton,  const char *realm,  svn_boolean_t may_save,  apr_pool_t *pool){  svn_auth_cred_ssl_client_cert_pw_t *new_cred = NULL;  svn_error_t *err = SVN_NO_ERROR;  VALUE proc, rb_pool;  svn_swig_rb_from_baton((VALUE)baton, &proc, &rb_pool);  if (!NIL_P(proc)) {    VALUE args;    VALUE result;    args = rb_ary_new3(4,                       proc,                       rb_id_call(),                       c2r_string2(realm),                       RTEST(may_save) ? Qtrue : Qfalse);    result = invoke_callback_handle_error(args, rb_pool, &err);    if (!NIL_P(result)) {      void *result_cred = NULL;      svn_auth_cred_ssl_client_cert_pw_t *tmp_cred = NULL;            r2c_swig_type2(result, "svn_auth_cred_ssl_client_cert_pw_t *",                     &result_cred);      tmp_cred = (svn_auth_cred_ssl_client_cert_pw_t *)result_cred;      new_cred = apr_pcalloc(pool, sizeo

⌨️ 快捷键说明

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