Main Page   Modules   Data Structures   Data Fields   Related Pages   Examples  

Internal export module interface


Data Structures

struct  vbi_export
struct  vbi_export_class

Defines

#define VBI_OPTION_BOUNDS_INITIALIZER_(type_, def_, min_, max_, 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_BOUNDS_INITIALIZER_( type_, def_, min_, max_, step_ )
 

Value:

  { type_ = def_ }, { type_ = min_ }, { type_ = max_ }, { type_ = step_ }

#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 )
 

Value:

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 at Tue Feb 26 01:33:09 2008 for ZVBI Library by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001