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

📄 ra_loader.h

📁 subversion-1.4.3-1.tar.gz 配置svn的源码
💻 H
字号:
/** * @copyright * ==================================================================== * Copyright (c) 2005 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/. * ==================================================================== * @endcopyright * * @file ra_loader.h * @brief structures related to repository access, private to libsvn_ra and the * RA implementation libraries. */#ifndef LIBSVN_RA_RA_LOADER_H#define LIBSVN_RA_RA_LOADER_H#include "svn_ra.h"#ifdef __cplusplusextern "C" {#endif/* The RA layer vtable. */typedef struct svn_ra__vtable_t {  /* This field should always remain first in the vtable. */  const svn_version_t *(*get_version)(void);  /* Return a short description of the RA implementation, as a localized   * string. */  const char *(*get_description)(void);  /* Return a list of actual URI schemes supported by this implementation.   * The returned array is NULL-terminated. */  const char * const *(*get_schemes)(apr_pool_t *pool);  /* Implementations of the public API functions. */  /* All fields in SESSION, except priv, have been initialized by the     time this is called.  SESSION->priv may be set by this function. */  svn_error_t *(*open)(svn_ra_session_t *session,                       const char *repos_URL,                       const svn_ra_callbacks2_t *callbacks,                       void *callback_baton,                       apr_hash_t *config,                       apr_pool_t *pool);  /* URL is guaranteed to have what get_repos_root() returns as a prefix. */  svn_error_t *(*reparent)(svn_ra_session_t *session,                           const char *url,                           apr_pool_t *pool);  svn_error_t *(*get_latest_revnum)(svn_ra_session_t *session,                                    svn_revnum_t *latest_revnum,                                    apr_pool_t *pool);  svn_error_t *(*get_dated_revision)(svn_ra_session_t *session,                                     svn_revnum_t *revision,                                     apr_time_t tm,                                     apr_pool_t *pool);  svn_error_t *(*change_rev_prop)(svn_ra_session_t *session,                                  svn_revnum_t rev,                                  const char *name,                                  const svn_string_t *value,                                  apr_pool_t *pool);  svn_error_t *(*rev_proplist)(svn_ra_session_t *session,                               svn_revnum_t rev,                               apr_hash_t **props,                               apr_pool_t *pool);  svn_error_t *(*rev_prop)(svn_ra_session_t *session,                           svn_revnum_t rev,                           const char *name,                           svn_string_t **value,                           apr_pool_t *pool);  svn_error_t *(*get_commit_editor)(svn_ra_session_t *session,                                    const svn_delta_editor_t **editor,                                    void **edit_baton,                                    const char *log_msg,                                    svn_commit_callback2_t callback,                                    void *callback_baton,                                    apr_hash_t *lock_tokens,                                    svn_boolean_t keep_locks,                                    apr_pool_t *pool);  svn_error_t *(*get_file)(svn_ra_session_t *session,                           const char *path,                           svn_revnum_t revision,                           svn_stream_t *stream,                           svn_revnum_t *fetched_rev,                           apr_hash_t **props,                           apr_pool_t *pool);  svn_error_t *(*get_dir)(svn_ra_session_t *session,                          apr_hash_t **dirents,                          svn_revnum_t *fetched_rev,                          apr_hash_t **props,                          const char *path,                          svn_revnum_t revision,                          apr_uint32_t dirent_fields,                          apr_pool_t *pool);  svn_error_t *(*do_update)(svn_ra_session_t *session,                            const svn_ra_reporter2_t **reporter,                            void **report_baton,                            svn_revnum_t revision_to_update_to,                            const char *update_target,                            svn_boolean_t recurse,                            const svn_delta_editor_t *update_editor,                            void *update_baton,                            apr_pool_t *pool);  svn_error_t *(*do_switch)(svn_ra_session_t *session,                            const svn_ra_reporter2_t **reporter,                            void **report_baton,                            svn_revnum_t revision_to_switch_to,                            const char *switch_target,                            svn_boolean_t recurse,                            const char *switch_url,                            const svn_delta_editor_t *switch_editor,                            void *switch_baton,                            apr_pool_t *pool);  svn_error_t *(*do_status)(svn_ra_session_t *session,                            const svn_ra_reporter2_t **reporter,                            void **report_baton,                            const char *status_target,                            svn_revnum_t revision,                            svn_boolean_t recurse,                            const svn_delta_editor_t *status_editor,                            void *status_baton,                            apr_pool_t *pool);  svn_error_t *(*do_diff)(svn_ra_session_t *session,                          const svn_ra_reporter2_t **reporter,                          void **report_baton,                          svn_revnum_t revision,                          const char *diff_target,                          svn_boolean_t recurse,                          svn_boolean_t ignore_ancestry,                          svn_boolean_t text_deltas,                          const char *versus_url,                          const svn_delta_editor_t *diff_editor,                          void *diff_baton,                          apr_pool_t *pool);  svn_error_t *(*get_log)(svn_ra_session_t *session,                          const apr_array_header_t *paths,                          svn_revnum_t start,                          svn_revnum_t end,                          int limit,                          svn_boolean_t discover_changed_paths,                          svn_boolean_t strict_node_history,                          svn_log_message_receiver_t receiver,                          void *receiver_baton,                          apr_pool_t *pool);  svn_error_t *(*check_path)(svn_ra_session_t *session,                             const char *path,                             svn_revnum_t revision,                             svn_node_kind_t *kind,                             apr_pool_t *pool);  svn_error_t *(*stat)(svn_ra_session_t *session,                       const char *path,                       svn_revnum_t revision,                       svn_dirent_t **dirent,                       apr_pool_t *pool);  svn_error_t *(*get_uuid)(svn_ra_session_t *session,                           const char **uuid,                           apr_pool_t *pool);  svn_error_t *(*get_repos_root)(svn_ra_session_t *session,                                 const char **url,                                 apr_pool_t *pool);  svn_error_t *(*get_locations)(svn_ra_session_t *session,                                apr_hash_t **locations,                                const char *path,                                svn_revnum_t peg_revision,                                apr_array_header_t *location_revisions,                                apr_pool_t *pool);  svn_error_t *(*get_file_revs)(svn_ra_session_t *session,                                const char *path,                                svn_revnum_t start,                                svn_revnum_t end,                                svn_ra_file_rev_handler_t handler,                                void *handler_baton,                                apr_pool_t *pool);  svn_error_t *(*lock)(svn_ra_session_t *session,                       apr_hash_t *path_revs,                       const char *comment,                       svn_boolean_t force,                       svn_ra_lock_callback_t lock_func,                        void *lock_baton,                       apr_pool_t *pool);  svn_error_t *(*unlock)(svn_ra_session_t *session,                         apr_hash_t *path_tokens,                         svn_boolean_t force,                         svn_ra_lock_callback_t lock_func,                          void *lock_baton,                         apr_pool_t *pool);  svn_error_t *(*get_lock)(svn_ra_session_t *session,                           svn_lock_t **lock,                           const char *path,                           apr_pool_t *pool);  svn_error_t *(*get_locks)(svn_ra_session_t *session,                            apr_hash_t **locks,                            const char *path,                            apr_pool_t *pool);  svn_error_t *(*replay)(svn_ra_session_t *session,                         svn_revnum_t revision,                         svn_revnum_t low_water_mark,                         svn_boolean_t text_deltas,                         const svn_delta_editor_t *editor,                         void *edit_baton,                         apr_pool_t *pool);} svn_ra__vtable_t;/* The RA session object. */struct svn_ra_session_t {  const svn_ra__vtable_t *vtable;  /* Pool used to manage this session. */  apr_pool_t *pool;  /* Private data for the RA implementation. */  void *priv;};/* Each libsvn_ra_foo defines a function named svn_ra_foo__init of this type. * * The LOADER_VERSION parameter must remain first in the list, and the * function must use the C calling convention on all platforms, so that * the init functions can safely read the version parameter. * * POOL will be available as long as this module is being used. * * ### need to force this to be __cdecl on Windows... how?? */typedef svn_error_t *(*svn_ra__init_func_t)(const svn_version_t *loader_version,                       const svn_ra__vtable_t **vtable,                       apr_pool_t *pool);/* Declarations of the init functions for the available RA libraries. */svn_error_t *svn_ra_local__init(const svn_version_t *loader_version,                                const svn_ra__vtable_t **vtable,                                apr_pool_t *pool);svn_error_t *svn_ra_svn__init(const svn_version_t *loader_version,                              const svn_ra__vtable_t **vtable,                              apr_pool_t *pool);svn_error_t *svn_ra_dav__init(const svn_version_t *loader_version,                              const svn_ra__vtable_t **vtable,                              apr_pool_t *pool);svn_error_t *svn_ra_serf__init(const svn_version_t *loader_version,                               const svn_ra__vtable_t **vtable,                               apr_pool_t *pool);#ifdef __cplusplus}#endif#endif

⌨️ 快捷键说明

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