[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