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

@ -130,9 +130,11 @@ virtual bool getCirclePersonalIdList(std::list<RsGxsCircleId> &circleIds) = 0;
/* standard load */
virtual bool getGroupData(const uint32_t &token, std::vector<RsGxsCircleGroup> &groups) = 0;
/* make new group */
virtual bool createGroup(uint32_t& token, RsGxsCircleGroup &group) = 0;
/* make new group */
virtual void createGroup(uint32_t& token, RsGxsCircleGroup &group) = 0;
/* update an existing group */
virtual void updateGroup(uint32_t &token, RsGxsCircleGroup &group) = 0;
};

View file

@ -209,7 +209,7 @@ public:
//virtual bool getNickname(const RsGxsId &id, std::string &nickname) = 0;
virtual bool getIdDetails(const RsGxsId &id, RsIdentityDetails &details) = 0;
virtual bool getOwnIds(std::list<RsGxsId> &ownIds) = 0;
virtual void getOwnIds(std::list<RsGxsId> &ownIds) = 0;
//
virtual bool submitOpinion(uint32_t& token, const RsGxsId &id,

View file

@ -162,6 +162,8 @@ class RsNotify
public:
/* registration of notifies clients */
virtual void registerNotifyClient(NotifyClient *nc) = 0;
/* returns true if NotifyClient was found */
virtual bool unregisterNotifyClient(NotifyClient *nc) = 0;
/* Pull methods for retroshare-gui */
/* this should probably go into a different service. */

View file

@ -287,8 +287,9 @@ class RsPeers
virtual ~RsPeers() { return; }
/* Updates ... */
virtual bool FriendsChanged() = 0;
virtual bool OthersChanged() = 0;
// not implemented
//virtual bool FriendsChanged() = 0;
//virtual bool OthersChanged() = 0;
/* Peer Details (Net & Auth) */
virtual const RsPeerId& getOwnId() = 0;

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