[Telepathy-commits] [telepathy-salut/master] SalutContactManager: don't implement TpChannelFactoryIface

Will Thompson will.thompson at collabora.co.uk
Thu Oct 23 07:30:43 PDT 2008


---
 src/salut-contact-manager.c |  101 +------------------------------------------
 1 files changed, 2 insertions(+), 99 deletions(-)

diff --git a/src/salut-contact-manager.c b/src/salut-contact-manager.c
index 281465a..333dd96 100644
--- a/src/salut-contact-manager.c
+++ b/src/salut-contact-manager.c
@@ -31,14 +31,11 @@
 #include "salut-presence-enumtypes.h"
 
 #include <telepathy-glib/dbus.h>
-#include <telepathy-glib/channel-factory-iface.h>
 #include <telepathy-glib/interfaces.h>
 
 #define DEBUG_FLAG DEBUG_CONTACTS
 #include "debug.h"
 
-static void salut_contact_manager_factory_iface_init (gpointer g_iface,
-    gpointer iface_data);
 static void salut_contact_manager_manager_iface_init (gpointer g_iface,
     gpointer iface_data);
 
@@ -54,9 +51,7 @@ _contact_finalized_cb (gpointer data, GObject *old_object);
 G_DEFINE_TYPE_WITH_CODE(SalutContactManager, salut_contact_manager,
     G_TYPE_OBJECT,
     G_IMPLEMENT_INTERFACE (TP_TYPE_CHANNEL_MANAGER,
-      salut_contact_manager_manager_iface_init);
-    G_IMPLEMENT_INTERFACE (TP_TYPE_CHANNEL_FACTORY_IFACE,
-      salut_contact_manager_factory_iface_init));
+      salut_contact_manager_manager_iface_init));
 
 enum
 {
@@ -397,97 +392,7 @@ salut_contact_manager_close_all (SalutContactManager *mgr)
     }
 }
 
-static void
-salut_contact_manager_factory_iface_connecting (TpChannelFactoryIface *iface)
-{
-}
-
-static void
-salut_contact_manager_factory_iface_connected (TpChannelFactoryIface *iface)
-{
-}
-
-static void
-salut_contact_manager_factory_iface_disconnected (TpChannelFactoryIface *iface)
-{
-}
-
-struct foreach_data {
-  TpChannelFunc func;
-  gpointer data;
-};
-
-static void
-salut_contact_manager_iface_foreach_one (gpointer key, gpointer value,
-    gpointer data)
-{
-  TpChannelIface *chan = TP_CHANNEL_IFACE(value);
-  struct foreach_data *f = (struct foreach_data *) data;
-
-  f->func (chan, f->data);
-}
-
-static void
-salut_contact_manager_factory_iface_foreach (TpChannelFactoryIface *iface,
-    TpChannelFunc func, gpointer data)
-{
-  SalutContactManager *mgr = SALUT_CONTACT_MANAGER (iface);
-  SalutContactManagerPrivate *priv = SALUT_CONTACT_MANAGER_GET_PRIVATE (mgr);
-  struct foreach_data f;
-  f.func = func;
-  f.data = data;
-
-  g_hash_table_foreach (priv->channels,
-                        salut_contact_manager_iface_foreach_one, &f);
-}
-
-static TpChannelFactoryRequestStatus
-salut_contact_manager_factory_iface_request (TpChannelFactoryIface *iface,
-    const gchar *chan_type, TpHandleType handle_type,
-    guint handle, gpointer request,
-    TpChannelIface **ret, GError **error)
-{
-  SalutContactManager *mgr = SALUT_CONTACT_MANAGER(iface);
-  SalutContactChannel *chan;
-  gboolean created;
-  TpHandleRepoIface *handle_repo = tp_base_connection_get_handles (
-      TP_BASE_CONNECTION (mgr->connection), TP_HANDLE_TYPE_LIST);
-
-  /* We only support contact list channels */
-  if (tp_strdiff (chan_type, TP_IFACE_CHANNEL_TYPE_CONTACT_LIST)) {
-    return TP_CHANNEL_FACTORY_REQUEST_STATUS_NOT_IMPLEMENTED;
-  }
-
-  /* And thus only support list handles */
-  if (handle_type != TP_HANDLE_TYPE_LIST) {
-    return TP_CHANNEL_FACTORY_REQUEST_STATUS_NOT_AVAILABLE;
-  }
-
-  /* Most be a valid list handle */
-  if (!tp_handle_is_valid (handle_repo, handle, NULL)) {
-    return TP_CHANNEL_FACTORY_REQUEST_STATUS_INVALID_HANDLE;
-  }
-
-  chan = salut_contact_manager_get_channel (mgr, handle, NULL, &created);
-  *ret = TP_CHANNEL_IFACE (chan);
-  return created ? TP_CHANNEL_FACTORY_REQUEST_STATUS_CREATED
-                 : TP_CHANNEL_FACTORY_REQUEST_STATUS_EXISTING;
-}
-
-static void salut_contact_manager_factory_iface_init (gpointer g_iface,
-    gpointer iface_data)
-{
-  TpChannelFactoryIfaceClass *klass = (TpChannelFactoryIfaceClass *)g_iface;
-
-  klass->close_all = (TpChannelFactoryIfaceProc) salut_contact_manager_close_all;
-  klass->connecting = salut_contact_manager_factory_iface_connecting;
-  klass->connected = salut_contact_manager_factory_iface_connected;
-  klass->disconnected = salut_contact_manager_factory_iface_disconnected;
-  klass->foreach = salut_contact_manager_factory_iface_foreach;
-  klass->request = salut_contact_manager_factory_iface_request;
-}
-
-
+/* TpChannelManager implementation */
 struct foreach_channel_data {
   TpExportableChannelFunc func;
   gpointer data;
@@ -686,8 +591,6 @@ salut_contact_manager_new_channel (SalutContactManager *mgr,
       NULL);
   g_free (path);
   g_hash_table_insert (priv->channels, GUINT_TO_POINTER (handle), chan);
-  tp_channel_factory_iface_emit_new_channel (mgr, TP_CHANNEL_IFACE (chan),
-      NULL);
 
   if (request_token != NULL)
     requests = g_slist_prepend (requests, request_token);
-- 
1.5.6.5




More information about the Telepathy-commits mailing list