📄 svn_client.i
字号:
/*
* 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/.
* ====================================================================
*/
#ifdef SWIGPERL
%module "SVN::_Client"
#else
%module client
#endif
%include typemaps.i
%import apr.i
%import svn_types.i
%import svn_string.i
%import svn_delta.i
/* -----------------------------------------------------------------------
don't wrap the following items
*/
#ifndef SWIGPERL
%ignore svn_client_proplist_item_t;
#endif
/* -----------------------------------------------------------------------
these types (as 'type **') will always be an OUT param
*/
%apply SWIGTYPE **OUTPARAM {
svn_client_commit_info_t **,
svn_auth_provider_object_t **,
svn_client_ctx_t **
};
/* -----------------------------------------------------------------------
all "targets" and "diff_options" arrays are constant inputs of
svn_stringbuf_t *
*/
%apply const apr_array_header_t *STRINGLIST {
const apr_array_header_t *targets,
const apr_array_header_t *diff_options
};
/* -----------------------------------------------------------------------
fix up the return hash for svn_client_propget()
*/
%apply apr_hash_t **PROPHASH { apr_hash_t **props };
/* -----------------------------------------------------------------------
handle the return value for svn_client_proplist()
*/
%typemap(python,in,numinputs=0) apr_array_header_t ** (apr_array_header_t *temp) {
$1 = &temp;
}
%typemap(python,argout,fragment="t_output_helper") apr_array_header_t ** {
svn_client_proplist_item_t **ppitem;
int i;
int nelts = (*$1)->nelts;
PyObject *list = PyList_New(nelts);
if (list == NULL)
return NULL;
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);
return NULL;
}
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(perl5,in,numinputs=0) apr_array_header_t ** (apr_array_header_t *temp)
{
$1 = &temp;
}
%typemap(perl5,argout) apr_array_header_t ** {
$result = svn_swig_pl_convert_array(*$1,SWIG_TypeQuery(
"svn_client_proplist_item_t *"));
argvi++;
}
%typemap(perl5,out) apr_hash_t *prop_hash {
$result = svn_swig_pl_prophash_to_hash($1);
argvi++;
}
/* -----------------------------------------------------------------------
handle svn_wc_notify_func_t/baton pairs
*/
%typemap(python,in) (svn_wc_notify_func_t notify_func, void *notify_baton) {
$1 = svn_swig_py_notify_func;
$2 = $input; /* our function is the baton. */
}
%typemap(java,in) (svn_wc_notify_func_t notify_func, void *notify_baton) {
$1 = svn_swig_java_notify_func;
$2 = (void*)$input; /* our function is the baton. */
}
%typemap(jni) svn_wc_notify_func_t "jobject"
%typemap(jtype) svn_wc_notify_func_t "org.tigris.subversion.wc.Notifier"
%typemap(jstype) svn_wc_notify_func_t "org.tigris.subversion.wc.Notifier"
%typemap(javain) svn_wc_notify_func_t "$javainput"
%typemap(javaout) svn_wc_notify_func_t {
return $jnicall;
}
/* -----------------------------------------------------------------------
handle svn_wc_notify_func_t/baton pairs
*/
%typemap(python,in) (svn_wc_status_func_t status_func, void *status_baton) {
$1 = svn_swig_py_status_func;
$2 = $input; /* our function is the baton. */
}
%typemap(perl5,in) (svn_wc_status_func_t status_func, void *status_baton) {
$1 = svn_swig_pl_status_func;
$2 = $input; /* our function is the baton. */
}
/* -----------------------------------------------------------------------
handle svn_client_get_commit_log_t/baton pairs
*/
%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(java,in) (svn_client_get_commit_log_t log_msg_func,
void *log_msg_baton) {
$1 = svn_swig_java_get_commit_log_func;
$2 = (void*)$input; /* our function is the baton. */
}
%typemap(jni) svn_client_get_commit_log_t "jobject"
%typemap(jtype) svn_client_get_commit_log_t "org.tigris.subversion.client.ClientPrompt"
%typemap(jstype) svn_client_get_commit_log_t "org.tigris.subversion.client.ClientPrompt"
%typemap(javain) svn_client_get_commit_log_t "$javainput"
%typemap(javaout) svn_client_get_commit_log_t {
return $jnicall;
}
/* -----------------------------------------------------------------------
handle svn_client_prompt_t/baton pairs
*/
%typemap(java,memberin) (svn_client_prompt_t prompt_func,
void *prompt_baton) {
//$1 = svn_swig_java_client_prompt_func;
//$2 = svn_swig_java_make_callback_baton(jenv, $input, _global_pool);
}
%typemap(java,in) (svn_client_prompt_t prompt_func,
void *prompt_baton) {
$1 = svn_swig_java_client_prompt_func;
$2 = svn_swig_java_make_callback_baton(jenv, $input, _global_pool);
}
%typemap(java, jni) svn_client_prompt_t "jobject"
%typemap(java, jtype) svn_client_prompt_t "org.tigris.subversion.client.ClientPrompt"
%typemap(java, jstype) svn_client_prompt_t "org.tigris.subversion.client.ClientPrompt"
%typemap(java, javain) svn_client_prompt_t "$javainput"
/* -----------------------------------------------------------------------
handle svn_log_message_receiver_t/baton pairs
*/
%typemap(java,in) (svn_log_message_receiver_t receiver,
void *receiver_baton) {
$1 = svn_swig_java_log_message_receiver;
$2 = (void*)$input; /* our function is the baton. */
}
%typemap(jni) svn_log_message_receiver_t "jobject"
%typemap(jtype) svn_log_message_receiver_t "org.tigris.subversion.client.LogMessageReceiver"
%typemap(jstype) svn_log_message_receiver_t "org.tigris.subversion.client.LogMessageReceiver"
%typemap(javain) svn_log_message_receiver_t "$javainput"
%typemap(javaout) svn_log_message_receiver_t {
return $jnicall;
}
/* -----------------------------------------------------------------------
handle svn_client_blame_receiver_t/baton pairs
*/
%typemap(perl5,in) (svn_client_blame_receiver_t receiver, void *receiver_baton) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -