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);
+ const gchar *value = xmlNodeGetContent (cur_node);
g_object_set (movie_info, cur_node->name, value, NULL);
}
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);
}
}
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_signal_emit (self, signals[RESPONSE_RECEIVED], 0, list);
+
+ g_list_free (list);
}
static gchar *
if (message) {
soup_session_queue_message (session, message,
- process_response, self);
+ process_response_cb, self);
message_queued = TRUE;
}