Main Page   Modules   Data Structures   Data Fields   Related Pages   Examples   Search  

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 *new_module)
void vbi_export_write_error (vbi_export *export)
void vbi_export_unknown_option (vbi_export *export, const char *keyword)
void vbi_export_invalid_option (vbi_export *export, const char *keyword,...)
char * vbi_export_strdup (vbi_export *export, char **d, const char *s)
void vbi_export_error_printf (vbi_export *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:
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.
Examples:
exp-templ.c.

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.
Examples:
exp-templ.c.

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.
Examples:
exp-templ.c.

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 to be undecided what it really wants.

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


Generated on Sat Oct 12 17:49:56 2002 for ZVBI Library by doxygen1.2.15