#ifndef _VIKING_BABEL_H
#define _VIKING_BABEL_H
+#include <glib.h>
+
+#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;
* BABEL_DIAG_DONE: gpsbabel finished,
* or NULL if no callback is needed.
*/
-int a_babel_convert( VikTrwLayer *vt, const char *babelargs, BabelStatusFunc cb );
+int 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;
*
* 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 );
+int 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_type, BabelStatusFunc cb, gpointer user_data );
+int a_babel_convert_to( VikTrwLayer *vt, const char *babelargs, BabelStatusFunc cb, const char *file, gpointer user_data );
+
#endif