@dbus.service.signal(CHANNEL_TYPE_TEXT, signature='uuuuus')
def Received(self, id, timestamp, sender, type, flags, text):
- self._pending_messages[id] = (timestamp, sender, type, flags, text)
+ if id in self._pending_messages:
+ raise ValueError("You can't receive the same message twice.")
+ else:
+ self._pending_messages[id] = (timestamp, sender, type, flags, text)
from telepathy._generated.Channel_Interface_Chat_State \
self._interfaces = set()
DBusProperties.__init__(self)
- self._implement_property_get(CONN_INTERFACE,
- {'SelfHandle': lambda: dbus.UInt32(self.GetSelfHandle())})
+ self._implement_property_get(CONN_INTERFACE, {
+ 'SelfHandle': lambda: dbus.UInt32(self.GetSelfHandle()),
+ 'Interfaces': lambda: dbus.Array(self.GetInterfaces(), signature='s'),
+ 'Status': lambda: dbus.UInt32(self.GetStatus())
+ })
self._proto = proto