[polari] room: Add add_member/remove_member functions
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [polari] room: Add add_member/remove_member functions
- Date: Thu, 8 Aug 2013 13:08:07 +0000 (UTC)
commit 415997ae671dc70b7251a7ee8fe8a1a65837204d
Author: Florian Müllner <florian muellner gmail com>
Date: Tue Jul 23 02:51:20 2013 +0200
room: Add add_member/remove_member functions
src/lib/polari-room.c | 48 +++++++++++++++++++++++++++++++++++++++++++++++-
src/lib/polari-room.h | 3 +++
2 files changed, 50 insertions(+), 1 deletions(-)
---
diff --git a/src/lib/polari-room.c b/src/lib/polari-room.c
index 8589e49..4f5fc14 100644
--- a/src/lib/polari-room.c
+++ b/src/lib/polari-room.c
@@ -107,10 +107,56 @@ polari_room_set_topic (PolariRoom *room,
g_return_if_fail (POLARI_IS_ROOM (room));
tp_cli_channel_interface_subject_call_set_subject (room->priv->channel, -1,
- topic, NULL, NULL, NULL, G_OBJECT (room));
+ topic, NULL, NULL, NULL, NULL);
}
+void
+polari_room_add_member (PolariRoom *room,
+ TpContact *member)
+{
+ TpChannel *channel;
+
+ g_return_if_fail (POLARI_IS_ROOM (room));
+
+ channel = room->priv->channel;
+
+ if (!tp_proxy_has_interface_by_id (TP_PROXY (channel),
+ TP_IFACE_QUARK_CHANNEL_INTERFACE_GROUP))
+ return;
+
+ {
+ TpHandle handle = tp_contact_get_handle (member);
+ GArray handles = { (char *)&handle, 1 };
+
+ tp_cli_channel_interface_group_call_add_members (channel,
+ -1, &handles, NULL, NULL, NULL, NULL, NULL);
+ }
+}
+
+void
+polari_room_remove_member (PolariRoom *room,
+ TpContact *member)
+{
+ TpChannel *channel;
+
+ g_return_if_fail (POLARI_IS_ROOM (room));
+
+ channel = room->priv->channel;
+
+ if (!tp_proxy_has_interface_by_id (TP_PROXY (channel),
+ TP_IFACE_QUARK_CHANNEL_INTERFACE_GROUP))
+ return;
+
+ {
+ TpHandle handle = tp_contact_get_handle (member);
+ GArray handles = { (char *)&handle, 1 };
+
+ tp_cli_channel_interface_group_call_remove_members (channel,
+ -1, &handles, NULL, NULL, NULL, NULL, NULL);
+ }
+}
+
int
polari_room_compare (PolariRoom *room,
PolariRoom *other)
diff --git a/src/lib/polari-room.h b/src/lib/polari-room.h
index 057ce49..4570a01 100644
--- a/src/lib/polari-room.h
+++ b/src/lib/polari-room.h
@@ -53,6 +53,9 @@ gboolean polari_room_should_highlight_message (PolariRoom *room,
void polari_room_set_topic (PolariRoom *room, const char *topic);
+void polari_room_add_member (PolariRoom *room, TpContact *member);
+void polari_room_remove_member (PolariRoom *room, TpContact *member);
+
int polari_room_compare (PolariRoom *room, PolariRoom *other);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]