#include <libmissioncontrol/mc-account.h>
+#include <libempathy/empathy-call-factory.h>
#include <libempathy/empathy-contact-factory.h>
#include <libempathy/empathy-contact-list.h>
#include <libempathy/empathy-contact-groups.h>
-1);
if (contact) {
- empathy_start_call_with_contact (contact);
+ EmpathyCallFactory *factory;
+
+ factory = empathy_call_factory_get ();
+ empathy_call_factory_new_call (factory, contact);
+
g_object_unref (contact);
}
}
#include <glib/gi18n-lib.h>
#include <gtk/gtk.h>
+#include <libempathy/empathy-call-factory.h>
#include <libempathy/empathy-log-manager.h>
#include <libempathy/empathy-dispatcher.h>
#include <libempathy/empathy-utils.h>
return item;
}
+static void
+empathy_contact_call_menu_item_activated (GtkMenuItem *item,
+ EmpathyContact *contact)
+{
+ EmpathyCallFactory *factory;
+
+ factory = empathy_call_factory_get ();
+ empathy_call_factory_new_call (factory, contact);
+}
+
GtkWidget *
empathy_contact_call_menu_item_new (EmpathyContact *contact)
{
gtk_widget_set_sensitive (item, empathy_contact_can_voip (contact));
gtk_widget_show (image);
- g_signal_connect_swapped (item, "activate",
- G_CALLBACK (empathy_start_call_with_contact),
+ g_signal_connect (item, "activate",
+ G_CALLBACK (empathy_contact_call_menu_item_activated),
contact);
return item;
#include <libmissioncontrol/mc-account.h>
#include <libmissioncontrol/mission-control.h>
+#include <libempathy/empathy-call-factory.h>
#include <libempathy/empathy-contact-factory.h>
#include <libempathy/empathy-contact-manager.h>
#include <libempathy/empathy-dispatcher.h>
if (response == 1) {
EmpathyContactFactory *factory;
EmpathyContact *contact;
+ EmpathyCallFactory *call_factory;
factory = empathy_contact_factory_dup_singleton ();
contact = empathy_contact_factory_get_from_id (factory, account, id);
empathy_start_call_with_contact (contact);
+ call_factory = empathy_call_factory_get();
+ empathy_call_factory_new_call (call_factory, contact);
+
g_object_unref (contact);
g_object_unref (factory);
} else if (response == 2) {
return dialog->dialog;
}
-
g_str_equal (proxy_a->bus_name, proxy_b->bus_name);
}
-static void
-empathy_call_request_cb (EmpathyDispatchOperation *operation,
- const GError *error, gpointer user_data)
-{
- EmpathyContact *contact = EMPATHY_CONTACT (user_data);
-
- if (error != NULL)
- {
- DEBUG ("Failed to request streamed media channel %s",
- error->message);
- }
- else
- {
- EmpathyTpCall *call =
- EMPATHY_TP_CALL (
- empathy_dispatch_operation_get_channel_wrapper (operation));
-
- empathy_tp_call_to (call, contact);
- }
-
- g_object_unref (contact);
-}
-
-void
-empathy_start_call_with_contact (EmpathyContact *contact)
-{
- g_object_ref (contact);
- empathy_dispatcher_call_with_contact (contact, empathy_call_request_cb,
- contact);
-}
-
gboolean
empathy_check_available_state (void)
{
g_object_unref (idle);
if (presence != MC_PRESENCE_AVAILABLE &&
- presence != MC_PRESENCE_UNSET) {
+ presence != MC_PRESENCE_UNSET) {
return FALSE;
}
return TRUE;
}
-
gconstpointer b);
guint empathy_proxy_hash (gconstpointer key);
gboolean empathy_check_available_state (void);
-/* Temporary utility function, should be replaces by better voip infrastructure
- * soon */
-void empathy_start_call_with_contact (EmpathyContact *contact);
G_END_DECLS