diff options
-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 |