# svn_repos_parse_fns2_t Struct Reference
[Dumping and loading filesystem data]

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

`#include <svn_repos.h>`

## Data Fields
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.
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.
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.
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, receive a writable stream capable of receiving the node's fulltext.
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.
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.

## Detailed Description

A vtable that is driven by svn_repos_parse_dumpstream2().

Since:
  New in 1.1.

Definition at line 2630 of file svn_repos.h.

## Field Documentation

svn_error_t*(* svn_repos_parse_fns2_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.

A NULL window will be sent to the handler after all the windows are sent.

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 2699 of file svn_repos.h.

svn_error_t*(* svn_repos_parse_fns2_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 2712 of file svn_repos.h.

svn_error_t*(* svn_repos_parse_fns2_t::delete_node_property)(void *node_baton, const char *name)

For a given node_baton, delete property name.

Definition at line 2674 of file svn_repos.h.

svn_error_t*(* svn_repos_parse_fns2_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 2658 of file svn_repos.h.

svn_error_t*(* svn_repos_parse_fns2_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 2639 of file svn_repos.h.

svn_error_t*(* svn_repos_parse_fns2_t::remove_node_props)(void *node_baton)

For a given node_baton, remove all properties.

Definition at line 2677 of file svn_repos.h.

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

For a given node_baton, receive a writable stream capable of receiving the node's fulltext.

After writing the fulltext, call the stream's close() function.

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 2687 of file svn_repos.h.

svn_error_t*(* svn_repos_parse_fns2_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.

Definition at line 2669 of file svn_repos.h.

svn_error_t*(* svn_repos_parse_fns2_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.

Definition at line 2664 of file svn_repos.h.

svn_error_t*(* svn_repos_parse_fns2_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 2648 of file svn_repos.h.

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

- svn_repos.h

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines