Mercurial > libervia-backend
diff sat/bridge/dbus_bridge.py @ 2658:4e130cc9bfc0
core (memore/encryption): new methods and checks:
Following methods are now available though bridge:
- messageEncryptionStop
- messageEncryptionGet: retrieve encryption data for a message session
- encryptionPluginsGet: retrieve all registered encryption plugin
Following methods are available for internal use:
- getPlugins: retrieve registerd plugins
- getNSFromName: retrieve namespace from plugin name
- getBridgeData: serialise session data (to be used with bridge)
- markAsEncrypted: mark message data as encrypted (to be set by encryption plugin in MessageReceived trigger)
Behaviours improvments:
- start and stop send messageEncryptionStarted and messageEncryptionStopped signals, and a message feedback
- new "replace" arguments in start allows to replace a plugin if one is already running (instead of raising a ConflictError)
- plugins declare themselves as "directed" (i.e. working with only one device at a time) or not.
This is checked while dealing with jids, an exception is raised when a full jid is received for a non directed encryption.
- use of new data_format (de)serialise
author | Goffi <goffi@goffi.org> |
---|---|
date | Sat, 11 Aug 2018 18:24:55 +0200 |
parents | b8600f8130ac |
children | e347e32aa07f |
line wrap: on
line diff
--- a/sat/bridge/dbus_bridge.py Sat Aug 11 18:24:55 2018 +0200 +++ b/sat/bridge/dbus_bridge.py Sat Aug 11 18:24:55 2018 +0200 @@ -272,6 +272,12 @@ return self._callback("disconnect", unicode(profile_key), callback=callback, errback=errback) @dbus.service.method(const_INT_PREFIX+const_CORE_SUFFIX, + in_signature='', out_signature='aa{ss}', + async_callbacks=None) + def encryptionPluginsGet(self, ): + return self._callback("encryptionPluginsGet", ) + + @dbus.service.method(const_INT_PREFIX+const_CORE_SUFFIX, in_signature='ss', out_signature='s', async_callbacks=None) def getConfig(self, section, name): @@ -398,10 +404,22 @@ return self._callback("menusGet", unicode(language), security_limit) @dbus.service.method(const_INT_PREFIX+const_CORE_SUFFIX, - in_signature='sss', out_signature='', + in_signature='ss', out_signature='s', + async_callbacks=None) + def messageEncryptionGet(self, to_jid, profile_key): + return self._callback("messageEncryptionGet", unicode(to_jid), unicode(profile_key)) + + @dbus.service.method(const_INT_PREFIX+const_CORE_SUFFIX, + in_signature='ssbs', out_signature='', async_callbacks=None) - def messageEncryptionStart(self, to_jid, encryption_ns='', profile_key="@NONE@"): - return self._callback("messageEncryptionStart", unicode(to_jid), unicode(encryption_ns), unicode(profile_key)) + def messageEncryptionStart(self, to_jid, encryption_ns='', replace=False, profile_key="@NONE@"): + return self._callback("messageEncryptionStart", unicode(to_jid), unicode(encryption_ns), replace, unicode(profile_key)) + + @dbus.service.method(const_INT_PREFIX+const_CORE_SUFFIX, + in_signature='ss', out_signature='', + async_callbacks=None) + def messageEncryptionStop(self, to_jid, profile_key): + return self._callback("messageEncryptionStop", unicode(to_jid), unicode(profile_key)) @dbus.service.method(const_INT_PREFIX+const_CORE_SUFFIX, in_signature='sa{ss}a{ss}sa{ss}s', out_signature='',