#include <json-glib/json-glib.h>
#include "mvs-tmdb-movie.h"
+#include "mvs-watc-movie.h"
#define TMDB_API_KEY "249e1a42df9bee09fac5e92d3a51396b"
#define TMDB_LANGUAGE "en"
signals[RESPONSE_RECEIVED] = g_signal_new ("response-received", MVS_TYPE_MINFO_PROVIDER,
G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE | G_SIGNAL_NO_HOOKS,
- G_STRUCT_OFFSET (MvsMInfoProviderClass, response_callback),
+ 0,
NULL,
NULL,
g_cclosure_marshal_VOID__POINTER,
xmlNodePtr cur_node = NULL;
MvsTmdbMovie *movie_info = mvs_tmdb_movie_new ();
+ /* We use the loop to append each property to the movie object */
for (cur_node = node; cur_node; cur_node = cur_node->next) {
if (cur_node->type == XML_ELEMENT_NODE) {
- gchar *value = xmlNodeGetContent (cur_node);
-
- g_object_set (movie_info, cur_node->name, value, NULL);
+ gchar *value = NULL;
+
+ if (g_strcmp0 (cur_node->name, "images") == 0) {
+ xmlNodePtr cur_image = NULL;
+ for (cur_image = cur_node->children; cur_image;
+ cur_image = cur_image->next) {
+
+ value = xmlGetProp (cur_image, "url");
+ g_message ("(%s: %s)", cur_image->name, value);
+ g_free (value);
+ }
+ }
+ else {
+ value = xmlNodeGetContent (cur_node);
+ g_object_set (movie_info, cur_node->name, value, NULL);
+ g_free (value);
+ }
}
}
return movie_info;
list = generate_list (nodeset);
}
- xmlXPathFreeNodeSetList (xpath_obj);
+ xmlXPathFreeObject (xpath_obj);
xmlXPathFreeContext (context_ptr);
xmlFreeDoc (document);
for (i = 0; i < array_length; i++) {
const gchar *result =
json_array_get_string_element (results, i);
- g_message ("Result %d: %s\n", i, result);
+ MvsWatcMovie *watc_movie = mvs_watc_movie_new (result);
+ list = g_list_prepend (list, watc_movie);
}
g_object_unref (parser);
+ if (list)
+ list = g_list_reverse (list);
+
return list;
}
static void
-process_response (SoupSession *session, SoupMessage *message,
+process_response_cb (SoupSession *session, SoupMessage *message,
gpointer user_data)
{
MvsMInfoProvider *self = MVS_MINFO_PROVIDER (user_data);
g_warning ("Service unsupported\n");
}
+ g_message ("%s", uri);
return uri;
}
if (message) {
soup_session_queue_message (session, message,
- process_response, self);
+ process_response_cb, self);
message_queued = TRUE;
}