diff options
author | Jonny Lamb <jonny.lamb@collabora.co.uk> | 2010-03-17 22:08:49 +0000 |
---|---|---|
committer | Jonny Lamb <jonny.lamb@collabora.co.uk> | 2010-03-17 22:09:27 +0000 |
commit | d1e67eb7cd0fd3bdf7fb205a7ee83509005adc11 (patch) | |
tree | 5f5fb6c63a283c16a8490de87c433902e1bb2d0c | |
parent | 33aa0bdd942b7b4f2b6b8fd45c165a61fec3257a (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.py | 13 |
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 |