コード例 #1
0
    def _contacts_changed(self):
        changes = Dictionary(signature='u(uus)')
        identifiers = Dictionary(signature='us')
        removals = Dictionary(signature='us')

        for contact in CONTACTS:
            handle = self.ensure_handle(HANDLE_TYPE_CONTACT, contact)
            changes[handle] = Struct((True, True, ''), signature='uus')
            identifiers[handle] = contact

        self.ContactsChangedWithID(changes, identifiers, removals)
        self.ContactsChanged(changes, Array([], signature='u'))
コード例 #2
0
ファイル: text.py プロジェクト: max-posedon/telepathy-foo
    def _send_message(self, message, flags, token):
        headers = Dictionary({
            String('message-sent'): UInt64(time()),
            String('message-type'): UInt32(CHANNEL_TEXT_MESSAGE_TYPE_NORMAL),
        }, signature='sv')
        body = Dictionary({
            String('content-type'): String('text/plain'),
            String('content'): message[1]['content'],
        }, signature='sv')
        message = Array([headers, body], signature='a{sv}')
        self.MessageSent(message, flags, String(token))

        gobject.timeout_add(50, self._message_received, str(message[1]['content']))
コード例 #3
0
ファイル: text.py プロジェクト: max-posedon/telepathy-foo
 def _message_received(self, msg):
     self.__message_received_id += 1
     header = Dictionary({
         'pending-message-id': UInt32(self.__message_received_id),
         'message-received': UInt64(time()),
         'message-sender': UInt32(self.handle),
         'message-type': UInt32(CHANNEL_TEXT_MESSAGE_TYPE_NORMAL),
         'sender-nickname': String(self.handle.get_name()),
         }, signature='sv')
     body = Dictionary({
         String('content-type'): String('text/plain'),
         String('content'): String(msg),
     }, signature='sv')
     message = Array([header, body], signature='a{sv}')
     self.MessageReceived(message)
コード例 #4
0
 def GetPresences(self, contacts):
     presences = Dictionary(signature='u(uss)')
     for handle_id in contacts:
         handle = self.handle(HANDLE_TYPE_CONTACT, handle_id)
         presences[handle] = Struct(
             (CONNECTION_PRESENCE_TYPE_AVAILABLE, CONNECTION_PRESENCE_STATUS_AVAILABLE, "avail"),
             signature='uss',
         )
     return presences
コード例 #5
0
    def GetContactListAttributes(self, interfaces, hold):
        ret = Dictionary(signature='ua{sv}')
        for contact in CONTACTS:
            handle = self.ensure_handle(HANDLE_TYPE_CONTACT, contact)
            ret[int(handle)] = Dictionary(signature='sv')
            ret[int(handle)][CONNECTION + '/contact-id'] = contact
            ret[int(handle)][CONNECTION_INTERFACE_ALIASING + '/alias'] = contact
            ret[int(handle)][CONNECTION_INTERFACE_AVATARS + '/token'] = contact
            ret[int(handle)][CONNECTION_INTERFACE_CONTACT_LIST + '/subscribe'] = SUBSCRIPTION_STATE_YES
            ret[int(handle)][CONNECTION_INTERFACE_CONTACT_LIST + '/publish'] = SUBSCRIPTION_STATE_YES
            ret[int(handle)][CONNECTION_INTERFACE_CONTACT_GROUPS + '/groups'] = Array([String(GROUP)], signature='s')
            ret[int(handle)][CONNECTION_INTERFACE_SIMPLE_PRESENCE + '/presence'] = Struct(
                (CONNECTION_PRESENCE_TYPE_AVAILABLE, CONNECTION_PRESENCE_STATUS_AVAILABLE, "avail"),
                signature='uss',
            )
            ret[int(handle)][CONNECTION_INTERFACE_CONTACT_INFO + '/info'] = Array([
                    Struct(('nickname', Array([], signature='s'), Array([contact], signature='s')), signature='sasas'),
                    Struct(('email', Array([], signature='s'), Array([contact+'@example.com'], signature='s')), signature='sasas'),
                ]
            )

        return ret
コード例 #6
0
 def GetKnownAvatarTokens(self, contacts):
     tokens = Dictionary(signature='us')
     for handle_id in contacts:
         handle = self.handle(HANDLE_TYPE_CONTACT, handle_id)
         tokens[handle_id] = String(handle.name)
     return tokens
コード例 #7
0
 def GetAliases(self, contacts):
     aliases = Dictionary(signature='us')
     for handle_id in contacts:
         handle = self.handle(HANDLE_TYPE_CONTACT, handle_id)
         aliases[handle_id] = String(handle.name)
     return aliases