core: getReady and asyncConnect now wait full initialisation, not only memory
This commit is contained in:
parent
a3f460d391
commit
e3f0fe289e
1 changed files with 5 additions and 3 deletions
|
|
@ -82,6 +82,7 @@ class SAT(service.Service):
|
|||
self._cb_map = {} # map from callback_id to callbacks
|
||||
self._menus = OrderedDict() # dynamic menus. key: callback_id, value: menu data (dictionnary)
|
||||
self.__private_data = {} # used for internal callbacks (key = id) FIXME: to be removed
|
||||
self._initialised = defer.Deferred()
|
||||
self.profiles = {}
|
||||
self.plugins = {}
|
||||
|
||||
|
|
@ -93,7 +94,7 @@ class SAT(service.Service):
|
|||
except exceptions.BridgeInitError:
|
||||
log.error(u"Bridge can't be initialised, can't start SàT core")
|
||||
sys.exit(1)
|
||||
self.bridge.register("getReady", lambda: self.memory.initialized)
|
||||
self.bridge.register("getReady", lambda: self._initialized)
|
||||
self.bridge.register("getVersion", lambda: C.APP_VERSION)
|
||||
self.bridge.register("getProfileName", self.memory.getProfileName)
|
||||
self.bridge.register("getProfilesList", self.memory.getProfilesList)
|
||||
|
|
@ -144,6 +145,7 @@ class SAT(service.Service):
|
|||
log.info(_("Memory initialised"))
|
||||
self._import_plugins()
|
||||
ui_contact_list.ContactList(self)
|
||||
self._initialised.callback(None)
|
||||
|
||||
def _import_plugins(self):
|
||||
"""Import all plugins found in plugins directory"""
|
||||
|
|
@ -204,7 +206,7 @@ class SAT(service.Service):
|
|||
"""Connect to jabber server with asynchronous reply
|
||||
@param profile_key: %(doc_profile)s
|
||||
"""
|
||||
def backend_initialized(ignore):
|
||||
def backendInitialised(dummy):
|
||||
profile = self.memory.getProfileName(profile_key)
|
||||
if not profile:
|
||||
log.error(_('Trying to connect a non-existant profile'))
|
||||
|
|
@ -287,7 +289,7 @@ class SAT(service.Service):
|
|||
|
||||
self.memory.startProfileSession(profile)
|
||||
return self.memory.loadIndividualParams(profile).addCallback(afterMemoryInit)
|
||||
return self.memory.initialized.addCallback(backend_initialized)
|
||||
return self._initialised.addCallback(backendInitialised)
|
||||
|
||||
def disconnect(self, profile_key):
|
||||
"""disconnect from jabber server"""
|
||||
|
|
|
|||
Loading…
Reference in a new issue