[grilo] core: Send operation id if operation is cancellable
- From: Juan A. Suarez Romero <jasuarez src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [grilo] core: Send operation id if operation is cancellable
- Date: Wed, 13 Apr 2011 10:14:57 +0000 (UTC)
commit 15d1e0d09e3c84383271a4cf9f23554fb0adaa9a
Author: Juan A. Suarez Romero <jasuarez igalia com>
Date: Tue Apr 5 17:40:18 2011 +0000
core: Send operation id if operation is cancellable
metadata() and media_from_uri() are both cancellable operations, but none of
them are sending the operation id in the callback.
This commit fix this.
Signed-off-by: Juan A. Suarez Romero <jasuarez igalia com>
src/grl-media-source.c | 15 +++++++++++----
src/grl-media-source.h | 2 ++
src/grl-multiple.c | 9 +++++----
tools/grilo-test-ui/main.c | 3 ++-
4 files changed, 20 insertions(+), 9 deletions(-)
---
diff --git a/src/grl-media-source.c b/src/grl-media-source.c
index 62e4ce7..e8444c1 100644
--- a/src/grl-media-source.c
+++ b/src/grl-media-source.c
@@ -409,7 +409,7 @@ metadata_idle (gpointer user_data)
GRL_DEBUG (" operation was cancelled");
error = g_error_new (GRL_CORE_ERROR, GRL_CORE_ERROR_OPERATION_CANCELLED,
"Operation was cancelled");
- ms->callback (ms->source, ms->media, ms->user_data, error);
+ ms->callback (ms->source, ms->metadata_id, ms->media, ms->user_data, error);
g_error_free (error);
}
return FALSE;
@@ -455,6 +455,7 @@ remove_idle (gpointer user_data)
static void
media_from_uri_relay_cb (GrlMediaSource *source,
+ guint media_from_uri_id,
GrlMedia *media,
gpointer user_data,
const GError *error)
@@ -488,7 +489,7 @@ media_from_uri_relay_cb (GrlMediaSource *source,
}
}
- mfsrc->user_callback (source,
+ mfsrc->user_callback (source, mfsrc->spec->media_from_uri_id,
media, mfsrc->user_data, _error);
if (should_free_error && _error) {
@@ -517,7 +518,7 @@ media_from_uri_idle (gpointer user_data)
GRL_DEBUG (" operation was cancelled");
error = g_error_new (GRL_CORE_ERROR, GRL_CORE_ERROR_OPERATION_CANCELLED,
"Operation was cancelled");
- mfus->callback (mfus->source, NULL, mfus->user_data, error);
+ mfus->callback (mfus->source, mfus->media_from_uri_id, NULL, mfus->user_data, error);
g_error_free (error);
}
return FALSE;
@@ -818,6 +819,7 @@ multiple_result_async_cb (GrlMediaSource *source,
static void
metadata_result_relay_cb (GrlMediaSource *source,
+ guint metadata_id,
GrlMedia *media,
gpointer user_data,
const GError *error)
@@ -845,7 +847,7 @@ metadata_result_relay_cb (GrlMediaSource *source,
should_free_error = TRUE;
}
- mrc->user_callback (source, media, mrc->user_data, error);
+ mrc->user_callback (source, mrc->spec->metadata_id, media, mrc->user_data, error);
if (should_free_error && _error)
g_error_free (_error);
@@ -862,6 +864,7 @@ metadata_result_relay_cb (GrlMediaSource *source,
static void
metadata_result_async_cb (GrlMediaSource *source,
+ guint operation_id,
GrlMedia *media,
gpointer user_data,
const GError *error)
@@ -1184,6 +1187,7 @@ metadata_full_resolution_done_cb (GrlMetadataSource *source,
* the plugin owns it) */
}
cb_info->user_callback (cb_info->source,
+ cb_info->ctl_info->metadata_id,
media,
cb_info->user_data,
_error);
@@ -1200,6 +1204,7 @@ metadata_full_resolution_done_cb (GrlMetadataSource *source,
static void
metadata_full_resolution_ctl_cb (GrlMediaSource *source,
+ guint metadata_id,
GrlMedia *media,
gpointer user_data,
const GError *error)
@@ -1214,6 +1219,7 @@ metadata_full_resolution_ctl_cb (GrlMediaSource *source,
if (error) {
GRL_WARNING ("Operation failed: %s", error->message);
ctl_info->user_callback (source,
+ ctl_info->metadata_id,
media,
ctl_info->user_data,
error);
@@ -1258,6 +1264,7 @@ metadata_full_resolution_ctl_cb (GrlMediaSource *source,
if (!done_info->pending_callbacks) {
ctl_info->user_callback (source,
+ ctl_info->metadata_id,
media,
ctl_info->user_data,
NULL);
diff --git a/src/grl-media-source.h b/src/grl-media-source.h
index 6ff26ff..02f43ad 100644
--- a/src/grl-media-source.h
+++ b/src/grl-media-source.h
@@ -118,6 +118,7 @@ typedef void (*GrlMediaSourceResultCb) (GrlMediaSource *source,
/**
* GrlMediaSourceMetadataCb:
* @source: a media source
+ * @operation_id: operation identifier
* @media: (transfer full): a data transfer object
* @user_data: user data passed to grl_media_source_metadata()
* @error: (type uint): possible #GError generated at processing
@@ -125,6 +126,7 @@ typedef void (*GrlMediaSourceResultCb) (GrlMediaSource *source,
* Prototype for the callback passed to grl_media_source_metadata()
*/
typedef void (*GrlMediaSourceMetadataCb) (GrlMediaSource *source,
+ guint operation_id,
GrlMedia *media,
gpointer user_data,
const GError *error);
diff --git a/src/grl-multiple.c b/src/grl-multiple.c
index a49fce6..c711646 100644
--- a/src/grl-multiple.c
+++ b/src/grl-multiple.c
@@ -445,6 +445,7 @@ free_media_from_uri_data (struct MediaFromUriCallbackData *mfucd)
static void
media_from_uri_cb (GrlMediaSource *source,
+ guint operation_id,
GrlMedia *media,
gpointer user_data,
const GError *error)
@@ -453,16 +454,16 @@ media_from_uri_cb (GrlMediaSource *source,
(struct MediaFromUriCallbackData *) user_data;
if (error) {
- mfucd->user_callback (NULL, NULL, mfucd->user_data, error);
+ mfucd->user_callback (NULL, 0, NULL, mfucd->user_data, error);
} else if (media) {
- mfucd->user_callback (source, media, mfucd->user_data, NULL);
+ mfucd->user_callback (source, 0, media, mfucd->user_data, NULL);
} else {
GError *_error = g_error_new (GRL_CORE_ERROR,
GRL_CORE_ERROR_MEDIA_FROM_URI_FAILED,
"Could not resolve media for URI '%s'",
mfucd->uri);
- mfucd->user_callback (source, media, mfucd->user_data, _error);
+ mfucd->user_callback (source, 0, media, mfucd->user_data, _error);
g_error_free (_error);
}
@@ -732,6 +733,6 @@ grl_multiple_get_media_from_uri (const gchar *uri,
/* No source knows how to deal with 'uri', invoke user callback
with NULL GrlMedia */
if (!found) {
- callback (NULL, NULL, user_data, NULL);
+ callback (NULL, 0, NULL, user_data, NULL);
}
}
diff --git a/tools/grilo-test-ui/main.c b/tools/grilo-test-ui/main.c
index 9983c6b..ba536c4 100644
--- a/tools/grilo-test-ui/main.c
+++ b/tools/grilo-test-ui/main.c
@@ -516,6 +516,7 @@ cancel_current_operation (void)
static void
metadata_cb (GrlMediaSource *source,
+ guint operation_id,
GrlMedia *media,
gpointer user_data,
const GError *error)
@@ -826,7 +827,7 @@ metadata (GrlMediaSource *source, GrlMedia *media)
metadata_cb,
NULL);
} else {
- metadata_cb (source, media, NULL, NULL);
+ metadata_cb (source, 0, media, NULL, NULL);
}
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]