Main Page | Modules | Data Structures | Data Fields | Related Pages | Examples

Internal export module interface
[Exporting formatted Teletext and Closed Caption pages]


Data Structures

struct  vbi_export
struct  vbi_export_class

Defines

#define VBI_OPTION_BOUNDS_INITIALIZER_(type_, def_, min_, max_, step_)   { type_ = def_ }, { type_ = min_ }, { type_ = max_ }, { type_ = step_ }
#define VBI_OPTION_BOOL_INITIALIZER(key_, label_, def_, tip_)
#define VBI_OPTION_INT_RANGE_INITIALIZER(key_, label_, def_, min_, max_, step_, tip_)
#define VBI_OPTION_INT_MENU_INITIALIZER(key_, label_, def_,menu_, entries_, tip_)
#define VBI_OPTION_REAL_RANGE_INITIALIZER(key_, label_, def_, min_, max_, step_, tip_)
#define VBI_OPTION_REAL_MENU_INITIALIZER(key_, label_, def_,menu_, entries_, tip_)
#define VBI_OPTION_STRING_INITIALIZER(key_, label_, def_, tip_)
#define VBI_OPTION_STRING_MENU_INITIALIZER(key_, label_, def_,menu_, entries_, tip_)
#define VBI_OPTION_MENU_INITIALIZER(key_, label_, def_, menu_,entries_, tip_)
#define VBI_AUTOREG_EXPORT_MODULE(name)

Functions

void vbi_register_export_module (vbi_export_class *)
void _vbi_export_malloc_error (vbi_export *e)
void vbi_export_write_error (vbi_export *)
void vbi_export_unknown_option (vbi_export *, const char *keyword)
void vbi_export_invalid_option (vbi_export *, const char *keyword,...)
char * vbi_export_strdup (vbi_export *, char **d, const char *s)
void vbi_export_error_printf (vbi_export *, const char *templ,...)
int vbi_ucs2be (void)

Detailed Description

This is the private interface between the public libzvbi export functions and export modules. libzvbi client applications don't use this.

Export modules include "export.h" to get these definitions. See example module exp-templ.c.


Define Documentation

#define VBI_OPTION_BOOL_INITIALIZER key_,
label_,
def_,
tip_   ) 
 

Value:

{ VBI_OPTION_BOOL, key_, label_, VBI_OPTION_BOUNDS_INITIALIZER_(        \
  .num, def_, 0, 1, 1), { .num = NULL }, tip_ }
Helper macro for export modules to build option lists. Use like this:

 vbi_option_info myinfo = VBI_OPTION_BOOL_INITIALIZER
   ("mute", N_("Switch sound on/off"), FALSE, N_("I am a tooltip"));

N_() marks the string for i18n, see info gettext for details.

#define VBI_OPTION_INT_RANGE_INITIALIZER key_,
label_,
def_,
min_,
max_,
step_,
tip_   ) 
 

Value:

{ VBI_OPTION_INT, key_, label_,                 \
  VBI_OPTION_BOUNDS_INITIALIZER_(.num, def_, min_, max_, step_),        \
  { .num = NULL }, tip_ }
Helper macro for export modules to build option lists. Use like this:

 vbi_option_info myinfo = VBI_OPTION_INT_RANGE_INITIALIZER
   ("sampling", N_("Sampling rate"), 44100, 8000, 48000, 100, NULL);

Here we have no tooltip (NULL).

#define VBI_OPTION_INT_MENU_INITIALIZER key_,
label_,
def_,
menu_,
entries_,
tip_   ) 
 

Value:

{ VBI_OPTION_INT, key_, label_,         \
  VBI_OPTION_BOUNDS_INITIALIZER_(.num, def_, 0, (entries_) - 1, 1),     \
  { .num = menu_ }, tip_ }
Helper macro for export modules to build option lists. Use like this:

 int mymenu[] = { 29, 30, 31 };

 vbi_option_info myinfo = VBI_OPTION_INT_MENU_INITIALIZER
   ("days", NULL, 1, mymenu, 3, NULL);

No label and tooltip (NULL), i. e. this option is not to be listed in the user interface. Default is entry 1 ("30") of 3 entries.

#define VBI_OPTION_REAL_RANGE_INITIALIZER key_,
label_,
def_,
min_,
max_,
step_,
tip_   ) 
 

Value:

{ VBI_OPTION_REAL, key_, label_,                        \
  VBI_OPTION_BOUNDS_INITIALIZER_(.dbl, def_, min_, max_, step_),        \
  { .dbl = NULL }, tip_ }
Helper macro for export modules to build option lists. Use like VBI_OPTION_INT_RANGE_INITIALIZER(), just with doubles but ints.

#define VBI_OPTION_REAL_MENU_INITIALIZER key_,
label_,
def_,
menu_,
entries_,
tip_   ) 
 

Value:

{ VBI_OPTION_REAL, key_, label_,                \
  VBI_OPTION_BOUNDS_INITIALIZER_(.num, def_, 0, (entries_) - 1, 1),     \
  { .dbl = menu_ }, tip_ }
Helper macro for export modules to build option lists. Use like VBI_OPTION_INT_MENU_INITIALIZER(), just with an array of doubles but ints.

#define VBI_OPTION_STRING_INITIALIZER key_,
label_,
def_,
tip_   ) 
 

Value:

{ VBI_OPTION_STRING, key_, label_, VBI_OPTION_BOUNDS_INITIALIZER_(      \
  .str, def_, NULL, NULL, NULL), { .str = NULL }, tip_ }
Helper macro for export modules to build option lists. Use like this:

 vbi_option_info myinfo = VBI_OPTION_STRING_INITIALIZER
   ("comment", N_("Comment"), "bububaba", "Please enter a string");

#define VBI_OPTION_STRING_MENU_INITIALIZER key_,
label_,
def_,
menu_,
entries_,
tip_   ) 
 

Value:

{ VBI_OPTION_STRING, key_, label_,              \
  VBI_OPTION_BOUNDS_INITIALIZER_(.str, def_, 0, (entries_) - 1, 1),     \
  { .str = menu_ }, tip_ }
Helper macro for export modules to build option lists. Use like this:

 char *mymenu[] = { "txt", "html" };

 vbi_option_info myinfo = VBI_OPTION_STRING_MENU_INITIALIZER
   ("extension", "Ext", 0, mymenu, 2, N_("Select an extension"));

Remember this is like VBI_OPTION_STRING_INITIALIZER() in the sense that the vbi client can pass any string as option value, not just those proposed in the menu. In contrast a plain menu option as with VBI_OPTION_MENU_INITIALIZER() expects menu indices as input.

#define VBI_OPTION_MENU_INITIALIZER key_,
label_,
def_,
menu_,
entries_,
tip_   ) 
 

Value:

{ VBI_OPTION_MENU, key_, label_,                        \
  VBI_OPTION_BOUNDS_INITIALIZER_(.num, def_, 0, (entries_) - 1, 1),     \
  { .str = (char **)(menu_) }, tip_ }
Helper macro for export modules to build option lists. Use like this:

 char *mymenu[] = { N_("Monday"), N_("Tuesday") };

 vbi_option_info myinfo = VBI_OPTION_MENU_INITIALIZER
   ("weekday", "Weekday", 0, mymenu, 2, N_("Select a weekday"));

#define VBI_AUTOREG_EXPORT_MODULE name   ) 
 

Doesn't work, sigh.

Examples:
src/exp-templ.c.


Function Documentation

void vbi_register_export_module vbi_export_class new_module  ) 
 

Parameters:
new_module Static pointer to initialized vbi_export_class structure.
Registers a new export module.

void vbi_export_write_error vbi_export export  ) 
 

Parameters:
export Pointer to a initialized vbi_export object.
Similar to vbi_export_error_printf this function stores an error description in the export object, after examining the errno variable and choosing an appropriate message. Only export modules call this function.

void vbi_export_unknown_option vbi_export export,
const char *  keyword
 

Parameters:
export Pointer to a initialized vbi_export object.
keyword Name of the unknown option.
Store an error description in the export object.

void vbi_export_invalid_option vbi_export export,
const char *  keyword,
... 
 

Parameters:
export Pointer to a initialized vbi_export object.
keyword Name of the unknown option.
... Invalid value, type depending on the option.
Store an error description in the export object.

char* vbi_export_strdup vbi_export export,
char **  d,
const char *  s
 

Parameters:
export Pointer to a initialized vbi_export object.
d If non-zero, store pointer to allocated string here. When *d is non-zero, free(*d) the old string first.
s String to be duplicated.
Helper function for export modules.

Same as the libc strdup(), except for d argument and setting the export error string on failure.

Returns:
NULL on failure, pointer to malloc()ed string otherwise.

void vbi_export_error_printf vbi_export export,
const char *  templ,
... 
 

Parameters:
export Pointer to a initialized vbi_export object.
templ See printf().
... See printf().
Store an error description in the export object. Including the current error description (to append or prepend) is safe.

int vbi_ucs2be void   ) 
 

Helper function for export modules, since iconv seems undecided what it really wants (not every iconv supports UCS-2LE/BE).

Returns:
1 if iconv "UCS-2" is BE on this machine, 0 if LE, -1 if unknown.


Generated on Mon Jun 9 21:44:14 2008 for ZVBI Library by doxygen 1.3.5