diff options
-rw-r--r-- | libempathy/empathy-tp-chat.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/libempathy/empathy-tp-chat.c b/libempathy/empathy-tp-chat.c index 534fa5275..4b53b0611 100644 --- a/libempathy/empathy-tp-chat.c +++ b/libempathy/empathy-tp-chat.c @@ -40,6 +40,7 @@ #define GET_PRIV(obj) EMPATHY_GET_PRIV (obj, EmpathyTpChat) typedef struct { EmpathyContactFactory *factory; + EmpathyContactMonitor *contact_monitor; EmpathyContact *user; EmpathyContact *remote_contact; EmpathyTpGroup *group; @@ -248,6 +249,18 @@ tp_chat_get_members (EmpathyContactList *list) return members; } +static EmpathyContactMonitor * +tp_chat_get_monitor (EmpathyContactList *list) +{ + EmpathyTpChatPriv *priv; + + g_return_val_if_fail (EMPATHY_IS_TP_CHAT (list), NULL); + + priv = GET_PRIV (list); + + return priv->contact_monitor; +} + static EmpathyMessage * tp_chat_build_message (EmpathyTpChat *chat, guint type, @@ -894,6 +907,7 @@ tp_chat_finalize (GObject *object) g_object_unref (priv->group); } + g_object_unref (priv->contact_monitor); g_object_unref (priv->factory); g_object_unref (priv->user); g_object_unref (priv->account); @@ -1097,6 +1111,7 @@ empathy_tp_chat_init (EmpathyTpChat *chat) EMPATHY_TYPE_TP_CHAT, EmpathyTpChatPriv); chat->priv = priv; + priv->contact_monitor = empathy_contact_monitor_new_for_proxy (EMPATHY_CONTACT_LIST (chat)); } static void @@ -1105,6 +1120,7 @@ tp_chat_iface_init (EmpathyContactListIface *iface) iface->add = tp_chat_add; iface->remove = tp_chat_remove; iface->get_members = tp_chat_get_members; + iface->get_monitor = tp_chat_get_monitor; } EmpathyTpChat * |