📄 swigutil_py.c
字号:
apr_array_header_t *commit_items, void *baton, apr_pool_t *pool){ PyObject *function = baton; PyObject *result; PyObject *cmt_items; svn_error_t *err; *log_msg = NULL; *tmp_file = NULL; /* ### todo: for now, just ignore the whole tmp_file thing. */ if ((function == NULL) || (function == Py_None)) return SVN_NO_ERROR; svn_swig_py_acquire_py_lock(); if (commit_items) { cmt_items = commit_item_array_to_list(commit_items); } else { cmt_items = Py_None; Py_INCREF(Py_None); } if ((result = PyObject_CallFunction(function, (char *)"OO&", cmt_items, make_ob_pool, pool)) == NULL) { Py_DECREF(cmt_items); err = callback_exception_error(); goto finished; } Py_DECREF(cmt_items); if (result == Py_None) { Py_DECREF(result); *log_msg = NULL; err = SVN_NO_ERROR; } else if (PyString_Check(result)) { *log_msg = apr_pstrdup(pool, PyString_AS_STRING(result)); Py_DECREF(result); err = SVN_NO_ERROR; } else { Py_DECREF(result); err = callback_bad_return_error("Not a string"); } finished: svn_swig_py_release_py_lock(); return err;}svn_error_t *svn_swig_py_repos_authz_func(svn_boolean_t *allowed, svn_fs_root_t *root, const char *path, void *baton, apr_pool_t *pool){ PyObject *function = baton; PyObject *result; PyObject *py_pool, *py_root; svn_error_t *err = SVN_NO_ERROR; *allowed = TRUE; if (function == NULL || function == Py_None) return SVN_NO_ERROR; svn_swig_py_acquire_py_lock(); py_pool = make_ob_pool(pool); if (py_pool == NULL) { err = callback_exception_error(); goto finished; } py_root = make_ob_fs_root(root, py_pool); if (py_root == NULL) { Py_DECREF(py_pool); err = callback_exception_error(); goto finished; } if ((result = PyObject_CallFunction(function, (char *)"OsO", py_root, path, py_pool)) == NULL) { err = callback_exception_error(); } else { if (PyInt_Check(result)) *allowed = PyInt_AsLong(result); else if (PyLong_Check(result)) *allowed = PyLong_AsLong(result); else err = callback_bad_return_error("Not an integer"); Py_DECREF(result); } Py_DECREF(py_root); Py_DECREF(py_pool);finished: svn_swig_py_release_py_lock(); return err;}svn_error_t *svn_swig_py_repos_history_func(void *baton, const char *path, svn_revnum_t revision, apr_pool_t *pool){ PyObject *function = baton; PyObject *result; svn_error_t *err = SVN_NO_ERROR; if (function == NULL || function == Py_None) return SVN_NO_ERROR; svn_swig_py_acquire_py_lock(); if ((result = PyObject_CallFunction(function, (char *)"slO&", path, revision, make_ob_pool, pool)) == NULL) { err = callback_exception_error(); } else { if (result != Py_None) err = callback_bad_return_error("Not None"); Py_DECREF(result); } svn_swig_py_release_py_lock(); return err;}svn_error_t *svn_swig_py_log_receiver(void *baton, apr_hash_t *changed_paths, svn_revnum_t rev, const char *author, const char *date, const char *msg, apr_pool_t *pool){ PyObject *receiver = baton; PyObject *result, *py_pool; PyObject *chpaths; svn_error_t *err = SVN_NO_ERROR; if ((receiver == NULL) || (receiver == Py_None)) return SVN_NO_ERROR; svn_swig_py_acquire_py_lock(); py_pool = make_ob_pool(pool); if (py_pool == NULL) { err = callback_exception_error(); goto finished; } if (changed_paths) { chpaths = convert_hash(changed_paths, convert_log_changed_path, NULL, NULL); } else { chpaths = Py_None; Py_INCREF(Py_None); } if ((result = PyObject_CallFunction(receiver, (char *)"OlsssO", chpaths, rev, author, date, msg, py_pool)) == NULL) { err = callback_exception_error(); } else { if (result != Py_None) err = callback_bad_return_error("Not None"); Py_DECREF(result); } Py_DECREF(chpaths); Py_DECREF(py_pool);finished: svn_swig_py_release_py_lock(); return err;}svn_error_t *svn_swig_py_info_receiver_func(void *baton, const char *path, const svn_info_t *info, apr_pool_t *pool){ PyObject *receiver = baton; PyObject *result; svn_error_t *err = SVN_NO_ERROR; if ((receiver == NULL) || (receiver == Py_None)) return SVN_NO_ERROR; svn_swig_py_acquire_py_lock(); if ((result = PyObject_CallFunction(receiver, (char *)"sO&O&", path, make_ob_info, info, make_ob_pool, pool)) == NULL) { err = callback_exception_error(); } else { if (result != Py_None) err = callback_bad_return_error("Not None"); Py_DECREF(result); } svn_swig_py_release_py_lock(); return err;}svn_error_t *svn_swig_py_client_blame_receiver_func(void *baton, apr_int64_t line_no, svn_revnum_t revision, const char *author, const char *date, const char *line, apr_pool_t *pool){ PyObject *receiver = baton; PyObject *result; svn_error_t *err = SVN_NO_ERROR; if ((receiver == NULL) || (receiver == Py_None)) return SVN_NO_ERROR; svn_swig_py_acquire_py_lock(); if ((result = PyObject_CallFunction(receiver, (char *) (SVN_APR_INT64_T_PYCFMT "lsssO&"), line_no, revision, author, date, line, make_ob_pool, pool)) == NULL) { err = callback_exception_error(); } else { if (result != Py_None) err = callback_bad_return_error("Not None"); Py_DECREF(result); } svn_swig_py_release_py_lock(); return err;}svn_error_t *svn_swig_py_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){ PyObject *function = baton; PyObject *result; svn_auth_cred_simple_t *creds = NULL; svn_error_t *err = SVN_NO_ERROR; if ((function == NULL) || (function == Py_None)) return SVN_NO_ERROR; svn_swig_py_acquire_py_lock(); if ((result = PyObject_CallFunction(function, (char *)"sslO&", realm, username, may_save, make_ob_pool, pool)) == NULL) { err = callback_exception_error(); } else { if (result != Py_None) { svn_auth_cred_simple_t *tmp_creds = NULL; if (svn_swig_ConvertPtrString(result, (void **)&tmp_creds, "svn_auth_cred_simple_t *")) { err = type_conversion_error("svn_auth_cred_simple_t *"); } else { creds = apr_pcalloc(pool, sizeof(*creds)); creds->username = tmp_creds->username ? \ apr_pstrdup(pool, tmp_creds->username) : NULL; creds->password = tmp_creds->password ? \ apr_pstrdup(pool, tmp_creds->password) : NULL; creds->may_save = tmp_creds->may_save; } } Py_DECREF(result); } svn_swig_py_release_py_lock(); *cred = creds; return err;}svn_error_t *svn_swig_py_auth_username_prompt_func(svn_auth_cred_username_t **cred, void *baton, const char *realm, svn_boolean_t may_save, apr_pool_t *pool){ PyObject *function = baton; PyObject *result; svn_auth_cred_username_t *creds = NULL; svn_error_t *err = SVN_NO_ERROR; if ((function == NULL) || (function == Py_None)) return SVN_NO_ERROR; svn_swig_py_acquire_py_lock(); if ((result = PyObject_CallFunction(function, (char *)"slO&", realm, may_save, make_ob_pool, pool)) == NULL) { err = callback_exception_error(); } else { if (result != Py_None) { svn_auth_cred_username_t *tmp_creds = NULL; if (svn_swig_ConvertPtrString(result, (void **)&tmp_creds, "svn_auth_cred_username_t *")) { err = type_conversion_error("svn_auth_cred_username_t *"); } else { creds = apr_pcalloc(pool, sizeof(*creds)); creds->username = tmp_creds->username ? \ apr_pstrdup(pool, tmp_creds->username) : NULL; creds->may_save = tmp_creds->may_save; } } Py_DECREF(result); } svn_swig_py_release_py_lock(); *cred = creds; return err;}svn_error_t *svn_swig_py_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){ PyObject *function = baton; PyObject *result; svn_auth_cred_ssl_server_trust_t *creds = NULL; svn_error_t *err = SVN_NO_ERROR; if ((function == NULL) || (function == Py_None)) return SVN_NO_ERROR; svn_swig_py_acquire_py_lock(); if ((result = PyObject_CallFunction(function, (char *)"slO&lO&", realm, failures, make_ob_auth_ssl_server_cert_info, cert_info, may_save, make_ob_pool, pool)) == NULL) { err = callback_exception_error(); } else { if (result != Py_None) { svn_auth_cred_ssl_server_trust_t *tmp_creds = NULL; if (svn_swig_ConvertPtrString (result, (void **)&tmp_creds, "svn_auth_cred_ssl_server_trust_t *")) { err = type_conversion_error ("svn_auth_cred_ssl_server_trust_t *"); } else { creds = apr_pcalloc(pool, sizeof(*creds)); *creds = *tmp_creds; } } Py_DECREF(result); } svn_swig_py_release_py_lock(); *cred = creds; return err;}svn_error_t *svn_swig_py_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){ PyObject *function = baton; PyObject *result; svn_auth_cred_ssl_client_cert_t *creds = NULL; svn_error_t *err = SVN_NO_ERROR; if ((function == NULL) || (function == Py_None)) return SVN_NO_ERROR; svn_swig_py_acquire_py_lock(); if ((result = PyObject_CallFunction(function, (char *)"slO&", realm, may_save, make_ob_pool, pool)) == NULL) { err = callback_exception_error(); } else { if (result != Py_None) { svn_auth_cred_ssl_client_cert_t *tmp_creds = NULL; if (svn_swig_ConvertPtrString (result, (void **)&tmp_creds, "svn_auth_cred_ssl_client_cert_t *")) { err = type_conversion_error("svn_auth_cred_ssl_client_cert_t *"); } else { creds = apr_pcalloc(pool, sizeof(*creds)); creds->cert_file = tmp_creds->cert_file ? \ apr_pstrdup(pool, tmp_creds->cert_file) : NULL; creds->may_save = tmp_creds->may_save; } } Py_DECREF(result); } svn_swig_py_release_py_lock(); *cred = creds; return err;}svn_error_t *svn_swig_py_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){ PyObject *function = baton; PyObject *result; svn_auth_cred_ssl_client_cert_pw_t *creds = NULL; svn_error_t *err = SVN_NO_ERROR; if ((function == NULL) || (function == Py_None)) return SVN_NO_ERROR; svn_swig_py_acquire_py_lock(); if ((result = PyObject_CallFunction(function, (char *)"slO&", realm, may_save, make_ob_pool, pool)) == NULL) { err = callback_exception_error(); } else { if (result != Py_None) { svn_auth_cred_ssl_client_cert_pw_t *tmp_creds = NULL; if (svn_swig_ConvertPtrString (result, (void **)&tmp_creds, "svn_auth_cred_ssl_client_cert_pw_t *")) { err = type_conversion_error ("svn_auth_cred_ssl_client_cert_pw_t *"); } else { creds = apr_pcalloc(pool, sizeof(*creds)); creds->password = tmp_creds->password ? \ apr_pstrdup(pool, tmp_creds->password) : NULL; creds->may_save = tmp_creds->may_save; } } Py_DECREF(result); } svn_swig_py_release_py_lock(); *cred = creds; return err;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -