Implement libretroshare short invites support

This commit is contained in:
Gioacchino Mazzurco 2019-05-13 00:11:54 +02:00
parent 533ceed549
commit 720d5ea8a6
No known key found for this signature in database
GPG key ID: A1FBCA3872E87051
11 changed files with 457 additions and 19 deletions

View file

@ -27,6 +27,7 @@
#include "retroshare/rsiface.h"
#include "rsserver/p3face.h"
#include "util/rsdebug.h"
#include "retroshare/rspeers.h"
/****
* #define P3DISC_DEBUG 1
@ -1249,9 +1250,25 @@ void p3discovery2::recvInvite(
void p3discovery2::rsEventsHandler(const RsEvent& event)
{
Dbg3() << __PRETTY_FUNCTION__ << " " << static_cast<uint32_t>(event.mType)
<< std::endl;
switch(event.mType)
{
// TODO: When an SSL-only friend become online requestInvite(...)
case RsEventType::PEER_STATE_CHANGED:
{
const RsPeerId& sslId =
static_cast<const RsPeerStateChangedEvent&>(event).mSslId;
if( rsPeers && rsPeers->isSslOnlyFriend(sslId) &&
mServiceCtrl->isPeerConnected(
getServiceInfo().mServiceType, sslId ) )
{
if(!requestInvite(sslId, sslId))
RsErr() << __PRETTY_FUNCTION__ << " requestInvite to peer "
<< sslId << " failed" << std::endl;
}
break;
}
default: break;
}
}