Commit graph libervia-backend/src/bridge
Author SHA1 Message Date
Goffi
97d140566c core, bridge: new signal actionNew to launch an action from the backend (e.g. display a dialog message):
- SAT.actionNew is a shortcut to call bridge.actionNew with a generated id. The id may be used in the future to ignore an action (e.g.: an action is sent to all frontends to accept a file, one of the frontend did manage the dialog, the other ones can then ignore this dialog), but is not used for now.
2015-08-18 09:01:18 +02:00
souliane
640537662a bridge, quick_frontend: the JID that is assigned by the server can differ from the one we asked for (resource) 2015-06-10 18:04:43 +02:00
Goffi
4e90ab7abf bridge: getInfos description minor update 2015-04-17 23:10:06 +02:00
Goffi
35108bc5ba core, bridge, jp: management of service discovery extensions (XEP-0128) 2015-04-17 22:59:35 +02:00
Goffi
fbec02d396 2015 copyright dates update 2015-03-30 10:26:26 +02:00
Goffi
2900e815c4 core: if we are in dev version and it's possible, repository data are now checked and added to SàT version 2015-03-19 19:47:01 +01:00
Goffi
80e65d5b84 core, quick_frontends: added an "extra" item in getMenus + use of new quick_menus module in QuickApp 2015-03-17 19:33:05 +01:00
Goffi
ec25ba82e1 core: added getEntitiesData which get cache data for several entities at once 2015-02-09 21:39:51 +01:00
Goffi
8ce5c1862b core, frontends: refactoring to base Libervia on QuickFrontend (big mixed commit):
/!\ not finished, everything is still instable !
    - bridge: DBus bridge has been modified to allow blocking call to be called in the same way as asynchronous calls
    - bridge: calls with a callback and no errback are now possible, default errback log the error
    - constants: removed hack to manage presence without OrderedDict, as an OrderedDict like class has been implemented in Libervia
    - core: getLastResource has been removed and replaced by getMainResource (there is a global better management of resources)
    - various style improvments: use of constants when possible, fixed variable overlaps, import of module instead of direct class import
    - frontends: printInfo and printMessage methods in (Quick)Chat are more generic (use of extra instead of timestamp)
    - frontends: bridge creation and option parsing (command line arguments) are now specified by the frontend in QuickApp __init__
    - frontends: ProfileManager manage a more complete plug sequence (some stuff formerly manage in contact_list have moved to ProfileManager)
    - quick_frontend (quick_widgets): QuickWidgetsManager is now iterable (all widgets are then returned), or can return an iterator on a specific class (return all widgets of this class) with getWidgets
    - frontends: tools.jid can now be used in Pyjamas, with some care
    - frontends (XMLUI): profile is now managed
    - core (memory): big improvment on entities cache management (and specially resource management)
    - core (params/exceptions): added PermissionError
    - various fixes and improvments, check diff for more details
2015-01-24 01:00:29 +01:00
Goffi
6e144c6458 core: improved roster management + misc:
- updated methods to no use anymore methods deprecated in Wokkel
    - use of full jid when it make sense instead of bare jid
    - getContacts, updateContact and delContact are now asynchronous
2014-12-10 18:32:33 +01:00
Goffi
4ba87c6050 bridge (frontends side): fixed call of async method in blocking context 2014-10-16 20:18:40 +02:00
souliane
767f3d50dc bridge, memory: add "search" attribute to getHistory (filter the results with a unix globbing pattern) 2014-10-04 10:25:32 +02:00
Matteo Cypriani
71e29f5c44 misc: fixed some typos 2014-09-15 14:18:25 +02:00
Goffi
3a983b17db frontends (dbus): error is not truncated anymore if it's not a SàT error. 2014-09-08 21:23:21 +02:00
Goffi
a20e3e2cb8 core: a new "info" type is used in newMessage for system messages (not comming from outside) 2014-09-05 19:29:30 +02:00
souliane
bba25dd62d bridge: DBusException also transports the twisted failure condition 2014-06-15 16:06:02 +02:00
Goffi
8867ac6c60 bridge (D-Bus): frontend side now use a 120 s timeout for async calls 2014-06-15 00:18:28 +02:00
souliane
b9106c65d6 bridge: async failures are more detailed (full class name + error message) 2014-06-07 15:20:39 +02:00
souliane
244a33d2c7 core (xmpp), stdui (profile_manager), bridge, frontends: raise an exception if the XMPP connection failed instead of sending a signal 2014-05-23 09:59:35 +02:00
souliane
f719875f0b core, frontends: remove bridge method "connect" (always use asyncConnect) 2014-05-23 10:40:54 +02:00
souliane
dd597a2ead core, memory, bridge, plugin misc_register_account: move registerNewAccount to a new plugin:
- the bridge method has been removed, now a plugin takes care of it with XMLUI callback system
    - TODO: xmpp.RegisteringAuthenticator still needs to be fixed
2014-05-16 00:58:20 +02:00
souliane
0d28c03d27 core, memory, bridge: added profile password + password encryption:
/!\ This changeset updates the database version to 2 and modify the database content!

Description:
    - new parameter General / Password to store the profile password
    - profile password is initialized with XMPP password value, it is stored hashed
    - bridge methods asyncCreateProfile/asyncConnect takes a new argument "password" (default = "")
    - bridge method asyncConnect returns a boolean (True = connection already established, False = connection initiated)
    - profile password is checked before initializing the XMPP connection

    - new private individual parameter to store the personal encryption key of each profile
    - personal key is randomly generated and encrypted with the profile password
    - personal key is decrypted after profile authentification and stored in a Sessions instance
    - personal key is used to encrypt/decrypt other passwords when they need to be retrieved/modified

    - modifying the profile password re-encrypt the personal key
    - Memory.setParam now returns a Deferred (the bridge method "setParam" is unchanged)
    - Memory.asyncGetParamA eventually decrypts the password, Memory.getParamA would fail on a password parameter

TODO:
    - if profile authentication is OK but XMPP authentication is KO, prompt the user for another XMPP password
    - fix the method "registerNewAccount" (and move it to a plugin)
    - remove bridge method "connect", sole "asyncConnect" should be used
2014-05-07 16:02:23 +02:00
Goffi
a2f1522efd bridge (constructor): fixed D-Bus frontend generator for async method without sig_in + fixed --debug option + regenerated bridge to fix bad frontend D-Bus bridge. 2014-05-15 16:35:28 +02:00
Goffi
f0b2c7dea3 core: added a getReady method which can be called by frontends to ensure that backend is fully initialised before doing anything + this ckeck is automatically done in asyncConnect 2014-05-15 16:02:16 +02:00
souliane
1eeddf5900 better PEP-8 compliance 2014-05-07 15:44:31 +02:00
souliane
2e6420fb49 memory, jp: added jp commands to load/save parameters template 2014-05-04 18:43:54 +02:00
Goffi
501bc92528 core: use of the new core.log module:
/!\ this is a massive refactoring and was largely automated, it probably did bring some bugs /!\
2014-04-19 19:19:19 +02:00
Goffi
e95d04b69e core (disco): added discoInfos and discoItems bridge methods 2014-04-01 21:14:57 +02:00
Goffi
382d49a628 core (memory): entities cache improvments:
- entities cache is no more limited to bare jid
    - resources are now automatically updated in bare jid cache
2014-03-28 18:07:17 +01:00
souliane
c5e3da853c bridge: remove unecessary signals/methods declarations 2014-03-21 09:09:51 +01:00
souliane
bc9efbda82 bridge, frontends: display presence with the highest priority + reset your own presence when you (dis)connect 2014-03-20 21:18:18 +01:00
souliane
d158589881 core, frontends: add method asyncDeleteProfile, remove synchronous methods createProfile and deleteProfile 2014-03-03 09:59:10 +01:00
Goffi
2ca6efd8cc dates update 2014-02-04 18:32:49 +01:00
souliane
409bbccebe memory: fixed wrong information in the docstrings for security_limit 2014-01-04 21:12:49 +01:00
souliane
4a0d8be8ec core, bridge: new method paramsRegisterApp to register frontend's specific parameters 2013-12-27 13:28:26 +01:00
Goffi
b7bf434cd2 core: dynamics menus refactoring:
- menu now use generic callback system, with extra data
    - asyncMenuCall is removed in favor of launchAction
    - menu_id (== callback_id) is used to identify menu instead of category/name/type tuple
    - i18n is managed throught deferred translation, and returned with _i18n suffix
        e.g.: menu (D_('File'), D_('Open')): (u'File', u'Open') is menu_path, (u'Fichier', u'Ouvrir') is french menu_path_i18n.
    - type actually can have the following values:
        - NORMAL: classical menu
        - JID_CONTEXT: contextual menu, used with any jid
        - ROSTER_JID_CONTEXT: like JID_CONTEXT, but restricted to jids in roster.
        - ROSTER_GROUP_CONTEXT: contextual menu, use with groups
    - security_limit is used, in the same way as for parameters
    - when using importMenu, callback can be an actual callback, or one already registered with registerCallback
2013-12-29 17:10:14 +01:00
Goffi
5a00dc9503 core: i18n refactoring:
- _() is no more installed in __builtin__
    - instead, there is a new sat.core.i18n module
    - added D_() method for deferred translation
    - languageSwitch method allow to dynamically change translation language
    - import gettext is tested against ImportError, and dummy methods are used when not available (mainly useful for Libervia)
2013-12-29 17:06:01 +01:00
Goffi
069a250b04 backend, frontends: callbacks refactoring:
- launchAction is now async, and return a dictionary for its result
    - no more action_id, actionResult* are deprecated
    - callback system is about to be unified
2013-12-24 15:19:08 +01:00
Goffi
71c1def32a core, frontends: callMenu is now async and don't use callback_id anymore 2013-12-24 15:18:31 +01:00
Goffi
bc776be0f2 core,bridge: sendMessage bridge method is now async 2013-12-17 01:46:45 +01:00
Goffi
b6aaecc5c2 core, bridge: better GenericException handling 2013-12-17 00:56:39 +01:00
souliane
5c39b346a8 bridge (constructor): added categories for the mediawiki export 2013-11-25 13:32:21 +01:00
Goffi
be66155439 bridge: fixed bridge_constructor 2013-12-01 17:28:30 +01:00
souliane
e10b53470d bridge: removed plugin method definitions from the old static system 2013-11-17 16:11:55 +01:00
Goffi
9d42c269db core: sendMessage's options parameter has been renamed to extra to be consistent with newMessage 2013-11-13 13:58:10 +01:00
Goffi
8624c3c547 core, bridge: extra parameter is saved in history:
- added extra data in getHistory return value
    - extra data is saved in database
    /!\ WARNING: DATABASE SCHEMA HAS CHANGED /!\
to update sqlite database: ALTER TABLE history ADD COLUMN extra BLOB;
2013-11-07 15:29:39 +01:00
souliane
6f58566118 bridge, memory: added the parameter security_limit to asyncGetParamA so it can be used from libervia. refactorization in memory.py are related to that. 2013-10-02 20:25:19 +02:00
Goffi
2fde64ea3b bridge: doc fix for newContact 2013-09-29 16:29:57 +02:00
souliane
2bf3694fd0 core: added the security_limit to setParam
- params with a security greater than security_limit can not be modified
- special value: security_limit < 0 disable the check (all params can be modified)
2013-09-07 02:03:17 +02:00
souliane
9cb7071e89 plugin XEP-0085: Chat State Notifications
- new "options" parameter to send chat states
    - plugin command export: messages without body are now delivered (since all the chat states other than "active" need them)
2013-09-05 20:48:47 +02:00