Volksdata 1.0b7
RDF library
Loading...
Searching...
No Matches
VOLK_Codec Struct Reference

Codec structure. More...

#include <codec_interface.h>

Collaboration diagram for VOLK_Codec:

Data Fields

char name [16]
 Name of the codec.
char mimetype [32]
 MIME type associated with the codec.
char extension [8]
 Serialized file extension.
VOLK_CodecFeatures features
term_enc_fn_t encode_term
 Feature flags.
encode_gr_init_fn_t encode_graph_init
 Graph encoder initialization.
encode_gr_iter_fn_t encode_graph_iter
 Graph encoder iteration.
encode_gr_done_fn_t encode_graph_done
 Graph encoder finalization.
encode_ds_init_fn_t encode_dset_init
 dataset encoder initialization.
encode_ds_iter_fn_t encode_dset_iter
 dataset encoder iteration.
encode_ds_done_fn_t encode_dset_done
 dataset encoder finalization.
encode_store_init_fn_t encode_store_init
 store encoder initialization.
encode_store_iter_fn_t encode_store_iter
 store encoder iteration.
encode_store_done_fn_t encode_store_done
 store encoder finalization.
decode_term_fn_t decode_term
 Term decoder function.
decode_gr_fn_t decode_graph
 Graph decoder function.
decode_ds_init_fn_t decode_dset_init
 dataset decoder initialization.
decode_ds_iter_fn_t decode_dset_iter
 dataset decoder iteration.
decode_ds_done_fn_t decode_dset_done
 dataset decoder finalization.

Detailed Description

Codec structure.

An instance of this structure is a singleton defined at compile time (see examples in "include/codec_*.h" and "src/codec_*.c") and MUST have the following defined:

  • name: A brief (15-char max), human-readable name for the codec.
  • mimetype: MIME type (31-char max) associated with the codec.
  • extension: File extension associated with the serialized file.

Additionally, it MAY implement any of the following encoding and decoding functions, depending on the scope of the codec:

  • encode_term: Encode a single term.
  • encode_graph_init: Initialize a graph decoding loop.
  • encode_graph_iter: Run one iteration of encoding on one or more triples.
  • encode_graph_done: Finalize the encoding loop and free the support data.
  • encode_dset_*: encode a dataset with zero or more graphs.
  • decode_term: Decode a single term.
  • decode_graph: Decode a RDF document into a graph.
  • decode_dset: Decode a RDF document into a dataset with zero or more graphs.

For documentation on the individual encoding and decoding callbacks, see the related function prototypes.

This interface is abstracted by the high-level codec module. Non-implemented functions MUST be set to NULL so that the codec module can handle exceptions gracefully.

Definition at line 504 of file codec_interface.h.

Field Documentation

◆ name

char VOLK_Codec::name[16]

Name of the codec.

Definition at line 505 of file codec_interface.h.

◆ mimetype

char VOLK_Codec::mimetype[32]

MIME type associated with the codec.

Definition at line 506 of file codec_interface.h.

◆ extension

char VOLK_Codec::extension[8]

Serialized file extension.

Definition at line 507 of file codec_interface.h.

◆ features

VOLK_CodecFeatures VOLK_Codec::features

Definition at line 508 of file codec_interface.h.

◆ encode_term

term_enc_fn_t VOLK_Codec::encode_term

Feature flags.

Term encoder function.

Definition at line 511 of file codec_interface.h.

◆ encode_graph_init

encode_gr_init_fn_t VOLK_Codec::encode_graph_init

Graph encoder initialization.

Definition at line 513 of file codec_interface.h.

◆ encode_graph_iter

encode_gr_iter_fn_t VOLK_Codec::encode_graph_iter

Graph encoder iteration.

Definition at line 514 of file codec_interface.h.

◆ encode_graph_done

encode_gr_done_fn_t VOLK_Codec::encode_graph_done

Graph encoder finalization.

Definition at line 515 of file codec_interface.h.

◆ encode_dset_init

encode_ds_init_fn_t VOLK_Codec::encode_dset_init

dataset encoder initialization.

Definition at line 517 of file codec_interface.h.

◆ encode_dset_iter

encode_ds_iter_fn_t VOLK_Codec::encode_dset_iter

dataset encoder iteration.

Definition at line 518 of file codec_interface.h.

◆ encode_dset_done

encode_ds_done_fn_t VOLK_Codec::encode_dset_done

dataset encoder finalization.

Definition at line 519 of file codec_interface.h.

◆ encode_store_init

encode_store_init_fn_t VOLK_Codec::encode_store_init

store encoder initialization.

Definition at line 521 of file codec_interface.h.

◆ encode_store_iter

encode_store_iter_fn_t VOLK_Codec::encode_store_iter

store encoder iteration.

Definition at line 522 of file codec_interface.h.

◆ encode_store_done

encode_store_done_fn_t VOLK_Codec::encode_store_done

store encoder finalization.

Definition at line 523 of file codec_interface.h.

◆ decode_term

decode_term_fn_t VOLK_Codec::decode_term

Term decoder function.

Definition at line 526 of file codec_interface.h.

◆ decode_graph

decode_gr_fn_t VOLK_Codec::decode_graph

Graph decoder function.

Definition at line 528 of file codec_interface.h.

◆ decode_dset_init

decode_ds_init_fn_t VOLK_Codec::decode_dset_init

dataset decoder initialization.

Definition at line 530 of file codec_interface.h.

◆ decode_dset_iter

decode_ds_iter_fn_t VOLK_Codec::decode_dset_iter

dataset decoder iteration.

Definition at line 531 of file codec_interface.h.

◆ decode_dset_done

decode_ds_done_fn_t VOLK_Codec::decode_dset_done

dataset decoder finalization.

Definition at line 532 of file codec_interface.h.


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