#[repr(C)]pub struct svn_repos_parse_fns3_t {
pub magic_header_record: Option<unsafe extern "C" fn(version: c_int, parse_baton: *mut c_void, pool: *mut apr_pool_t) -> *mut svn_error_t>,
pub uuid_record: Option<unsafe extern "C" fn(uuid: *const c_char, parse_baton: *mut c_void, pool: *mut apr_pool_t) -> *mut svn_error_t>,
pub new_revision_record: Option<unsafe extern "C" fn(revision_baton: *mut *mut c_void, headers: *mut apr_hash_t, parse_baton: *mut c_void, pool: *mut apr_pool_t) -> *mut svn_error_t>,
pub new_node_record: Option<unsafe extern "C" fn(node_baton: *mut *mut c_void, headers: *mut apr_hash_t, revision_baton: *mut c_void, pool: *mut apr_pool_t) -> *mut svn_error_t>,
pub set_revision_property: Option<unsafe extern "C" fn(revision_baton: *mut c_void, name: *const c_char, value: *const svn_string_t) -> *mut svn_error_t>,
pub set_node_property: Option<unsafe extern "C" fn(node_baton: *mut c_void, name: *const c_char, value: *const svn_string_t) -> *mut svn_error_t>,
pub delete_node_property: Option<unsafe extern "C" fn(node_baton: *mut c_void, name: *const c_char) -> *mut svn_error_t>,
pub remove_node_props: Option<unsafe extern "C" fn(node_baton: *mut c_void) -> *mut svn_error_t>,
pub set_fulltext: Option<unsafe extern "C" fn(stream: *mut *mut svn_stream_t, node_baton: *mut c_void) -> *mut svn_error_t>,
pub apply_textdelta: Option<unsafe extern "C" fn(handler: *mut svn_txdelta_window_handler_t, handler_baton: *mut *mut c_void, node_baton: *mut c_void) -> *mut svn_error_t>,
pub close_node: Option<unsafe extern "C" fn(node_baton: *mut c_void) -> *mut svn_error_t>,
pub close_revision: Option<unsafe extern "C" fn(revision_baton: *mut c_void) -> *mut svn_error_t>,
}
Expand description
A vtable that is driven by svn_repos_parse_dumpstream3().
@since New in 1.8.
Fields§
§magic_header_record: Option<unsafe extern "C" fn(version: c_int, parse_baton: *mut c_void, pool: *mut apr_pool_t) -> *mut svn_error_t>
The parser has discovered a new “magic header” record within the parsing session represented by @a parse_baton. The dump-format version number is @a version.
uuid_record: Option<unsafe extern "C" fn(uuid: *const c_char, parse_baton: *mut c_void, pool: *mut apr_pool_t) -> *mut svn_error_t>
The parser has discovered a new uuid record within the parsing session represented by @a parse_baton. The uuid’s value is @a uuid, and it is allocated in @a pool.
new_revision_record: Option<unsafe extern "C" fn(revision_baton: *mut *mut c_void, headers: *mut apr_hash_t, parse_baton: *mut c_void, pool: *mut apr_pool_t) -> *mut svn_error_t>
The parser has discovered a new revision record within the parsing session represented by @a parse_baton. All the headers are placed in @a headers (allocated in @a pool), which maps const char * header-name ==> const char * header-value. The @a revision_baton received back (also allocated in @a pool) represents the revision.
new_node_record: Option<unsafe extern "C" fn(node_baton: *mut *mut c_void, headers: *mut apr_hash_t, revision_baton: *mut c_void, pool: *mut apr_pool_t) -> *mut svn_error_t>
The parser has discovered a new node record within the current revision represented by @a revision_baton. All the headers are placed in @a headers (as with @c new_revision_record), allocated in @a pool. The @a node_baton received back is allocated in @a pool and represents the node.
set_revision_property: Option<unsafe extern "C" fn(revision_baton: *mut c_void, name: *const c_char, value: *const svn_string_t) -> *mut svn_error_t>
For a given @a revision_baton, set a property @a name to @a value.
set_node_property: Option<unsafe extern "C" fn(node_baton: *mut c_void, name: *const c_char, value: *const svn_string_t) -> *mut svn_error_t>
For a given @a node_baton, set a property @a name to @a value.
delete_node_property: Option<unsafe extern "C" fn(node_baton: *mut c_void, name: *const c_char) -> *mut svn_error_t>
For a given @a node_baton, delete property @a name.
remove_node_props: Option<unsafe extern "C" fn(node_baton: *mut c_void) -> *mut svn_error_t>
For a given @a node_baton, remove all properties.
set_fulltext: Option<unsafe extern "C" fn(stream: *mut *mut svn_stream_t, node_baton: *mut c_void) -> *mut svn_error_t>
For a given @a node_baton, set @a stream to a writable stream capable of receiving the node’s fulltext. The parser will write the fulltext to the stream and then close the stream to signal completion.
If a @c NULL is returned instead of a stream, the vtable is indicating that no text is desired, and the parser will not attempt to send it.
apply_textdelta: Option<unsafe extern "C" fn(handler: *mut svn_txdelta_window_handler_t, handler_baton: *mut *mut c_void, node_baton: *mut c_void) -> *mut svn_error_t>
For a given @a node_baton, set @a handler and @a handler_baton to a window handler and baton capable of receiving a delta against the node’s previous contents. The parser will send all the windows of data to this handler, and will then send a NULL window to signal completion.
If a @c NULL is returned instead of a handler, the vtable is indicating that no delta is desired, and the parser will not attempt to send it.
close_node: Option<unsafe extern "C" fn(node_baton: *mut c_void) -> *mut svn_error_t>
The parser has reached the end of the current node represented by @a node_baton, it can be freed.
close_revision: Option<unsafe extern "C" fn(revision_baton: *mut c_void) -> *mut svn_error_t>
The parser has reached the end of the current revision represented by @a revision_baton. In other words, there are no more changed nodes within the revision. The baton can be freed.
Trait Implementations§
Source§impl Clone for svn_repos_parse_fns3_t
impl Clone for svn_repos_parse_fns3_t
Source§fn clone(&self) -> svn_repos_parse_fns3_t
fn clone(&self) -> svn_repos_parse_fns3_t
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more