empathy r664 - in trunk: libempathy libempathy-gtk python/pyempathy src



Author: xclaesse
Date: Tue Feb 26 13:31:14 2008
New Revision: 664
URL: http://svn.gnome.org/viewvc/empathy?rev=664&view=rev

Log:
Make use of generated code for using stream engine.


Removed:
   trunk/libempathy/tp-stream-engine.xml
Modified:
   trunk/libempathy-gtk/empathy-call-window.c
   trunk/libempathy/Makefile.am
   trunk/libempathy/empathy-tp-call.c
   trunk/libempathy/empathy-tp-call.h
   trunk/python/pyempathy/pyempathy.defs
   trunk/src/Makefile.am
   trunk/src/empathy-call-chandler.c

Modified: trunk/libempathy-gtk/empathy-call-window.c
==============================================================================
--- trunk/libempathy-gtk/empathy-call-window.c	(original)
+++ trunk/libempathy-gtk/empathy-call-window.c	Tue Feb 26 13:31:14 2008
@@ -196,8 +196,8 @@
           call_window_stop_timeout (window);
           call_window_set_output_video_is_drawing (window, FALSE);
           empathy_tp_call_close_channel (window->call);
-          empathy_tp_call_remove_preview_video (gtk_socket_get_id (GTK_SOCKET
-              (window->preview_video_socket)));
+          empathy_tp_call_remove_preview_video (window->call,
+              gtk_socket_get_id (GTK_SOCKET (window->preview_video_socket)));
           return FALSE;
         default:
           return TRUE;
@@ -205,8 +205,8 @@
     }
   else
     {
-      empathy_tp_call_remove_preview_video (gtk_socket_get_id (GTK_SOCKET
-          (window->preview_video_socket)));
+      empathy_tp_call_remove_preview_video (window->call,
+          gtk_socket_get_id (GTK_SOCKET (window->preview_video_socket)));
       return FALSE;
     }
 }
@@ -344,8 +344,8 @@
   if (widget == window->preview_video_socket)
     {
       empathy_debug (DEBUG_DOMAIN, "Preview socket realized");
-      empathy_tp_call_add_preview_video (gtk_socket_get_id (GTK_SOCKET
-          (window->preview_video_socket)));
+      empathy_tp_call_add_preview_video (window->call,
+          gtk_socket_get_id (GTK_SOCKET (window->preview_video_socket)));
     }
   else
     {

Modified: trunk/libempathy/Makefile.am
==============================================================================
--- trunk/libempathy/Makefile.am	(original)
+++ trunk/libempathy/Makefile.am	Tue Feb 26 13:31:14 2008
@@ -13,8 +13,7 @@
 	empathy-enum-types.h				\
 	empathy-enum-types.c				\
 	empathy-filter-glue.h				\
-	empathy-chandler-glue.h				\
-	tp-stream-engine-gen.h
+	empathy-chandler-glue.h
 
 lib_LTLIBRARIES = libempathy.la
 
@@ -116,9 +115,6 @@
 empathy-filter-glue.h: empathy-filter.xml Makefile
 	$(LIBTOOL) --mode=execute $(DBUS_BINDING_TOOL) --prefix=empathy_filter --mode=glib-server --output=$@ $<
 
-tp-stream-engine-gen.h: tp-stream-engine.xml Makefile.am
-	$(LIBTOOL) --mode=execute $(DBUS_BINDING_TOOL) --prefix=tp_stream_engine --mode=glib-client --output=$@ $<
-
 
 empathy-enum-types.h: stamp-empathy-enum-types.h
 	@true
@@ -180,7 +176,6 @@
 	empathy-marshal.list	\
 	empathy-chandler.xml	\
 	empathy-filter.xml	\
-	tp-stream-engine.xml	\
 	$(stylesheet_DATA)	\
 	$(dtd_DATA)		\
 	$(ircnetworks_DATA)

Modified: trunk/libempathy/empathy-tp-call.c
==============================================================================
--- trunk/libempathy/empathy-tp-call.c	(original)
+++ trunk/libempathy/empathy-tp-call.c	Tue Feb 26 13:31:14 2008
@@ -24,16 +24,16 @@
 #include <libtelepathy/tp-chan-type-streamed-media-gen.h>
 #include <libtelepathy/tp-connmgr.h>
 #include <libtelepathy/tp-helpers.h>
+#include <telepathy-glib/proxy-subclass.h>
 
 #include <libmissioncontrol/mc-account.h>
 
+#include <extensions/extensions.h>
 #include <libempathy/empathy-contact-factory.h>
 #include <libempathy/empathy-debug.h>
 #include <libempathy/empathy-tp-group.h>
 #include <libempathy/empathy-utils.h>
 
-#include "tp-stream-engine-gen.h"
-
 #include "empathy-tp-call.h"
 
 #define DEBUG_DOMAIN "TpCall"
@@ -43,8 +43,6 @@
 
 #define STREAM_ENGINE_BUS_NAME "org.freedesktop.Telepathy.StreamEngine"
 #define STREAM_ENGINE_OBJECT_PATH "/org/freedesktop/Telepathy/StreamEngine"
-#define STREAM_ENGINE_INTERFACE "org.freedesktop.Telepathy.StreamEngine"
-#define CHANNEL_HANDLER_INTERFACE "org.freedesktop.Telepathy.ChannelHandler"
 
 typedef struct _EmpathyTpCallPriv EmpathyTpCallPriv;
 
@@ -52,6 +50,7 @@
 {
   TpConn *connection;
   TpChan *channel;
+  TpProxy *stream_engine;
   EmpathyTpGroup *group;
   EmpathyContact *contact;
   gboolean is_incoming;
@@ -479,28 +478,43 @@
 }
 
 static void
+tp_call_async_cb (TpProxy *proxy,
+                  const GError *error,
+                  gpointer user_data,
+                  GObject *weak_object)
+{
+  if (error)
+    {
+      empathy_debug (DEBUG_DOMAIN, "Error %s: %s",
+          user_data, error->message);
+    }
+}
+
+static void
 tp_call_start_stream_engine (EmpathyTpCall *call)
 {
   EmpathyTpCallPriv *priv = GET_PRIV (call);
-  DBusGProxy *ch_proxy;
-  GError *error = NULL;
 
   empathy_debug (DEBUG_DOMAIN, "Revving up the stream engine");
 
-  ch_proxy = dbus_g_proxy_new_for_name (tp_get_bus (), STREAM_ENGINE_BUS_NAME,
-      STREAM_ENGINE_OBJECT_PATH, CHANNEL_HANDLER_INTERFACE);
+  priv->stream_engine = g_object_new (TP_TYPE_PROXY,
+      "bus-name", STREAM_ENGINE_BUS_NAME,
+      "dbus-connection", tp_get_bus (),
+      "object-path", STREAM_ENGINE_OBJECT_PATH);
+  tp_proxy_add_interface_by_id (priv->stream_engine,
+      EMP_IFACE_QUARK_STREAM_ENGINE);
+  tp_proxy_add_interface_by_id (priv->stream_engine,
+      EMP_IFACE_QUARK_CHANNEL_HANDLER);
 
-  if (!org_freedesktop_Telepathy_ChannelHandler_handle_channel (ch_proxy,
+  emp_cli_channel_handler_call_handle_channel (priv->stream_engine, -1,
         dbus_g_proxy_get_bus_name (DBUS_G_PROXY (priv->connection)),
         dbus_g_proxy_get_path (DBUS_G_PROXY (priv->connection)),
         priv->channel->type,
         dbus_g_proxy_get_path (DBUS_G_PROXY (priv->channel)),
-        priv->channel->handle_type, priv->channel->handle, &error))
-    {
-      empathy_debug (DEBUG_DOMAIN, "Couldn't start stream engine: %s",
-          error->message);
-      g_clear_error (&error);
-    }
+        priv->channel->handle_type, priv->channel->handle,
+        tp_call_async_cb,
+        "calling handle channel", NULL,
+        G_OBJECT (call));
 }
 
 static GObject *
@@ -541,6 +555,7 @@
   account = mission_control_get_account_for_connection (mc, priv->connection,
       NULL);
   priv->group = empathy_tp_group_new (account, priv->channel);
+  g_object_unref (mc);
 
   g_signal_connect (G_OBJECT (priv->group), "member-added",
       G_CALLBACK (tp_call_member_added_cb), (gpointer) call);
@@ -810,43 +825,33 @@
 }
 
 void
-empathy_tp_call_add_preview_video (guint preview_video_socket_id)
+empathy_tp_call_add_preview_video (EmpathyTpCall *call,
+                                   guint preview_video_socket_id)
 {
-  GError *error = NULL;
-  DBusGProxy *ch_proxy;
+  EmpathyTpCallPriv *priv = GET_PRIV (call);
 
   empathy_debug (DEBUG_DOMAIN, "Adding preview video");
 
-  ch_proxy = dbus_g_proxy_new_for_name (tp_get_bus (), STREAM_ENGINE_BUS_NAME,
-      STREAM_ENGINE_OBJECT_PATH, STREAM_ENGINE_INTERFACE);
-
-  if (!org_freedesktop_Telepathy_StreamEngine_add_preview_window (ch_proxy,
-        preview_video_socket_id, &error))
-    {
-      empathy_debug (DEBUG_DOMAIN, "Couldn't set video preview: %s",
-          error->message);
-      g_clear_error (&error);
-    }
+  emp_cli_stream_engine_call_add_preview_window (priv->stream_engine, -1,
+      preview_video_socket_id,
+      tp_call_async_cb,
+      "adding preview window", NULL,
+      G_OBJECT (call));
 }
 
 void
-empathy_tp_call_remove_preview_video (guint preview_video_socket_id)
+empathy_tp_call_remove_preview_video (EmpathyTpCall *call,
+                                      guint preview_video_socket_id)
 {
-  GError *error = NULL;
-  DBusGProxy *ch_proxy;
+  EmpathyTpCallPriv *priv = GET_PRIV (call);
 
   empathy_debug (DEBUG_DOMAIN, "Removing preview video");
 
-  ch_proxy = dbus_g_proxy_new_for_name (tp_get_bus (), STREAM_ENGINE_BUS_NAME,
-      STREAM_ENGINE_OBJECT_PATH, STREAM_ENGINE_INTERFACE);
-
-  if (!org_freedesktop_Telepathy_StreamEngine_remove_preview_window (ch_proxy,
-        preview_video_socket_id, &error))
-    {
-      empathy_debug (DEBUG_DOMAIN, "Couldn't set video preview: %s",
-          error->message);
-      g_clear_error (&error);
-    }
+  emp_cli_stream_engine_call_remove_preview_window (priv->stream_engine, -1,
+      preview_video_socket_id,
+      tp_call_async_cb,
+      "removing preview window", NULL,
+      G_OBJECT (call));
 }
 
 void
@@ -854,24 +859,16 @@
                                   guint output_video_socket_id)
 {
   EmpathyTpCallPriv *priv = GET_PRIV (call);
-  const gchar *object_path;
-  DBusGProxy *ch_proxy;
-  GError *error = NULL;
 
   empathy_debug (DEBUG_DOMAIN, "Adding output video - socket: %d",
       output_video_socket_id);
 
-  object_path = dbus_g_proxy_get_path (DBUS_G_PROXY (priv->channel));
-  ch_proxy = dbus_g_proxy_new_for_name (tp_get_bus (), STREAM_ENGINE_BUS_NAME,
-      STREAM_ENGINE_OBJECT_PATH, STREAM_ENGINE_INTERFACE);
-
-  if (!org_freedesktop_Telepathy_StreamEngine_set_output_window (ch_proxy,
-        object_path, priv->video->id, output_video_socket_id, &error))
-    {
-      empathy_debug (DEBUG_DOMAIN, "Couldn't set video output: %s",
-          error->message);
-      g_clear_error (&error);
-    }
+  emp_cli_stream_engine_call_set_output_window (priv->stream_engine, -1,
+      dbus_g_proxy_get_path (DBUS_G_PROXY (priv->channel)),
+      priv->video->id, output_video_socket_id,
+      tp_call_async_cb,
+      "setting output window", NULL,
+      G_OBJECT (call));
 }
 
 void
@@ -879,52 +876,37 @@
                                    guint volume)
 {
   EmpathyTpCallPriv *priv = GET_PRIV (call);
-  const gchar *object_path;
-  DBusGProxy *ch_proxy;
-  GError *error = NULL;
 
   if (priv->status == EMPATHY_TP_CALL_STATUS_CLOSED)
     return;
 
   empathy_debug (DEBUG_DOMAIN, "Setting output volume: %d", volume);
 
-  object_path = dbus_g_proxy_get_path (DBUS_G_PROXY (priv->channel));
-  ch_proxy = dbus_g_proxy_new_for_name (tp_get_bus (), STREAM_ENGINE_BUS_NAME,
-      STREAM_ENGINE_OBJECT_PATH, STREAM_ENGINE_INTERFACE);
-
-  if (!org_freedesktop_Telepathy_StreamEngine_set_output_volume (ch_proxy,
-        object_path, priv->audio->id, volume, &error))
-    {
-      empathy_debug (DEBUG_DOMAIN, "Couldn't set volume: %s", error->message);
-      g_clear_error (&error);
-    }
+  emp_cli_stream_engine_call_set_output_volume (priv->stream_engine, -1,
+      dbus_g_proxy_get_path (DBUS_G_PROXY (priv->channel)),
+      priv->audio->id, volume,
+      tp_call_async_cb,
+      "setting output volume", NULL,
+      G_OBJECT (call));
 }
 
-
 void
 empathy_tp_call_mute_output (EmpathyTpCall *call,
                              gboolean is_muted)
 {
   EmpathyTpCallPriv *priv = GET_PRIV (call);
-  const gchar *object_path;
-  DBusGProxy *ch_proxy;
-  GError *error = NULL;
 
   if (priv->status == EMPATHY_TP_CALL_STATUS_CLOSED)
     return;
 
   empathy_debug (DEBUG_DOMAIN, "Setting output mute: %d", is_muted);
 
-  object_path = dbus_g_proxy_get_path (DBUS_G_PROXY (priv->channel));
-  ch_proxy = dbus_g_proxy_new_for_name (tp_get_bus (), STREAM_ENGINE_BUS_NAME,
-      STREAM_ENGINE_OBJECT_PATH, STREAM_ENGINE_INTERFACE);
-
-  if (!org_freedesktop_Telepathy_StreamEngine_mute_output (ch_proxy,
-        object_path, priv->audio->id, is_muted, &error))
-    {
-      empathy_debug (DEBUG_DOMAIN, "Couldn't mute output: %s", error->message);
-      g_clear_error (&error);
-    }
+  emp_cli_stream_engine_call_mute_output (priv->stream_engine, -1,
+      dbus_g_proxy_get_path (DBUS_G_PROXY (priv->channel)),
+      priv->audio->id, is_muted,
+      tp_call_async_cb,
+      "muting output", NULL,
+      G_OBJECT (call));
 }
 
 void
@@ -932,24 +914,17 @@
                             gboolean is_muted)
 {
   EmpathyTpCallPriv *priv = GET_PRIV (call);
-  const gchar *object_path;
-  DBusGProxy *ch_proxy;
-  GError *error = NULL;
 
   if (priv->status == EMPATHY_TP_CALL_STATUS_CLOSED)
     return;
 
   empathy_debug (DEBUG_DOMAIN, "Setting input mute: %d", is_muted);
 
-  object_path = dbus_g_proxy_get_path (DBUS_G_PROXY (priv->channel));
-  ch_proxy = dbus_g_proxy_new_for_name (tp_get_bus (), STREAM_ENGINE_BUS_NAME,
-      STREAM_ENGINE_OBJECT_PATH, STREAM_ENGINE_INTERFACE);
-
-  if (!org_freedesktop_Telepathy_StreamEngine_mute_input (ch_proxy,
-        object_path, priv->audio->id, is_muted, &error))
-    {
-      empathy_debug (DEBUG_DOMAIN, "Couldn't mute input: %s", error->message);
-      g_clear_error (&error);
-    }
+  emp_cli_stream_engine_call_mute_input (priv->stream_engine, -1,
+      dbus_g_proxy_get_path (DBUS_G_PROXY (priv->channel)),
+      priv->audio->id, is_muted,
+      tp_call_async_cb,
+      "muting input", NULL,
+      G_OBJECT (call));
 }
 

Modified: trunk/libempathy/empathy-tp-call.h
==============================================================================
--- trunk/libempathy/empathy-tp-call.h	(original)
+++ trunk/libempathy/empathy-tp-call.h	Tue Feb 26 13:31:14 2008
@@ -78,8 +78,10 @@
 void empathy_tp_call_close_channel (EmpathyTpCall *call);
 void empathy_tp_call_request_video_stream_direction (EmpathyTpCall *call,
     gboolean is_sending);
-void empathy_tp_call_add_preview_video (guint preview_video_socket_id);
-void empathy_tp_call_remove_preview_video (guint preview_video_socket_id);
+void empathy_tp_call_add_preview_video (EmpathyTpCall *call,
+    guint preview_video_socket_id);
+void empathy_tp_call_remove_preview_video (EmpathyTpCall *call,
+    guint preview_video_socket_id);
 void empathy_tp_call_add_output_video (EmpathyTpCall *call,
     guint output_video_socket_id);
 void empathy_tp_call_set_output_volume (EmpathyTpCall *call, guint volume);

Modified: trunk/python/pyempathy/pyempathy.defs
==============================================================================
--- trunk/python/pyempathy/pyempathy.defs	(original)
+++ trunk/python/pyempathy/pyempathy.defs	Tue Feb 26 13:31:14 2008
@@ -1360,7 +1360,8 @@
   )
 )
 
-(define-function empathy_tp_call_add_preview_video
+(define-method add_preview_video
+  (of-object "EmpathyTpCall")
   (c-name "empathy_tp_call_add_preview_video")
   (return-type "none")
   (parameters
@@ -1368,7 +1369,8 @@
   )
 )
 
-(define-function empathy_tp_call_remove_preview_video
+(define-method remove_preview_video
+  (of-object "EmpathyTpCall")
   (c-name "empathy_tp_call_remove_preview_video")
   (return-type "none")
   (parameters

Modified: trunk/src/Makefile.am
==============================================================================
--- trunk/src/Makefile.am	(original)
+++ trunk/src/Makefile.am	Tue Feb 26 13:31:14 2008
@@ -12,6 +12,7 @@
 LDADD =								\
 	$(top_builddir)/libempathy-gtk/libempathy-gtk.la	\
 	$(top_builddir)/libempathy/libempathy.la		\
+	$(top_builddir)/extensions/libemp-extensions.la		\
 	$(EMPATHY_LIBS)
 
 bin_PROGRAMS =			\

Modified: trunk/src/empathy-call-chandler.c
==============================================================================
--- trunk/src/empathy-call-chandler.c	(original)
+++ trunk/src/empathy-call-chandler.c	Tue Feb 26 13:31:14 2008
@@ -22,6 +22,7 @@
 
 #include <libmissioncontrol/mission-control.h>
 
+#include <extensions/extensions.h>
 #include <libempathy/empathy-tp-call.h>
 #include <libempathy/empathy-chandler.h>
 #include <libempathy/empathy-debug.h>
@@ -68,6 +69,7 @@
   EmpathyChandler *chandler;
 
   gtk_init (&argc, &argv);
+  emp_cli_init ();
 
   mc = empathy_mission_control_new ();
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]