summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonny Lamb <jonny.lamb@collabora.co.uk>2010-03-17 22:08:49 +0000
committerJonny Lamb <jonny.lamb@collabora.co.uk>2010-03-17 22:09:27 +0000
commitd1e67eb7cd0fd3bdf7fb205a7ee83509005adc11 (patch)
tree5f5fb6c63a283c16a8490de87c433902e1bb2d0c
parent33aa0bdd942b7b4f2b6b8fd45c165a61fec3257a (diff)
group interface: add stub methods for unimplemented methods, and property-ify the interfacegroup-properties
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
-rw-r--r--src/server/channel.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/server/channel.py b/src/server/channel.py
index 2e89593..c436640 100644
--- a/src/server/channel.py
+++ b/src/server/channel.py
@@ -315,6 +315,8 @@ class ChannelInterfaceGroup(_ChannelInterfaceGroup, DBusProperties):
self._implement_property_get(CHANNEL_INTERFACE_GROUP,
{'GroupFlags': lambda: dbus.UInt32(self.GetGroupFlags()),
+ 'HandleOwners': lambda: dbus.Dictionary(self.get_all_handle_owners(), signature='uu'),
+ 'LocalPendingMembers': lambda: dbus.Array(self.GetLocalPendingMembersWithInfo(), signature='uuus'),
'Members': lambda: dbus.Array(self.GetMembers(), signature='u'),
'RemotePendingMembers': lambda: dbus.Array(self.GetRemotePendingMembers(), signature='u'),
'SelfHandle': lambda: dbus.UInt32(self.GetSelfHandle())})
@@ -324,6 +326,8 @@ class ChannelInterfaceGroup(_ChannelInterfaceGroup, DBusProperties):
self._local_pending = set()
self._remote_pending = set()
+ self.GroupFlagsChanged(telepathy.CHANNEL_GROUP_FLAG_PROPERTIES, 0)
+
@dbus.service.method(CHANNEL_INTERFACE_GROUP, in_signature='', out_signature='u')
def GetGroupFlags(self):
return self._group_flags
@@ -351,6 +355,15 @@ class ChannelInterfaceGroup(_ChannelInterfaceGroup, DBusProperties):
def GetLocalPendingMembers(self):
return self._local_pending
+ def GetLocalPendingMembersWithInfo(self):
+ return [(handle, 0, 0, '') for handle in self._local_pending]
+
+ def GetHandleOwners(self, handles):
+ return []
+
+ def get_all_handle_owners(self):
+ return {}
+
@dbus.service.method(CHANNEL_INTERFACE_GROUP, in_signature='', out_signature='au')
def GetRemotePendingMembers(self):
return self._remote_pending