diff options
author | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2014-02-24 22:05:15 +0800 |
---|---|---|
committer | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2014-02-26 17:32:36 +0800 |
commit | 25f83bd5627ab9812cd1e402863079b7b7fe368f (patch) | |
tree | 6dae0e3a5a6515ef08d4d8969372f379dbe5caab /libempathy-gtk | |
parent | 6a1fee5ce2917c193e82288ddc9788d1192fbb84 (diff) | |
download | gsoc2013-empathy-25f83bd5627ab9812cd1e402863079b7b7fe368f.tar gsoc2013-empathy-25f83bd5627ab9812cd1e402863079b7b7fe368f.tar.gz gsoc2013-empathy-25f83bd5627ab9812cd1e402863079b7b7fe368f.tar.bz2 gsoc2013-empathy-25f83bd5627ab9812cd1e402863079b7b7fe368f.tar.lz gsoc2013-empathy-25f83bd5627ab9812cd1e402863079b7b7fe368f.tar.xz gsoc2013-empathy-25f83bd5627ab9812cd1e402863079b7b7fe368f.tar.zst gsoc2013-empathy-25f83bd5627ab9812cd1e402863079b7b7fe368f.zip |
call-utils: use TpAccountChannelRequest higher level API
https://bugzilla.gnome.org/show_bug.cgi?id=725070
Diffstat (limited to 'libempathy-gtk')
-rw-r--r-- | libempathy-gtk/empathy-call-utils.c | 53 | ||||
-rw-r--r-- | libempathy-gtk/empathy-call-utils.h | 6 |
2 files changed, 26 insertions, 33 deletions
diff --git a/libempathy-gtk/empathy-call-utils.c b/libempathy-gtk/empathy-call-utils.c index 261205b0f..c6380ba89 100644 --- a/libempathy-gtk/empathy-call-utils.c +++ b/libempathy-gtk/empathy-call-utils.c @@ -71,30 +71,6 @@ show_call_error (GError *error) gtk_widget_show (dialog); } -GHashTable * -empathy_call_create_call_request (const gchar *contact, - gboolean initial_video) -{ - GHashTable *asv = tp_asv_new ( - TP_PROP_CHANNEL_CHANNEL_TYPE, G_TYPE_STRING, - TP_IFACE_CHANNEL_TYPE_CALL, - TP_PROP_CHANNEL_TARGET_HANDLE_TYPE, G_TYPE_UINT, - TP_HANDLE_TYPE_CONTACT, - TP_PROP_CHANNEL_TARGET_ID, G_TYPE_STRING, - contact, - TP_PROP_CHANNEL_TYPE_CALL_INITIAL_AUDIO, G_TYPE_BOOLEAN, - TRUE, - NULL); - - /* Only add InitialVideo if it is true: it should work - * with genuinely voice-only CMs. */ - if (initial_video) - tp_asv_set_boolean (asv, TP_PROP_CHANNEL_TYPE_CALL_INITIAL_VIDEO, - initial_video); - - return asv; -} - static void create_call_channel_cb (GObject *source, GAsyncResult *result, @@ -111,21 +87,36 @@ create_call_channel_cb (GObject *source, show_call_error (error); } +TpAccountChannelRequest * +empathy_call_create_call_request (TpAccount *account, + const gchar *contact, + gboolean initial_video, + gint64 timestamp) +{ + TpAccountChannelRequest *call_req; + + if (initial_video) + call_req = tp_account_channel_request_new_audio_video_call (account, + timestamp); + else + call_req = tp_account_channel_request_new_audio_call (account, timestamp); + + tp_account_channel_request_set_target_id (call_req, TP_HANDLE_TYPE_CONTACT, + contact); + + return call_req; +} + void empathy_call_new_with_streams (const gchar *contact, TpAccount *account, gboolean initial_video, gint64 timestamp) { - GHashTable *call_request; TpAccountChannelRequest *call_req; - /* Call */ - call_request = empathy_call_create_call_request (contact, initial_video); - - call_req = tp_account_channel_request_new (account, call_request, timestamp); - - g_hash_table_unref (call_request); + call_req = empathy_call_create_call_request (account, contact, initial_video, + timestamp); tp_account_channel_request_create_channel_async (call_req, EMPATHY_CALL_TP_BUS_NAME, NULL, create_call_channel_cb, NULL); diff --git a/libempathy-gtk/empathy-call-utils.h b/libempathy-gtk/empathy-call-utils.h index d8656e896..e35c7e3f6 100644 --- a/libempathy-gtk/empathy-call-utils.h +++ b/libempathy-gtk/empathy-call-utils.h @@ -31,8 +31,10 @@ void empathy_call_new_with_streams (const gchar *contact, gboolean initial_video, gint64 timestamp); -GHashTable * empathy_call_create_call_request (const gchar *contact, - gboolean initial_video); +TpAccountChannelRequest * empathy_call_create_call_request (TpAccount *account, + const gchar *contact, + gboolean initial_video, + gint64 timestamp); TpSendingState empathy_call_channel_get_video_state (TpCallChannel *self); void empathy_call_channel_send_video (TpCallChannel *self, |