mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-05-16 13:02:27 -04:00
Improved plugin system:
- the user is asked at start wether to load or deny unregistered plugins, but can make it mind later in config->plugins - added API and SVN numbers into required external plugin symbols - user-defined plugin rules are dropped when a plugin changes (hash changes) or when the main executable changes. - added new status flags (Plugin denied, missing API/SVN numbers) - modified saveList()/loadList() to allow saving a list of rejected plugins as well. - added methods in notifyBase and inherited classes to ask for plugin confirmation. - adapted VOIP plugin to follow these new rules (API+SVN numbers). Other plugins should be adapted as well by addign the missing symbols (RETROSHARE_PLUGIN_api and RETROSHARE_PLUGIN_revision). git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5529 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
d57a75fbbd
commit
24a3fb58d4
13 changed files with 334 additions and 147 deletions
|
@ -52,14 +52,22 @@ class RsPQIService ;
|
|||
class RsAutoUpdatePage ;
|
||||
class PopupChatDialog ;
|
||||
|
||||
// Plugin API version. Not used yet, but will be in the future the
|
||||
// main value that decides for compatibility.
|
||||
//
|
||||
#define RS_PLUGIN_API_VERSION 0x000101
|
||||
|
||||
// Used for the status of plugins.
|
||||
//
|
||||
#define PLUGIN_STATUS_NO_STATUS 0x0000
|
||||
#define PLUGIN_STATUS_UNKNOWN_HASH 0x0001
|
||||
#define PLUGIN_STATUS_REJECTED_HASH 0x0001
|
||||
#define PLUGIN_STATUS_DLOPEN_ERROR 0x0002
|
||||
#define PLUGIN_STATUS_MISSING_SYMBOL 0x0003
|
||||
#define PLUGIN_STATUS_NULL_PLUGIN 0x0004
|
||||
#define PLUGIN_STATUS_LOADED 0x0005
|
||||
#define PLUGIN_STATUS_WRONG_API 0x0006
|
||||
#define PLUGIN_STATUS_MISSING_API 0x0007
|
||||
#define PLUGIN_STATUS_MISSING_SVN 0x0008
|
||||
|
||||
class RsPluginHandler;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue