X-Git-Url: https://git.street.me.uk/andy/viking.git/blobdiff_plain/1d1bc3c1f9e862a76235bb69a4e419136b0f54a3..113c74f6da1af4c6e06a79cb30617f713192c8ff:/src/babel.h diff --git a/src/babel.h b/src/babel.h index bc8e85bb..967eb537 100644 --- a/src/babel.h +++ b/src/babel.h @@ -23,12 +23,16 @@ #ifndef _VIKING_BABEL_H #define _VIKING_BABEL_H +#include + +#include "viktrwlayer.h" + typedef enum { BABEL_DIAG_OUTPUT, BABEL_DONE, } BabelProgressCode; -typedef void (*BabelStatusFunc)(BabelProgressCode, gpointer); +typedef void (*BabelStatusFunc)(BabelProgressCode, gpointer, gpointer); /* * a_babel_convert modifies data in a trw layer using gpsbabel filters. This routine is synchronous; @@ -46,7 +50,7 @@ typedef void (*BabelStatusFunc)(BabelProgressCode, gpointer); * BABEL_DIAG_DONE: gpsbabel finished, * or NULL if no callback is needed. */ -int a_babel_convert( VikTrwLayer *vt, const char *babelargs, BabelStatusFunc cb ); +gboolean a_babel_convert( VikTrwLayer *vt, const char *babelargs, BabelStatusFunc cb, gpointer user_data ); /* * a_babel_convert_from loads data into a trw layer from a file, using gpsbabel. This routine is synchronous; @@ -60,6 +64,10 @@ int a_babel_convert( VikTrwLayer *vt, const char *babelargs, BabelStatusFunc cb * * cb Optional callback function. Same usage as in a_babel_convert. */ -int a_babel_convert_from( VikTrwLayer *vt, const char *babelargs, BabelStatusFunc cb, const char *file ); +gboolean a_babel_convert_from( VikTrwLayer *vt, const char *babelargs, BabelStatusFunc cb, const char *file, gpointer user_data ); +gboolean a_babel_convert_from_shellcommand ( VikTrwLayer *vt, const char *input_cmd, const char *input_file_type, BabelStatusFunc cb, gpointer user_data ); +gboolean a_babel_convert_from_url ( VikTrwLayer *vt, const char *url, const char *input_type, BabelStatusFunc cb, gpointer user_data ); +gboolean a_babel_convert_to( VikTrwLayer *vt, const char *babelargs, BabelStatusFunc cb, const char *file, gpointer user_data ); + #endif