Added service functionality to AuthGPG for load and save of certificates in the background (prepared for more when needed).

Added p3disc as service and process the certificats of RsDiscReply with AuthGPG service.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3669 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
thunder2 2010-10-13 16:15:26 +00:00
parent 923e76bde2
commit 3a60e8cecb
5 changed files with 301 additions and 109 deletions

View file

@ -42,6 +42,7 @@ class p3ConnectMgr;
#include "pqi/pqimonitor.h"
#include "serialiser/rsdiscitems.h"
#include "services/p3service.h"
#include "pqi/authgpg.h"
class autoserver
{
@ -74,7 +75,7 @@ class autoneighbour: public autoserver
class p3ConnectMgr;
class p3disc: public p3Service, public pqiMonitor, public p3Config
class p3disc: public p3Service, public pqiMonitor, public p3Config, public AuthGPGService
{
public:
@ -91,6 +92,10 @@ int tick();
bool potentialproxies(std::string id, std::list<std::string> &proxyIds);
void getversions(std::map<std::string, std::string> &versions);
/************* from AuthGPService ****************/
virtual AuthGPGOperation *getGPGOperation();
virtual void setGPGOperation(AuthGPGOperation *operation);
protected:
/*****************************************************************/
/*********************** p3config ******************************/
@ -103,13 +108,13 @@ virtual bool loadList(std::list<RsItem *> load);
private:
void sendAllInfoToJustConnectedPeer(std::string id);
void sendJustConnectedPeerInfoToAllPeer(std::string id);
void sendAllInfoToJustConnectedPeer(const std::string &id);
void sendJustConnectedPeerInfoToAllPeer(const std::string &id);
/* Network Output */
//void sendOwnDetails(std::string to);
void sendOwnVersion(std::string to);
void sendPeerDetails(std::string to, std::string about);
RsDiscReply *createDiscReply(const std::string &to, const std::string &about);
//void sendPeerIssuer(std::string to, std::string about);
void sendHeartbeat(std::string to);
void askInfoToAllPeers(std::string about);
@ -117,7 +122,7 @@ void askInfoToAllPeers(std::string about);
/* Network Input */
int handleIncoming();
void recvAskInfo(RsDiscAskInfo *item);
void recvPeerDetails(RsDiscReply *item);
void recvPeerDetails(RsDiscReply *item, const std::string &certGpgId);
//void recvPeerIssuerMsg(RsDiscIssuer *item);
void recvPeerVersionMsg(RsDiscVersion *item);
void recvHeartbeatMsg(RsDiscHeartbeat *item);
@ -131,7 +136,6 @@ int addDiscoveryData(std::string fromId, std::string aboutId,
int idServers();
private:
p3ConnectMgr *mConnMgr;
@ -147,7 +151,7 @@ int idServers();
std::map<std::string, std::string> versions;
std::map<std::string, std::list<std::string> > sendIdList;
std::list<RsDiscReply*> discReplyList;
std::list<RsDiscReply*> pendingDiscReplyInList;
};