aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>2011-05-24 23:23:22 +0800
committerEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>2011-09-05 22:53:37 +0800
commitb499944f633b2c8b5efd7c19b27399520c46ae66 (patch)
treeda46ce5ab1610d9de72be36f6b375579b364fbe6
parent2ab17b3039eef2c93d6fce4c5bee5f452fa8e8c1 (diff)
downloadgsoc2013-empathy-b499944f633b2c8b5efd7c19b27399520c46ae66.tar
gsoc2013-empathy-b499944f633b2c8b5efd7c19b27399520c46ae66.tar.gz
gsoc2013-empathy-b499944f633b2c8b5efd7c19b27399520c46ae66.tar.bz2
gsoc2013-empathy-b499944f633b2c8b5efd7c19b27399520c46ae66.tar.lz
gsoc2013-empathy-b499944f633b2c8b5efd7c19b27399520c46ae66.tar.xz
gsoc2013-empathy-b499944f633b2c8b5efd7c19b27399520c46ae66.tar.zst
gsoc2013-empathy-b499944f633b2c8b5efd7c19b27399520c46ae66.zip
empathy_dispatcher_chat_with_contact_id(): add optional cb
Conflicts: libempathy-gtk/empathy-individual-menu.c libempathy-gtk/empathy-new-message-dialog.c libempathy/empathy-dispatcher.c libempathy/empathy-dispatcher.h src/empathy-chat-manager.c src/empathy-chat-window.c
-rw-r--r--libempathy-gtk/empathy-chat.c6
-rw-r--r--libempathy-gtk/empathy-individual-menu.c3
-rw-r--r--libempathy-gtk/empathy-new-message-dialog.c6
-rw-r--r--libempathy/empathy-auth-factory.c4
-rw-r--r--libempathy/empathy-request-util.c26
-rw-r--r--libempathy/empathy-request-util.h10
-rw-r--r--src/empathy-chat-manager.c6
-rw-r--r--src/empathy-chat-window.c4
8 files changed, 43 insertions, 22 deletions
diff --git a/libempathy-gtk/empathy-chat.c b/libempathy-gtk/empathy-chat.c
index 032dd2464..cf01632b4 100644
--- a/libempathy-gtk/empathy-chat.c
+++ b/libempathy-gtk/empathy-chat.c
@@ -275,11 +275,13 @@ account_reconnected (EmpathyChat *chat,
if (priv->sms_channel)
empathy_sms_contact_id (
account, priv->id,
- TP_USER_ACTION_TIME_NOT_USER_ACTION);
+ TP_USER_ACTION_TIME_NOT_USER_ACTION,
+ NULL, NULL);
else
empathy_chat_with_contact_id (
account, priv->id,
- TP_USER_ACTION_TIME_NOT_USER_ACTION);
+ TP_USER_ACTION_TIME_NOT_USER_ACTION,
+ NULL, NULL);
break;
case TP_HANDLE_TYPE_ROOM:
empathy_join_muc (account, priv->id,
diff --git a/libempathy-gtk/empathy-individual-menu.c b/libempathy-gtk/empathy-individual-menu.c
index 745474d84..1a3dbb7e1 100644
--- a/libempathy-gtk/empathy-individual-menu.c
+++ b/libempathy-gtk/empathy-individual-menu.c
@@ -786,7 +786,8 @@ empathy_individual_sms_menu_item_activated (GtkMenuItem *item,
empathy_sms_contact_id (
empathy_contact_get_account (contact),
empathy_contact_get_id (contact),
- empathy_get_current_action_time ());
+ empathy_get_current_action_time (),
+ NULL, NULL);
}
GtkWidget *
diff --git a/libempathy-gtk/empathy-new-message-dialog.c b/libempathy-gtk/empathy-new-message-dialog.c
index 1c4bbaad5..40c25974c 100644
--- a/libempathy-gtk/empathy-new-message-dialog.c
+++ b/libempathy-gtk/empathy-new-message-dialog.c
@@ -80,12 +80,14 @@ empathy_new_message_dialog_response (GtkDialog *dialog, int response_id)
{
case EMP_NEW_MESSAGE_TEXT:
empathy_chat_with_contact_id (account, contact_id,
- empathy_get_current_action_time ());
+ empathy_get_current_action_time (),
+ NULL, NULL);
break;
case EMP_NEW_MESSAGE_SMS:
empathy_sms_contact_id (account, contact_id,
- empathy_get_current_action_time ());
+ empathy_get_current_action_time (),
+ NULL, NULL);
break;
default:
diff --git a/libempathy/empathy-auth-factory.c b/libempathy/empathy-auth-factory.c
index 56b3b73eb..069f60756 100644
--- a/libempathy/empathy-auth-factory.c
+++ b/libempathy/empathy-auth-factory.c
@@ -20,9 +20,7 @@
#include "empathy-auth-factory.h"
-#include <telepathy-glib/interfaces.h>
-#include <telepathy-glib/simple-handler.h>
-#include <telepathy-glib/util.h>
+#include <telepathy-glib/telepathy-glib.h>
#define DEBUG_FLAG EMPATHY_DEBUG_TLS
#include "empathy-debug.h"
diff --git a/libempathy/empathy-request-util.c b/libempathy/empathy-request-util.c
index 409fdf54a..6b53dab9a 100644
--- a/libempathy/empathy-request-util.c
+++ b/libempathy/empathy-request-util.c
@@ -40,7 +40,7 @@ empathy_chat_with_contact (EmpathyContact *contact,
{
empathy_chat_with_contact_id (
empathy_contact_get_account (contact), empathy_contact_get_id (contact),
- timestamp);
+ timestamp, NULL, NULL);
}
static void
@@ -63,7 +63,9 @@ create_text_channel (TpAccount *account,
TpHandleType target_handle_type,
const gchar *target_id,
gboolean sms_channel,
- gint64 timestamp)
+ gint64 timestamp,
+ GAsyncReadyCallback callback,
+ gpointer user_data)
{
GHashTable *request;
TpAccountChannelRequest *req;
@@ -83,19 +85,23 @@ create_text_channel (TpAccount *account,
tp_account_channel_request_set_delegate_to_preferred_handler (req, TRUE);
tp_account_channel_request_ensure_channel_async (req, EMPATHY_CHAT_BUS_NAME,
- NULL, ensure_text_channel_cb, NULL);
+ NULL, callback ? callback : ensure_text_channel_cb, user_data);
g_hash_table_unref (request);
g_object_unref (req);
}
+/* @callback is optional, but if it's provided, it should call the right
+ * _finish() func that we call in ensure_text_channel_cb() */
void
empathy_chat_with_contact_id (TpAccount *account,
const gchar *contact_id,
- gint64 timestamp)
+ gint64 timestamp,
+ GAsyncReadyCallback callback,
+ gpointer user_data)
{
create_text_channel (account, TP_HANDLE_TYPE_CONTACT,
- contact_id, FALSE, timestamp);
+ contact_id, FALSE, timestamp, callback, user_data);
}
void
@@ -104,14 +110,18 @@ empathy_join_muc (TpAccount *account,
gint64 timestamp)
{
create_text_channel (account, TP_HANDLE_TYPE_ROOM,
- room_name, FALSE, timestamp);
+ room_name, FALSE, timestamp, NULL, NULL);
}
+/* @callback is optional, but if it's provided, it should call the right
+ * _finish() func that we call in ensure_text_channel_cb() */
void
empathy_sms_contact_id (TpAccount *account,
const gchar *contact_id,
- gint64 timestamp)
+ gint64 timestamp,
+ GAsyncReadyCallback callback,
+ gpointer user_data)
{
create_text_channel (account, TP_HANDLE_TYPE_CONTACT,
- contact_id, TRUE, timestamp);
+ contact_id, TRUE, timestamp, callback, user_data);
}
diff --git a/libempathy/empathy-request-util.h b/libempathy/empathy-request-util.h
index 70a607e73..6781b72d4 100644
--- a/libempathy/empathy-request-util.h
+++ b/libempathy/empathy-request-util.h
@@ -45,9 +45,11 @@ G_BEGIN_DECLS
/* Requesting 1 to 1 text channels */
void empathy_chat_with_contact_id (TpAccount *account,
const gchar *contact_id,
- gint64 timestamp);
+ gint64 timestamp,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
-void empathy_chat_with_contact (EmpathyContact *contact,
+void empathy_chat_with_contact (EmpathyContact *contact,
gint64 timestamp);
/* Request a muc channel */
@@ -58,7 +60,9 @@ void empathy_join_muc (TpAccount *account,
/* Request a sms channel */
void empathy_sms_contact_id (TpAccount *account,
const gchar *contact_id,
- gint64 timestamp);
+ gint64 timestamp,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
G_END_DECLS
diff --git a/src/empathy-chat-manager.c b/src/empathy-chat-manager.c
index 0e1745edb..5f19159c5 100644
--- a/src/empathy-chat-manager.c
+++ b/src/empathy-chat-manager.c
@@ -448,9 +448,11 @@ empathy_chat_manager_undo_closed_chat (EmpathyChatManager *self,
if (data->room)
empathy_join_muc (data->account, data->id, timestamp);
else if (data->sms)
- empathy_sms_contact_id (data->account, data->id, timestamp);
+ empathy_sms_contact_id (data->account, data->id, timestamp,
+ NULL, NULL);
else
- empathy_chat_with_contact_id (data->account, data->id, timestamp);
+ empathy_chat_with_contact_id (data->account, data->id, timestamp,
+ NULL, NULL);
g_signal_emit (self, signals[CLOSED_CHATS_CHANGED], 0,
g_queue_get_length (priv->closed_queue));
diff --git a/src/empathy-chat-window.c b/src/empathy-chat-window.c
index 97ed1b9de..a84eef7a0 100644
--- a/src/empathy-chat-window.c
+++ b/src/empathy-chat-window.c
@@ -1866,7 +1866,9 @@ chat_window_drag_data_received (GtkWidget *widget,
if (!chat) {
empathy_chat_with_contact_id (
- account, contact_id, empathy_get_current_action_time ());
+ account, contact_id,
+ empathy_get_current_action_time (),
+ NULL, NULL);
g_strfreev (strv);
return;