aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libempathy/empathy-tp-roomlist.c46
-rw-r--r--libempathy/empathy-tp-roomlist.h4
2 files changed, 18 insertions, 32 deletions
diff --git a/libempathy/empathy-tp-roomlist.c b/libempathy/empathy-tp-roomlist.c
index 1b2e393d1..b3d955ee4 100644
--- a/libempathy/empathy-tp-roomlist.c
+++ b/libempathy/empathy-tp-roomlist.c
@@ -27,7 +27,7 @@
#include <telepathy-glib/dbus.h>
#include <telepathy-glib/util.h>
-#include <libmissioncontrol/mission-control.h>
+#include "empathy-account.h"
#include "empathy-tp-roomlist.h"
#include "empathy-chatroom.h"
@@ -40,7 +40,7 @@
typedef struct {
TpConnection *connection;
TpChannel *channel;
- McAccount *account;
+ EmpathyAccount *account;
gboolean is_listing;
gboolean start_requested;
} EmpathyTpRoomlistPriv;
@@ -54,7 +54,7 @@ enum {
enum {
PROP_0,
- PROP_CONNECTION,
+ PROP_ACCOUNT,
PROP_IS_LISTING,
};
@@ -352,13 +352,9 @@ static void
tp_roomlist_constructed (GObject *list)
{
EmpathyTpRoomlistPriv *priv = GET_PRIV (list);
- MissionControl *mc;
- mc = empathy_mission_control_dup_singleton ();
- priv->account = mission_control_get_account_for_tpconnection (mc,
- priv->connection,
- NULL);
- g_object_unref (mc);
+ priv->connection = empathy_account_get_connection (priv->account);
+ g_object_ref (priv->connection);
tp_cli_connection_call_request_channel (priv->connection, -1,
TP_IFACE_CHANNEL_TYPE_ROOM_LIST,
@@ -379,8 +375,8 @@ tp_roomlist_get_property (GObject *object,
EmpathyTpRoomlistPriv *priv = GET_PRIV (object);
switch (param_id) {
- case PROP_CONNECTION:
- g_value_set_object (value, priv->connection);
+ case PROP_ACCOUNT:
+ g_value_set_object (value, priv->account);
break;
case PROP_IS_LISTING:
g_value_set_boolean (value, priv->is_listing);
@@ -400,8 +396,8 @@ tp_roomlist_set_property (GObject *object,
EmpathyTpRoomlistPriv *priv = GET_PRIV (object);
switch (param_id) {
- case PROP_CONNECTION:
- priv->connection = g_object_ref (g_value_get_object (value));
+ case PROP_ACCOUNT:
+ priv->account = g_value_dup_object (value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
@@ -420,11 +416,11 @@ empathy_tp_roomlist_class_init (EmpathyTpRoomlistClass *klass)
object_class->set_property = tp_roomlist_set_property;
g_object_class_install_property (object_class,
- PROP_CONNECTION,
- g_param_spec_object ("connection",
- "The Connection",
- "The connection on which it lists rooms",
- TP_TYPE_CONNECTION,
+ PROP_ACCOUNT,
+ g_param_spec_object ("account",
+ "The Account",
+ "The account on which it lists rooms",
+ EMPATHY_TYPE_ACCOUNT,
G_PARAM_READWRITE |
G_PARAM_CONSTRUCT_ONLY));
g_object_class_install_property (object_class,
@@ -480,24 +476,14 @@ empathy_tp_roomlist_init (EmpathyTpRoomlist *list)
}
EmpathyTpRoomlist *
-empathy_tp_roomlist_new (McAccount *account)
+empathy_tp_roomlist_new (EmpathyAccount *account)
{
EmpathyTpRoomlist *list;
- MissionControl *mc;
- TpConnection *connection;
-
- g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL);
-
- mc = empathy_mission_control_dup_singleton ();
- connection = mission_control_get_tpconnection (mc, account, NULL);
list = g_object_new (EMPATHY_TYPE_TP_ROOMLIST,
- "connection", connection,
+ "account", account,
NULL);
- g_object_unref (mc);
- g_object_unref (connection);
-
return list;
}
diff --git a/libempathy/empathy-tp-roomlist.h b/libempathy/empathy-tp-roomlist.h
index 9f45b7f5c..801e5c69f 100644
--- a/libempathy/empathy-tp-roomlist.h
+++ b/libempathy/empathy-tp-roomlist.h
@@ -25,7 +25,7 @@
#include <glib.h>
#include <telepathy-glib/connection.h>
-#include <libmissioncontrol/mc-account.h>
+#include <libempathy/empathy-account.h>
G_BEGIN_DECLS
@@ -49,7 +49,7 @@ struct _EmpathyTpRoomlistClass {
};
GType empathy_tp_roomlist_get_type (void) G_GNUC_CONST;
-EmpathyTpRoomlist *empathy_tp_roomlist_new (McAccount *account);
+EmpathyTpRoomlist *empathy_tp_roomlist_new (EmpathyAccount *account);
gboolean empathy_tp_roomlist_is_listing (EmpathyTpRoomlist *list);
void empathy_tp_roomlist_start (EmpathyTpRoomlist *list);
void empathy_tp_roomlist_stop (EmpathyTpRoomlist *list);