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 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. // 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> >&, 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, void p3turtle::getInfo( std::vector<std::vector<std::string> >& hashes_info,
std::vector<std::vector<std::string> >& tunnels_info, std::vector<std::vector<std::string> >& tunnels_info,
std::vector<TurtleRequestDisplayInfo >& search_reqs_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 void registerTunnelService(RsTurtleClientService *service) ;
virtual std::string getPeerNameForVirtualPeerId(const RsPeerId& virtual_peer_id);
/// get info about tunnels /// get info about tunnels
virtual void getInfo(std::vector<std::vector<std::string> >&, virtual void getInfo(std::vector<std::vector<std::string> >&,
std::vector<std::vector<std::string> >&, std::vector<std::vector<std::string> >&,

View File

@ -58,6 +58,8 @@
#include <retroshare/rsdisc.h> #include <retroshare/rsdisc.h>
#include <retroshare/rsplugin.h> #include <retroshare/rsplugin.h>
#include <retroshare/rsturtle.h>
/* Images for context menu icons */ /* Images for context menu icons */
#define IMAGE_INFO ":/images/fileinfo.png" #define IMAGE_INFO ":/images/fileinfo.png"
#define IMAGE_CANCEL ":/images/delete.png" #define IMAGE_CANCEL ":/images/delete.png"
@ -1388,10 +1390,11 @@ QString TransfersDialog::getPeerName(const RsPeerId& id) const
// //
if(res == "") if(res == "")
{ {
res = QString::fromStdString(rsTurtle->getPeerNameForVirtualPeerId(id));
if(rsFiles->isEncryptedSource(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 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 else
return res ; return res ;