Movie Info Provider test: Supporting multiple services
authorSimón Pena <spenap@gmail.com>
Mon, 17 May 2010 13:54:50 +0000 (15:54 +0200)
committerSimón Pena <spenap@gmail.com>
Mon, 17 May 2010 14:17:28 +0000 (16:17 +0200)
The command line options at the test file are updated, so that
we can choose between querying WATC or TMDB.

test/mvs-minfo-provider-test.c

index 54cf39c..bf258f1 100644 (file)
 
 static GMainLoop *loop = NULL;
 static gchar *query = "Zombieland";
+static gboolean watc = FALSE;
+static gboolean tmdb = FALSE;
 
 static GOptionEntry entries[] = {
+        { "watc", 'w', 0, G_OPTION_ARG_NONE, &watc, "Query WATC service", NULL },
+        { "tmdb", 't', 0, G_OPTION_ARG_NONE, &tmdb, "Query TMDB service (default)", NULL },
         { "query", 'q', 0, G_OPTION_ARG_STRING, &query, "query", "query term" },
         { NULL }
 };
@@ -39,14 +43,15 @@ response_received_callback (MvsMInfoProvider *minfo_provider, GList *list,
 
         for (tmp = list; tmp; tmp = tmp->next) {
 
-                g_return_if_fail (MVS_IS_TMDB_MOVIE (tmp->data));
+                if (MVS_IS_TMDB_MOVIE (tmp->data)) {
 
-                MvsTmdbMovie *movie_info = MVS_TMDB_MOVIE (tmp->data);
+                        MvsTmdbMovie *tmdb_movie = MVS_TMDB_MOVIE (tmp->data);
 
-                mvs_tmdb_movie_print (movie_info);
-                g_print ("\n");
+                        mvs_tmdb_movie_print (tmdb_movie);
+                        g_print ("\n");
 
-                g_object_unref (movie_info);
+                        g_object_unref (tmdb_movie);
+                }
         }
 
         g_list_free (list);
@@ -57,10 +62,10 @@ int
 main (int argc, char **argv)
 {
         MvsMInfoProvider *minfo_provider = NULL;
-        MvsWatcMovie *watc_movie = NULL;
         GOptionContext *context = NULL;
         GOptionGroup *gst_option_group = NULL;
         GError *error = NULL;
+        MvsService service = MVS_SERVICE_TMDB;
 
         g_type_init ();
 
@@ -73,17 +78,21 @@ main (int argc, char **argv)
                 return -1;
         }
 
-        watc_movie = mvs_watc_movie_new ();
+        if (watc)
+                service = MVS_SERVICE_WATC;
+        else if (tmdb)
+                service = MVS_SERVICE_TMDB;
+
         minfo_provider = mvs_minfo_provider_new ();
         g_signal_connect (minfo_provider, "response-received",
                           G_CALLBACK (response_received_callback), NULL);
 
         loop = g_main_loop_new (NULL, FALSE);
 
-        mvs_minfo_provider_query (minfo_provider, query);
+        mvs_minfo_provider_query (minfo_provider, service,
+                                  query);
 
         g_main_loop_run (loop);
-        g_object_unref (watc_movie);
         g_object_unref (minfo_provider);
         g_main_loop_unref (loop);