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

📄 svn_client.i

📁 subversion-1.4.5.tar.gz 配置svn的源码
💻 I
📖 第 1 页 / 共 2 页
字号:
/* * svn_client.i :  SWIG interface file for svn_client.h * * ==================================================================== * Copyright (c) 2000-2003 CollabNet.  All rights reserved. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution.  The terms * are also available at http://subversion.tigris.org/license-1.html. * If newer versions of this license are posted there, you may use a * newer version instead, at your option. * * This software consists of voluntary contributions made by many * individuals.  For exact contribution history, see the revision * history and logs, available at http://subversion.tigris.org/. * ==================================================================== */#if defined(SWIGPERL)%module "SVN::_Client"#elif defined(SWIGRUBY)%module "svn::ext::client"#else%module client#endif%include typemaps.i%include svn_global.swg%import core.i%import apr.swg%import svn_types.swg%import svn_string.swg%import svn_delta.i%import svn_wc.i/* FIXME: Temporarily kludge around accidental %inclusion of svn_diff_h.swg * via the autogenerated svn_client_h.swg (resulting in the wrapping of the * svn_diff.h APIs) by %importing it first. */%import svn_diff_h.swg/* -----------------------------------------------------------------------   %apply-ing of typemaps defined elsewhere*/%apply SWIGTYPE **OUTPARAM {  svn_client_commit_info_t **,  svn_auth_provider_object_t **,  svn_client_ctx_t **};%apply const apr_array_header_t *STRINGLIST {    const apr_array_header_t *targets,    const apr_array_header_t *diff_options};%apply const char *MAY_BE_NULL {    const char *native_eol,    const char *comment};/* svn_client_propget(), svn_client_proplist(), svn_client_revprop_list() */%apply apr_hash_t **PROPHASH { apr_hash_t **props };/* svn_client_url_from_path(), svn_client_uuid_from_url() * svn_client_uuid_from_path */%apply const char **OUTPUT {    const char **url,    const char **uuid};#ifdef SWIGPYTHON%apply svn_stream_t *WRAPPED_STREAM { svn_stream_t * };#endif/* -----------------------------------------------------------------------   svn_client_proplist()   returns apr_array_header_t * <svn_client_proplist_item_t *>*/%typemap(in, numinputs=0) apr_array_header_t **props (apr_array_header_t *temp) {    $1 = &temp;}/* svn_client_proplist_item_t is used exclusively for svn_client_proplist().   The python bindings convert it to a native python tuple. */#ifdef SWIGPYTHON    %ignore svn_client_proplist_item_t;#endif%typemap(python, argout, fragment="t_output_helper") apr_array_header_t **props{    svn_client_proplist_item_t **ppitem;    int i;    int nelts = (*$1)->nelts;    PyObject *list = PyList_New(nelts);    if (list == NULL)        SWIG_fail;    ppitem = (svn_client_proplist_item_t **)(*$1)->elts;    for (i = 0; i < nelts; ++i, ++ppitem) {        PyObject *item = PyTuple_New(2);        PyObject *name = PyString_FromStringAndSize((*ppitem)->node_name->data,                                                    (*ppitem)->node_name->len);        PyObject *hash = svn_swig_py_prophash_to_dict((*ppitem)->prop_hash);        if (item == NULL || name == NULL || hash == NULL) {            Py_XDECREF(item);            Py_XDECREF(name);            Py_XDECREF(hash);            Py_DECREF(list);            SWIG_fail;        }        PyTuple_SET_ITEM(item, 0, name);        PyTuple_SET_ITEM(item, 1, hash);        PyList_SET_ITEM(list, i, item);    }    $result = t_output_helper($result, list);}%typemap(ruby, argout) apr_array_header_t **props{  $result = svn_swig_rb_apr_array_to_array_proplist_item(*$1);}%typemap(ruby, out) apr_hash_t *prop_hash{  $result = svn_swig_rb_prop_hash_to_hash($1);}%typemap(perl5,argout) apr_array_header_t **props {    $result = svn_swig_pl_convert_array(*$1,      $descriptor(svn_client_proplist_item_t *));    argvi++;}%typemap(perl5,out) apr_hash_t *prop_hash {    $result = svn_swig_pl_prophash_to_hash($1);    argvi++;}/* -----------------------------------------------------------------------   Callback: svn_client_get_commit_log_t   svn_client_ctx_t*/%typemap(python,in) (svn_client_get_commit_log_t log_msg_func,                      void *log_msg_baton) {  $1 = svn_swig_py_get_commit_log_func;  $2 = $input; /* our function is the baton. */}%typemap(ruby, in) (svn_client_get_commit_log2_t log_msg_func2,                    void *log_msg_baton2){  $1 = svn_swig_rb_get_commit_log_func2;  $2 = (void *)svn_swig_rb_make_baton($input, _global_svn_swig_rb_pool);}/* -----------------------------------------------------------------------   Callback: svn_cancel_func_t   svn_client_ctx_t*/%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);}/* -----------------------------------------------------------------------   Callback: svn_wc_notify_func2_t   svn_client_ctx_t*/%typemap(ruby, in) (svn_wc_notify_func2_t notify_func2, void *notify_baton2){  $1 = svn_swig_rb_notify_func2;  $2 = (void *)svn_swig_rb_make_baton($input, _global_svn_swig_rb_pool);}/* -----------------------------------------------------------------------   Callback: svn_client_blame_receiver_t   svn_client_blame()*/%typemap(python, in) (svn_client_blame_receiver_t receiver,                       void *receiver_baton) {    $1 = svn_swig_py_client_blame_receiver_func;    $2 = (void *)$input;}%typemap(perl5, in) (svn_client_blame_receiver_t receiver,                     void *receiver_baton) {  $1 = svn_swig_pl_blame_func;  $2 = $input; /* our function is the baton. */}%typemap(ruby, in) (svn_client_blame_receiver_t receiver,                    void *receiver_baton){  $1 = svn_swig_rb_client_blame_receiver_func;  $2 = (void *)svn_swig_rb_make_baton($input, _global_svn_swig_rb_pool);}/* -----------------------------------------------------------------------   Callback: svn_info_receiver_t   svn_client_info()*/%typemap(python, in) (svn_info_receiver_t receiver,                       void *receiver_baton) {    $1 = svn_swig_py_info_receiver_func;    $2 = (void *)$input;}/* -----------------------------------------------------------------------   Callback: svn_client_diff_summarize_func_t   svn_client_diff_summarize()   svn_client_diff_summarize_peg()*/%typemap(ruby, in) (svn_client_diff_summarize_func_t summarize_func,                    void *summarize_baton){  $1 = svn_swig_rb_client_diff_summarize_func;  $2 = (void *)svn_swig_rb_make_baton($input, _global_svn_swig_rb_pool);}/* -----------------------------------------------------------------------   Callback: svn_client_list_func_t   svn_client_list()*/%typemap(ruby, in) (svn_client_list_func_t list_func, void *baton){  $1 = svn_swig_rb_client_list_func;  $2 = (void *)svn_swig_rb_make_baton($input, _global_svn_swig_rb_pool);}/* -----------------------------------------------------------------------   We use 'svn_wc_status_t *' in some custom code, but it isn't in the   API anywhere. Thus, SWIG doesn't generate a typemap entry for it. by   adding a simple declaration here, SWIG will insert a name for it.   FIXME: This may be untrue. See svn_wc_status, etc.*/%types(svn_wc_status_t *);/* We also need SWIG to wrap svn_dirent_t and svn_lock_t for us.  They   don't appear in any API, but svn_client_ls returns a hash of pointers   to dirents and locks. */%types(svn_dirent_t *);%types(svn_lock_t *);/* -----------------------------------------------------------------------  thunk the various authentication prompt functions.  PERL NOTE: store the inputed SV in _global_callback for use in the             later argout typemap*/%typemap(perl5, in) (svn_auth_simple_prompt_func_t prompt_func,                     void *prompt_baton) {    $1 = svn_swig_pl_thunk_simple_prompt;    _global_callback = $input;    $2 = (void *) _global_callback;}%typemap(python, in) (svn_auth_simple_prompt_func_t prompt_func,                      void *prompt_baton) {    $1 = svn_swig_py_auth_simple_prompt_func;

⌨️ 快捷键说明

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