ZVBI Library
0.2.35
|
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) |
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 VBI_OPTION_BOOL_INITIALIZER | ( | key_, | |
label_, | |||
def_, | |||
tip_ | |||
) |
{ 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_ | |||
) |
{ 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_ | |||
) |
{ 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_ | |||
) |
{ 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_ | |||
) |
{ 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_ | |||
) |
{ 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_ | |||
) |
{ 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_ | |||
) |
{ 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.
void vbi_register_export_module | ( | vbi_export_class * | new_module | ) |
new_module | Static pointer to initialized vbi_export_class structure. |
Registers a new export module.
void vbi_export_write_error | ( | vbi_export * | export | ) |
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 | ||
) |
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, | ||
... | |||
) |
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 | ||
) |
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.
NULL
on failure, pointer to malloc()ed string otherwise. void vbi_export_error_printf | ( | vbi_export * | export, |
const char * | templ, | ||
... | |||
) |
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).