transfers - add peer names for turtle routed sources

This commit is contained in:
RetroPooh 2017-03-10 09:27:46 +03:00
parent cf2edb50b4
commit 6a2181ca14
4 changed files with 28 additions and 2 deletions

View File

@ -129,6 +129,8 @@ class RsTurtle
///
virtual void registerTunnelService(RsTurtleClientService *service) = 0;
virtual std::string getPeerNameForVirtualPeerId(const RsPeerId& virtual_peer_id) = 0;
// Get info from the turtle router. I use std strings to hide the internal structs.
//
virtual void getInfo(std::vector<std::vector<std::string> >&,std::vector<std::vector<std::string> >&,

View File

@ -2001,6 +2001,25 @@ void p3turtle::getTrafficStatistics(TurtleTrafficStatisticsInfo& info) const
}
}
std::string p3turtle::getPeerNameForVirtualPeerId(const RsPeerId& virtual_peer_id)
{
std::string name = "unknown";
std::map<TurtleVirtualPeerId,TurtleTunnelId>::const_iterator it(_virtual_peers.find(virtual_peer_id)) ;
if(it != _virtual_peers.end())
{
TurtleTunnelId tunnel_id = it->second ;
std::map<TurtleTunnelId,TurtleTunnel>::iterator it2( _local_tunnels.find(tunnel_id) ) ;
if(it2 != _local_tunnels.end())
{
if(it2->second.local_src == _own_id)
mLinkMgr->getPeerName(it2->second.local_dst,name);
else
mLinkMgr->getPeerName(it2->second.local_src,name);
}
}
return name;
}
void p3turtle::getInfo( std::vector<std::vector<std::string> >& hashes_info,
std::vector<std::vector<std::string> >& tunnels_info,
std::vector<TurtleRequestDisplayInfo >& search_reqs_info,

View File

@ -275,6 +275,8 @@ class p3turtle: public p3Service, public RsTurtle, public p3Config
///
virtual void registerTunnelService(RsTurtleClientService *service) ;
virtual std::string getPeerNameForVirtualPeerId(const RsPeerId& virtual_peer_id);
/// get info about tunnels
virtual void getInfo(std::vector<std::vector<std::string> >&,
std::vector<std::vector<std::string> >&,

View File

@ -58,6 +58,8 @@
#include <retroshare/rsdisc.h>
#include <retroshare/rsplugin.h>
#include <retroshare/rsturtle.h>
/* Images for context menu icons */
#define IMAGE_INFO ":/images/fileinfo.png"
#define IMAGE_CANCEL ":/images/delete.png"
@ -1388,10 +1390,11 @@ QString TransfersDialog::getPeerName(const RsPeerId& id) const
//
if(res == "")
{
res = QString::fromStdString(rsTurtle->getPeerNameForVirtualPeerId(id));
if(rsFiles->isEncryptedSource(id))
return tr("Anonymous end-to-end encrypted tunnel 0x")+QString::fromStdString(id.toStdString()).left(8) ;
return tr("e2ee tunnel ")+QString::fromStdString(id.toStdString()).left(8) + " via " +res ;
else
return tr("Anonymous tunnel 0x")+QString::fromStdString(id.toStdString()).left(8) ;
return tr("Anon tunnel ")+QString::fromStdString(id.toStdString()).left(8) + " via " +res ;
}
else
return res ;