[Telepathy-commits] [telepathy-salut/master] SalutConnection: create the new roomlist manager, in addition to the muc manager

Alban Crequy alban.crequy at collabora.co.uk
Thu Nov 27 10:07:56 PST 2008


---
 src/salut-avahi-discovery-client.c |   21 +++++++++++++++++++++
 src/salut-connection.c             |    4 ++++
 src/salut-discovery-client.c       |   12 ++++++++++++
 src/salut-discovery-client.h       |    7 +++++++
 4 files changed, 44 insertions(+), 0 deletions(-)

diff --git a/src/salut-avahi-discovery-client.c b/src/salut-avahi-discovery-client.c
index 66c6131..e2411de 100644
--- a/src/salut-avahi-discovery-client.c
+++ b/src/salut-avahi-discovery-client.c
@@ -38,6 +38,7 @@
 
 #include "salut-avahi-muc-manager.h"
 #include "salut-avahi-contact-manager.h"
+#include "salut-avahi-roomlist-manager.h"
 #include "salut-avahi-self.h"
 #ifdef ENABLE_OLPC
 #include "salut-avahi-olpc-activity-manager.h"
@@ -240,6 +241,24 @@ salut_avahi_discovery_client_create_muc_manager (SalutDiscoveryClient *client,
 }
 
 /*
+ * salut_avahi_discovery_client_create_roomlist_manager
+ *
+ * Implements salut_discovery_client_create_roomlist_manager on
+ * SalutDiscoveryClient
+ */
+static SalutRoomlistManager *
+salut_avahi_discovery_client_create_roomlist_manager (
+    SalutDiscoveryClient *client,
+    SalutConnection *connection,
+    SalutXmppConnectionManager *xcm)
+{
+  SalutAvahiDiscoveryClient *self = SALUT_AVAHI_DISCOVERY_CLIENT (client);
+
+  return SALUT_ROOMLIST_MANAGER (salut_avahi_roomlist_manager_new (connection,
+        xcm, self));
+}
+
+/*
  * salut_avahi_discovery_client_create_contact_manager
  *
  * Implements salut_discovery_client_create_contact_manager on
@@ -313,6 +332,8 @@ discovery_client_init (gpointer g_iface,
 
   klass->start = salut_avahi_discovery_client_start;
   klass->create_muc_manager = salut_avahi_discovery_client_create_muc_manager;
+  klass->create_roomlist_manager =
+    salut_avahi_discovery_client_create_roomlist_manager;
   klass->create_contact_manager =
     salut_avahi_discovery_client_create_contact_manager;
 #ifdef ENABLE_OLPC
diff --git a/src/salut-connection.c b/src/salut-connection.c
index 8457fe6..b3583a4 100644
--- a/src/salut-connection.c
+++ b/src/salut-connection.c
@@ -2867,10 +2867,14 @@ salut_connection_create_channel_managers (TpBaseConnection *base)
   priv->muc_manager = salut_discovery_client_create_muc_manager (
       priv->discovery_client, self, priv->xmpp_connection_manager);
 
+  priv->roomlist_manager = salut_discovery_client_create_roomlist_manager (
+      priv->discovery_client, self, priv->xmpp_connection_manager);
+
   g_ptr_array_add (managers, priv->im_manager);
   g_ptr_array_add (managers, priv->contact_manager);
   g_ptr_array_add (managers, priv->ft_manager);
   g_ptr_array_add (managers, priv->muc_manager);
+  g_ptr_array_add (managers, priv->roomlist_manager);
 
   return managers;
 }
diff --git a/src/salut-discovery-client.c b/src/salut-discovery-client.c
index 5663f12..159e7b1 100644
--- a/src/salut-discovery-client.c
+++ b/src/salut-discovery-client.c
@@ -43,6 +43,18 @@ salut_discovery_client_create_muc_manager (SalutDiscoveryClient *self,
   return virtual_method (self, connection, xcm);
 }
 
+SalutRoomlistManager *
+salut_discovery_client_create_roomlist_manager (SalutDiscoveryClient *self,
+                                                SalutConnection *connection,
+                                                SalutXmppConnectionManager *xcm)
+{
+  SalutRoomlistManager * (*virtual_method)(SalutDiscoveryClient *,
+    SalutConnection *, SalutXmppConnectionManager *) =
+    SALUT_DISCOVERY_CLIENT_GET_CLASS (self)->create_roomlist_manager;
+  g_assert (virtual_method != NULL);
+  return virtual_method (self, connection, xcm);
+}
+
 SalutContactManager *
 salut_discovery_client_create_contact_manager (SalutDiscoveryClient *self,
                                                SalutConnection *connection)
diff --git a/src/salut-discovery-client.h b/src/salut-discovery-client.h
index aeb9a87..33bb034 100644
--- a/src/salut-discovery-client.h
+++ b/src/salut-discovery-client.h
@@ -24,6 +24,7 @@
 
 #include "salut-muc-manager.h"
 #include "salut-contact-manager.h"
+#include "salut-roomlist-manager.h"
 #include "salut-self.h"
 #ifdef ENABLE_OLPC
 #include "salut-olpc-activity-manager.h"
@@ -50,6 +51,8 @@ struct _SalutDiscoveryClientClass
   gboolean (*start) (SalutDiscoveryClient *clt, GError **error);
   SalutMucManager * (*create_muc_manager) (SalutDiscoveryClient *clt,
       SalutConnection *connection, SalutXmppConnectionManager *xcm);
+  SalutRoomlistManager * (*create_roomlist_manager) (SalutDiscoveryClient *clt,
+      SalutConnection *connection, SalutXmppConnectionManager *xcm);
   SalutContactManager * (*create_contact_manager) (SalutDiscoveryClient *clt,
       SalutConnection *connection);
 #ifdef ENABLE_OLPC
@@ -85,6 +88,10 @@ SalutMucManager * salut_discovery_client_create_muc_manager (
     SalutDiscoveryClient *clt, SalutConnection *connection,
     SalutXmppConnectionManager *xcm);
 
+SalutRoomlistManager * salut_discovery_client_create_roomlist_manager (
+    SalutDiscoveryClient *clt, SalutConnection *connection,
+    SalutXmppConnectionManager *xcm);
+
 SalutContactManager * salut_discovery_client_create_contact_manager (
     SalutDiscoveryClient *clt, SalutConnection *connection);
 
-- 
1.5.6.5




More information about the Telepathy-commits mailing list