diff options
Diffstat (limited to 'libempathy')
-rw-r--r-- | libempathy/empathy-utils.c | 30 | ||||
-rw-r--r-- | libempathy/empathy-utils.h | 4 |
2 files changed, 34 insertions, 0 deletions
diff --git a/libempathy/empathy-utils.c b/libempathy/empathy-utils.c index f322f0288..0e2c4b588 100644 --- a/libempathy/empathy-utils.c +++ b/libempathy/empathy-utils.c @@ -451,3 +451,33 @@ empathy_call_contact (EmpathyContact *contact) #endif } +void +empathy_chat_with_contact (EmpathyContact *contact) +{ + MissionControl *mc; + + mc = empathy_mission_control_new (); + mission_control_request_channel (mc, + empathy_contact_get_account (contact), + TP_IFACE_CHANNEL_TYPE_TEXT, + empathy_contact_get_handle (contact), + TP_HANDLE_TYPE_CONTACT, + NULL, NULL); + g_object_unref (mc); +} + +void +empathy_chat_with_contact_id (McAccount *account, const gchar *contact_id) +{ + MissionControl *mc; + + mc = empathy_mission_control_new (); + mission_control_request_channel_with_string_handle (mc, + account, + TP_IFACE_CHANNEL_TYPE_TEXT, + contact_id, + TP_HANDLE_TYPE_CONTACT, + NULL, NULL); + g_object_unref (mc); +} + diff --git a/libempathy/empathy-utils.h b/libempathy/empathy-utils.h index 746e8de5b..1f3700d22 100644 --- a/libempathy/empathy-utils.h +++ b/libempathy/empathy-utils.h @@ -89,6 +89,10 @@ gchar * empathy_inspect_handle (McAccount *account, gchar * empathy_inspect_channel (McAccount *account, TpChan *tp_chan); void empathy_call_contact (EmpathyContact *contact); +void empathy_chat_with_contact (EmpathyContact *contact); +void empathy_chat_with_contact_id (McAccount *account, + const gchar *contact_id); + G_END_DECLS #endif /* __EMPATHY_UTILS_H__ */ |