Merge of branch v0.6-rssocialnet 7419 to 7488. Changes from electron and myself:

- added possibility to modify groups (e.g. edit circles)
- fixed mismatched free/delete in fimonitor.cc, authssl.cc, pqibin.cc (saving encrypted hash cache file)
- improved plugin interface class to allow plugins to access GXS objects.
- added method to un-register notify clients from RsNotify
- fixed pqisslproxy for windows, due to win not properly supporting sockets in non blocking mode.
- removed static members form RsInitConfig and made RsAccounts object a pointer. This prevents plugin initialisation problems at symbol resolving time.
- removed bool return from p3IdService::getOwnIds()



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7492 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
csoler 2014-08-25 21:07:07 +00:00
parent 906efa6f6c
commit f6db432c74
24 changed files with 525 additions and 322 deletions

View file

@ -33,6 +33,7 @@
#include "retroshare/rspeers.h"
#include "retroshare/rsfiles.h"
#include "util/rsversion.h"
#include "util/rsinitedptr.h"
class RsPluginHandler ;
extern RsPluginHandler *rsPlugins ;
@ -62,6 +63,13 @@ class SoundEvents;
class FeedNotify;
class ChatWidget;
class ChatWidgetHolder;
// for gxs based plugins
class RsIdentity;
class RsNxsNetMgr;
class RsGxsIdExchange;
class RsGcxs;
class PgpAuxUtils;
class p3Config;
// Plugin API version. Not used yet, but will be in the future the
// main value that decides for compatibility.
@ -88,20 +96,22 @@ class RsPluginHandler;
*
*/
class RsPlugInInterfaces {
public:
RsUtil::inited_ptr<RsPeers> mPeers;
RsUtil::inited_ptr<RsFiles> mFiles;
RsUtil::inited_ptr<RsMsgs> mMsgs;
RsUtil::inited_ptr<RsTurtle> mTurtle;
RsUtil::inited_ptr<RsDisc> mDisc;
RsUtil::inited_ptr<RsDht> mDht;
RsUtil::inited_ptr<RsNotify> mNotify;
RsPlugInInterfaces()
{
memset(this,0,sizeof(RsPlugInInterfaces)) ; // zero all pointers.
}
RsPeers *mPeers;
RsFiles *mFiles;
RsMsgs *mMsgs;
RsTurtle *mTurtle;
RsDisc *mDisc;
RsDht *mDht;
RsNotify *mNotify;
// gxs
std::string mGxsDir;
RsUtil::inited_ptr<RsIdentity> mIdentity;
RsUtil::inited_ptr<RsNxsNetMgr> mRsNxsNetMgr;
RsUtil::inited_ptr<RsGxsIdExchange> mGxsIdService;
RsUtil::inited_ptr<RsGcxs> mGxsCirlces;
RsUtil::inited_ptr<PgpAuxUtils> mPgpAuxUtils;
};
class RsPlugin
@ -119,7 +129,11 @@ class RsPlugin
// exchange of data, such as chat, messages, etc.
// Example plugin: VOIP
//
virtual RsPQIService *rs_pqi_service() const { return NULL ; }
//virtual RsPQIService *rs_pqi_service() const { return NULL ; }
// gxs netservice is not a RsPQIService
// so have two fns which result in the same gxs netservice to be returned
virtual p3Service *p3_service() const { return NULL ; }
virtual p3Config *p3_config() const { return NULL ; }
virtual uint16_t rs_service_id() const { return 0 ; }
// Shutdown