X-Git-Url: http://git.maemo.org/git/?p=theonering;a=blobdiff_plain;f=src%2Fconnection.py;h=2db7df6ebfc276b411dae6362fd105a95521a2ff;hp=00c0e833637402fa29c34000de8cb131f0f764e0;hb=8b77cf6f2a6b8f1ec930395d8f9b762fa1d4bfbc;hpb=b15b70a605a2aa7cef1e08ef83e98acc1df585e0 diff --git a/src/connection.py b/src/connection.py index 00c0e83..2db7df6 100644 --- a/src/connection.py +++ b/src/connection.py @@ -4,6 +4,8 @@ import logging import telepathy import constants +import util.go_utils as gobject_utils +import util.coroutines as coroutines import gtk_toolbox import gvoice import handle @@ -22,8 +24,7 @@ class TheOneRingConnection( ): # Overriding a base class variable - # @todo remove forward as one of the settings but instead use the alias - # with set sane defaults and saving it to an ini file + # Should the forwarding number be handled by the alias or by an option? _mandatory_parameters = { 'username' : 's', 'password' : 's', @@ -36,8 +37,8 @@ class TheOneRingConnection( } def __init__(self, manager, parameters): + self.check_parameters(parameters) try: - self.check_parameters(parameters) account = unicode(parameters['username']) # Connection init must come first @@ -191,20 +192,21 @@ class TheOneRingConnection( return handles def _create_contact_handle(self, requestedHandleName): - """ - @todo Determine if nay of this is really needed - """ requestedContactId, requestedContactNumber = handle.ContactHandle.from_handle_name( requestedHandleName ) h = handle.create_handle(self, 'contact', requestedContactId, requestedContactNumber) return h - def _on_invite_text(self, contactId): - """ - @todo Make this work - """ - h = self._create_contact_handle(contactId) - + @coroutines.func_sink + @coroutines.expand_positional + @gobject_utils.async + def _on_conversations_updated(self, conversationIds): + # @todo get conversations update running + # @todo test conversatiuons channelManager = self._channelManager - channel = channelManager.channel_for_text(handle) + for contactId, phoneNumber in conversationIds: + h = self._create_contact_handle(contactId, phoneNumber) + # if its new, __init__ will take care of things + # if its old, its own update will take care of it + channel = channelManager.channel_for_text(handle)