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

📄 svn_delta.i

📁 subversion-1.4.3-1.tar.gz 配置svn的源码
💻 I
字号:
/* * svn_delta.i :  SWIG interface file for svn_delta.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::_Delta"#elif defined(SWIGRUBY)%module "svn::ext::delta"#else%module delta#endif%include typemaps.i%include svn_global.swg%import apr.swg%import core.i%import svn_types.swg%import svn_string.swg/* -----------------------------------------------------------------------   %apply-ing of typemaps defined elsewhere*/%apply SWIGTYPE **OUTPARAM {    svn_txdelta_stream_t **,    void **,    svn_txdelta_window_t **,    const svn_delta_editor_t **,    svn_txdelta_window_handler_t *};%apply const char *MAY_BE_NULL {    const char *error_info,    const char *copyfrom_path,    const char *copy_path,    const char *base_checksum};#ifdef SWIGPYTHON%apply svn_stream_t *WRAPPED_STREAM { svn_stream_t * };#endif/* -----------------------------------------------------------------------   mark window.new_data as readonly since we would need a pool to set it   properly (e.g. to allocate an svn_string_t structure).*/%immutable svn_txdelta_window_t::new_data;/* -----------------------------------------------------------------------   thunk editors for the various language bindings.*/#ifdef SWIGPYTHONvoid svn_swig_py_make_editor(const svn_delta_editor_t **editor,                             void **edit_baton,                             PyObject *py_editor,                             apr_pool_t *pool);#endif%typemap(perl5, in) (const svn_delta_editor_t *editor, void *edit_baton) {    svn_delta_make_editor(&$1, &$2, $input, _global_pool);}%typemap(ruby, in) (const svn_delta_editor_t *EDITOR, void *BATON){  if (RTEST(rb_obj_is_kind_of($input,                              svn_swig_rb_svn_delta_editor()))) {    $1 = svn_swig_rb_to_swig_type($input,                                  "svn_delta_editor_t *",                                  _global_pool);    $2 = svn_swig_rb_to_swig_type(rb_funcall($input, rb_intern("baton"), 0),                                  "void *", _global_pool);  } else {    svn_swig_rb_make_delta_editor(&$1, &$2, $input, _global_pool);  }}%apply (const svn_delta_editor_t *EDITOR, void *BATON){  (const svn_delta_editor_t *editor, void *edit_baton),  (const svn_delta_editor_t *update_editor, void *update_baton),  (const svn_delta_editor_t *switch_editor, void *switch_baton),  (const svn_delta_editor_t *status_editor, void *status_baton)}/* -----------------------------------------------------------------------   handle svn_txdelta_window_handler_t/baton pair.*/%typemap(ruby, in) (svn_txdelta_window_handler_t handler,                    void *handler_baton){  if (RTEST(rb_obj_is_kind_of($input,                              svn_swig_rb_svn_delta_text_delta_window_handler()))) {    $1 = svn_swig_rb_to_swig_type($input,                                  "svn_txdelta_window_handler_t",                                  _global_pool);    $2 = svn_swig_rb_to_swig_type(rb_funcall($input, rb_intern("baton"), 0),                                  "void *", _global_pool);  } else {    $1 = svn_swig_rb_txdelta_window_handler;    $2 = (void *)svn_swig_rb_make_baton($input, _global_svn_swig_rb_pool);  }}/* -----------------------------------------------------------------------   handle svn_delta_path_driver().*/%typemap(ruby, in) apr_array_header_t *paths{  $1 = svn_swig_rb_strings_to_apr_array($input, _global_pool);}%typemap(ruby, in) (svn_delta_path_driver_cb_func_t callback_func,                    void *callback_baton){  $1 = svn_swig_rb_delta_path_driver_cb_func;  $2 = (void *)svn_swig_rb_make_baton($input, _global_svn_swig_rb_pool);}/* ----------------------------------------------------------------------- */%{#include "svn_md5.h"#ifdef SWIGPYTHON#include "swigutil_py.h"#endif#ifdef SWIGPERL#include "swigutil_pl.h"#endif#ifdef SWIGRUBY#include "swigutil_rb.h"#endif%}/* -----------------------------------------------------------------------   handle svn_txdelta_window_t::ops*/#ifdef SWIGRUBY%ignore svn_txdelta_window_t::ops;%inline %{static VALUEsvn_txdelta_window_t_ops_get(svn_txdelta_window_t *window){  return svn_swig_rb_txdelta_window_t_ops_get(window);}%}#endif%include svn_delta_h.swg/* -----------------------------------------------------------------------   handle svn_txdelta_apply_instructions()*/#ifdef SWIGRUBY%inline %{static VALUEsvn_swig_rb_txdelta_apply_instructions(svn_txdelta_window_t *window,                                       const char *sbuf){  char *tbuf;  apr_size_t tlen;  tlen = window->tview_len + 1;  tbuf = ALLOCA_N(char, tlen);  svn_txdelta_apply_instructions(window, sbuf, tbuf, &tlen);  return rb_str_new(tbuf, tlen);}%}#endif/* -----------------------------------------------------------------------   handle svn_txdelta_to_svndiff().*/#ifdef SWIGRUBY%inline %{static voidsvn_txdelta_apply_wrapper(svn_stream_t *source,                          svn_stream_t *target,                          unsigned char *result_digest,                          const char *error_info,                          svn_txdelta_window_handler_t *handler,                          void **handler_baton,                          apr_pool_t *pool){  svn_txdelta_apply(source, target, result_digest, error_info,                    pool, handler, handler_baton);} /* FIXME: Is this even required any more, now that the arguments have   been re-ordered so that pool is last? */static voidsvn_txdelta_to_svndiff2_wrapper(svn_stream_t *output,                                svn_txdelta_window_handler_t *handler,                                void **handler_baton,                                int svndiff_version,                                apr_pool_t *pool){  svn_txdelta_to_svndiff2(handler, handler_baton, output, svndiff_version,                          pool);} static svn_error_t *svn_txdelta_invoke_window_handler(VALUE window_handler,                                  svn_txdelta_window_t *window,                                  apr_pool_t *pool){  return svn_swig_rb_invoke_txdelta_window_handler(window_handler,                                                   window, pool);} static svn_error_t *svn_txdelta_invoke_window_handler_wrapper(VALUE obj,                                          svn_txdelta_window_t *window,                                          apr_pool_t *pool){  return svn_swig_rb_invoke_txdelta_window_handler_wrapper(obj, window, pool);} static const char *svn_txdelta_md5_digest_as_cstring(svn_txdelta_stream_t *stream,                                  apr_pool_t *pool){  const unsigned char *digest;  digest = svn_txdelta_md5_digest(stream);  if (digest) {    return svn_md5_digest_to_cstring(digest, pool);  } else {    return NULL;  }} %}#endif

⌨️ 快捷键说明

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