From 985a3c10e9fa40d2023f73df03d7709816bf0ecc Mon Sep 17 00:00:00 2001 From: Sjoerd Simons Date: Sat, 24 Apr 2010 16:58:49 +0100 Subject: dispatcher: add timestamp attribute to DispatcherRequestData --- libempathy/empathy-dispatcher.c | 14 ++++++++++---- libempathy/empathy-dispatcher.h | 2 ++ 2 files changed, 12 insertions(+), 4 deletions(-) (limited to 'libempathy') diff --git a/libempathy/empathy-dispatcher.c b/libempathy/empathy-dispatcher.c index 027a9601f..046f6a981 100644 --- a/libempathy/empathy-dispatcher.c +++ b/libempathy/empathy-dispatcher.c @@ -141,6 +141,7 @@ typedef struct /* Properties to pass to the channel when requesting it */ GHashTable *request; + gint64 timestamp; EmpathyDispatcherRequestCb *cb; gpointer user_data; gpointer *request_data; @@ -218,6 +219,7 @@ new_dispatcher_request_data (EmpathyDispatcher *self, guint handle_type, guint handle, GHashTable *request, + gint64 timestamp, EmpathyContact *contact, EmpathyDispatcherRequestCb *cb, gpointer user_data) @@ -233,6 +235,7 @@ new_dispatcher_request_data (EmpathyDispatcher *self, result->handle_type = handle_type; result->handle = handle; result->request = request; + result->timestamp = timestamp; if (contact != NULL) result->contact = g_object_ref (contact); @@ -1329,7 +1332,9 @@ empathy_dispatcher_chat_with_contact (EmpathyContact *contact, /* The contact handle might not be known yet */ request_data = new_dispatcher_request_data (self, connection, TP_IFACE_CHANNEL_TYPE_TEXT, TP_HANDLE_TYPE_CONTACT, - empathy_contact_get_handle (contact), NULL, contact, callback, user_data); + empathy_contact_get_handle (contact), NULL, + EMPATHY_DISPATCHER_NON_USER_ACTION, contact, + callback, user_data); request_data->should_ensure = TRUE; connection_data->outstanding_requests = g_list_prepend @@ -1459,6 +1464,7 @@ empathy_dispatcher_join_muc (TpConnection *connection, /* Don't know the room handle yet */ request_data = new_dispatcher_request_data (self, connection, TP_IFACE_CHANNEL_TYPE_TEXT, TP_HANDLE_TYPE_ROOM, 0, NULL, + EMPATHY_DISPATCHER_NON_USER_ACTION, NULL, callback, user_data); request_data->should_ensure = TRUE; @@ -1619,7 +1625,7 @@ empathy_dispatcher_call_create_or_ensure_channel ( call = tp_cli_channel_dispatcher_call_ensure_channel ( priv->channel_dispatcher, -1, tp_proxy_get_object_path (TP_PROXY (account)), - request_data->request, 0, handler, + request_data->request, request_data->timestamp, handler, dispatcher_create_channel_cb, request_data, NULL, NULL); } else @@ -1627,7 +1633,7 @@ empathy_dispatcher_call_create_or_ensure_channel ( call = tp_cli_channel_dispatcher_call_create_channel ( priv->channel_dispatcher, -1, tp_proxy_get_object_path (TP_PROXY (account)), - request_data->request, 0, handler, + request_data->request, request_data->timestamp, handler, dispatcher_create_channel_cb, request_data, NULL, G_OBJECT (dispatcher)); } @@ -1682,7 +1688,7 @@ empathy_dispatcher_create_channel (EmpathyDispatcher *self, request_data = new_dispatcher_request_data (self, connection, channel_type, handle_type, handle, request, - NULL, callback, user_data); + EMPATHY_DISPATCHER_NON_USER_ACTION, NULL, callback, user_data); connection_data->outstanding_requests = g_list_prepend (connection_data->outstanding_requests, request_data); diff --git a/libempathy/empathy-dispatcher.h b/libempathy/empathy-dispatcher.h index 6176ea088..97ac49bea 100644 --- a/libempathy/empathy-dispatcher.h +++ b/libempathy/empathy-dispatcher.h @@ -40,6 +40,8 @@ G_BEGIN_DECLS #define EMPATHY_IS_DISPATCHER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EMPATHY_TYPE_DISPATCHER)) #define EMPATHY_DISPATCHER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), EMPATHY_TYPE_DISPATCHER, EmpathyDispatcherClass)) +#define EMPATHY_DISPATCHER_NON_USER_ACTION (G_GINT64_CONSTANT (0)) + typedef struct _EmpathyDispatcher EmpathyDispatcher; typedef struct _EmpathyDispatcherClass EmpathyDispatcherClass; -- cgit v1.2.3