svn_repos_parse_fns3_t Struct Reference
Dumping, loading and verifying filesystem data

A vtable that is driven by svn_repos_parse_dumpstream3(). More...

`#include <svn_repos.h>`

## Data Fields

svn_error_t *(* | magic_header_record )(int version, void *parse_baton, apr_pool_t *pool)
| The parser has discovered a new "magic header" record within the parsing session represented by parse_baton. More...
svn_error_t *(* | uuid_record )(const char *uuid, void *parse_baton, apr_pool_t *pool)
| The parser has discovered a new uuid record within the parsing session represented by parse_baton. More...
svn_error_t *(* | new_revision_record )(void **revision_baton, apr_hash_t *headers, void *parse_baton, apr_pool_t *pool)
| The parser has discovered a new revision record within the parsing session represented by parse_baton. More...
svn_error_t *(* | new_node_record )(void **node_baton, apr_hash_t *headers, void *revision_baton, apr_pool_t *pool)
| The parser has discovered a new node record within the current revision represented by revision_baton. More...
svn_error_t *(* | set_revision_property )(void *revision_baton, const char *name, const svn_string_t *value)
| For a given revision_baton, set a property name to value.
svn_error_t *(* | set_node_property )(void *node_baton, const char *name, const svn_string_t *value)
| For a given node_baton, set a property name to value.
svn_error_t *(* | delete_node_property )(void *node_baton, const char *name)
| For a given node_baton, delete property name.
svn_error_t *(* | remove_node_props )(void *node_baton)
| For a given node_baton, remove all properties.
svn_error_t *(* | set_fulltext )(svn_stream_t **stream, void *node_baton)
| For a given node_baton, set stream to a writable stream capable of receiving the node's fulltext. More...
svn_error_t *(* | apply_textdelta )(svn_txdelta_window_handler_t *handler, void **handler_baton, void *node_baton)
| For a given node_baton, set handler and handler_baton to a window handler and baton capable of receiving a delta against the node's previous contents. More...
svn_error_t *(* | close_node )(void *node_baton)
| The parser has reached the end of the current node represented by node_baton, it can be freed.
svn_error_t *(* | close_revision )(void *revision_baton)
| The parser has reached the end of the current revision represented by revision_baton. More...

## Detailed Description

A vtable that is driven by svn_repos_parse_dumpstream3().

Since
  New in 1.8.

Definition at line 3671 of file svn_repos.h.

## Field Documentation

## apply_textdelta

svn_error_t*(* svn_repos_parse_fns3_t::apply_textdelta) (svn_txdelta_window_handler_t *handler, void **handler_baton, void *node_baton)

For a given node_baton, set handler and 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 `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.

Definition at line 3750 of file svn_repos.h.

## close_revision

svn_error_t*(* svn_repos_parse_fns3_t::close_revision) (void *revision_baton)

The parser has reached the end of the current revision represented by revision_baton.

In other words, there are no more changed nodes within the revision. The baton can be freed.

Definition at line 3763 of file svn_repos.h.

## magic_header_record

svn_error_t*(* svn_repos_parse_fns3_t::magic_header_record) (int version, void *parse_baton, apr_pool_t *pool)

The parser has discovered a new "magic header" record within the parsing session represented by parse_baton.

The dump-format version number is version.

Definition at line 3677 of file svn_repos.h.

## new_node_record

svn_error_t*(* svn_repos_parse_fns3_t::new_node_record) (void **node_baton, apr_hash_t *headers, void *revision_baton, apr_pool_t *pool)

The parser has discovered a new node record within the current revision represented by revision_baton.

All the headers are placed in headers (as with `new_revision_record`), allocated in pool. The node_baton received back is allocated in pool and represents the node.

Definition at line 3707 of file svn_repos.h.

## new_revision_record

svn_error_t*(* svn_repos_parse_fns3_t::new_revision_record) (void **revision_baton, apr_hash_t *headers, void *parse_baton, apr_pool_t *pool)

The parser has discovered a new revision record within the parsing session represented by parse_baton.

All the headers are placed in headers (allocated in pool), which maps `const char *` header-name ==> `const char *` header-value. The revision_baton received back (also allocated in pool) represents the revision.

Definition at line 3696 of file svn_repos.h.

## set_fulltext

svn_error_t*(* svn_repos_parse_fns3_t::set_fulltext) (svn_stream_t **stream, void *node_baton)

For a given node_baton, set 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 `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.

Definition at line 3737 of file svn_repos.h.

## uuid_record

svn_error_t*(* svn_repos_parse_fns3_t::uuid_record) (const char *uuid, void *parse_baton, apr_pool_t *pool)

The parser has discovered a new uuid record within the parsing session represented by parse_baton.

The uuid's value is uuid, and it is allocated in pool.

Definition at line 3685 of file svn_repos.h.

The documentation for this struct was generated from the following file:

- svn_repos.h