]> git.street.me.uk Git - andy/viking.git/blobdiff - src/datasource_google.c
Allow an acquire datasource method to *not* have to use a threading mechanism.
[andy/viking.git] / src / datasource_google.c
index 08c6e9427912eeba68d6028c8114aaaa6afae12f..b6b655d369e5cff4efb3d8e6cb83212313e906bb 100644 (file)
@@ -31,7 +31,7 @@
 #include "gpx.h"
 #include "acquire.h"
 
-#define GOOGLE_DIRECTIONS_STRING "maps.google.com/maps?q=from:%s+to:%s&output=kml"
+#define GOOGLE_DIRECTIONS_STRING "maps.google.com/maps?q=from:%s+to:%s&output=js"
 
 typedef struct {
   GtkWidget *from_entry, *to_entry;
@@ -48,17 +48,20 @@ static void datasource_google_cleanup ( gpointer data );
 VikDataSourceInterface vik_datasource_google_interface = {
   N_("Google Directions"),
   N_("Google Directions"),
-  VIK_DATASOURCE_URL,
   VIK_DATASOURCE_ADDTOLAYER,
   VIK_DATASOURCE_INPUTTYPE_NONE,
   TRUE,
+  TRUE,
+  TRUE,
   (VikDataSourceInitFunc)              datasource_google_init,
   (VikDataSourceCheckExistenceFunc)    NULL,
   (VikDataSourceAddSetupWidgetsFunc)   datasource_google_add_setup_widgets,
   (VikDataSourceGetCmdStringFunc)      datasource_google_get_cmd_string,
+  (VikDataSourceProcessFunc)        a_babel_convert_from_url,
   (VikDataSourceProgressFunc)          NULL,
   (VikDataSourceAddProgressWidgetsFunc)        NULL,
   (VikDataSourceCleanupFunc)           datasource_google_cleanup,
+  (VikDataSourceOffFunc)                NULL,
 };
 
 static gpointer datasource_google_init ( )
@@ -100,7 +103,7 @@ static void datasource_google_get_cmd_string ( datasource_google_widgets_t *widg
   to_quoted = g_strjoinv( "%20", to_split);
 
   *cmd = g_strdup_printf( GOOGLE_DIRECTIONS_STRING, from_quoted, to_quoted );
-  *input_file_type = g_strdup("kml");
+  *input_file_type = g_strdup("google");
 
   g_free(last_from_str);
   g_free(last_to_str);