backend, bridge: asynchronous history
quick_frontend: use of asynchronous history
This commit is contained in:
parent
88d0fceb2a
commit
f1966d9692
1 changed files with 94 additions and 79 deletions
|
|
@ -80,13 +80,13 @@ class DbusObject(dbus.service.Object):
|
|||
result = self.cb[name](*args, **kwargs)
|
||||
if async:
|
||||
if not isinstance(result, Deferred):
|
||||
error("Asynchrone method [%s] does not return a Deferred." % name)
|
||||
error("Asynchronous method [%s] does not return a Deferred." % name)
|
||||
raise AsyncNotDeferred
|
||||
result.addCallback(callback)
|
||||
result.addErrback(lambda err:errback(GenericException(err)))
|
||||
else:
|
||||
if isinstance(result, Deferred):
|
||||
error("Synchrone method [%s] return a Deferred." % name)
|
||||
error("Synchronous method [%s] return a Deferred." % name)
|
||||
raise DeferredNotAsync
|
||||
return result
|
||||
|
||||
|
|
@ -252,10 +252,10 @@ class DbusObject(dbus.service.Object):
|
|||
return self._callback("getContacts", unicode(profile_key))
|
||||
|
||||
@dbus.service.method(const_INT_PREFIX+const_CORE_SUFFIX,
|
||||
in_signature='ssi', out_signature='a{i(ss)}',
|
||||
async_callbacks=None)
|
||||
def getHistory(self, from_jid, to_jid, size):
|
||||
return self._callback("getHistory", unicode(from_jid), unicode(to_jid), size)
|
||||
in_signature='ssib', out_signature='a{i(sss)}',
|
||||
async_callbacks=('callback', 'errback'))
|
||||
def getHistory(self, from_jid, to_jid, limit, between=True, callback=None, errback=None):
|
||||
return self._callback("getHistory", unicode(from_jid), unicode(to_jid), limit, between, callback=callback, errback=errback)
|
||||
|
||||
@dbus.service.method(const_INT_PREFIX+const_CORE_SUFFIX,
|
||||
in_signature='ss', out_signature='s',
|
||||
|
|
|
|||
Loading…
Reference in a new issue