mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-12-27 00:19:25 -05:00
- Exported ServiceInfoCompatible for GUI usage.
- Set the rsServiceControl variable. git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7197 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
83a78bcaee
commit
3ecf4a0858
@ -141,6 +141,19 @@ void p3ServiceControl::getServiceChanges(std::set<RsPeerId> &updateSet)
|
||||
}
|
||||
|
||||
|
||||
bool p3ServiceControl::getOwnServices(RsPeerServiceInfo &info)
|
||||
{
|
||||
std::cerr << "p3ServiceControl::getOwnServices()";
|
||||
std::cerr << std::endl;
|
||||
|
||||
RsStackMutex stack(mCtrlMtx); /***** LOCK STACK MUTEX ****/
|
||||
|
||||
info.mPeerId = "";
|
||||
info.mServiceList = mOwnServices;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool p3ServiceControl::getServicesAllowed(const RsPeerId &peerId, RsPeerServiceInfo &info)
|
||||
{
|
||||
std::cerr << "p3ServiceControl::getServicesAllowed(" << peerId.toStdString() << ")";
|
||||
@ -391,7 +404,7 @@ bool versionOkay(uint16_t version_major, uint16_t version_minor,
|
||||
}
|
||||
|
||||
|
||||
bool servicesCompatible(const RsServiceInfo &info1, const RsServiceInfo &info2)
|
||||
bool ServiceInfoCompatible(const RsServiceInfo &info1, const RsServiceInfo &info2)
|
||||
{
|
||||
// Id, or Name mismatch.
|
||||
if ((info1.mServiceType != info2.mServiceType) ||
|
||||
@ -521,7 +534,7 @@ bool p3ServiceControl::updateFilterByPeer_locked(const RsPeerId &peerId)
|
||||
std::cerr << std::endl;
|
||||
/* match of service IDs */
|
||||
/* check if compatible */
|
||||
if (servicesCompatible(oit->second, tit->second))
|
||||
if (ServiceInfoCompatible(oit->second, tit->second))
|
||||
{
|
||||
if (peerHasPermissionForService_locked(peerId, oit->first))
|
||||
{
|
||||
|
@ -73,6 +73,8 @@ public:
|
||||
* External Interface (RsServiceControl).
|
||||
*/
|
||||
|
||||
virtual bool getOwnServices(RsPeerServiceInfo &info);
|
||||
|
||||
// This is what is passed to peers, can be displayed by GUI too.
|
||||
virtual bool getServicesAllowed(const RsPeerId &peerId, RsPeerServiceInfo &info);
|
||||
|
||||
|
@ -60,6 +60,10 @@ class RsServiceInfo
|
||||
};
|
||||
|
||||
|
||||
bool ServiceInfoCompatible(const RsServiceInfo &info1, const RsServiceInfo &info2);
|
||||
|
||||
|
||||
|
||||
/* this is what is transmitted to peers */
|
||||
class RsPeerServiceInfo
|
||||
{
|
||||
@ -100,6 +104,8 @@ class RsServiceControl
|
||||
RsServiceControl() { return; }
|
||||
virtual ~RsServiceControl() { return; }
|
||||
|
||||
virtual bool getOwnServices(RsPeerServiceInfo &info) = 0;
|
||||
|
||||
virtual bool getServicesAllowed(const RsPeerId &peerId, RsPeerServiceInfo &info) = 0;
|
||||
virtual bool getServicesProvided(const RsPeerId &peerId, RsPeerServiceInfo &info) = 0;
|
||||
virtual bool getServicePermissions(uint32_t serviceId, RsServicePermissions &permissions) = 0;
|
||||
|
@ -1223,6 +1223,7 @@ int RsServer::StartupRetroShare()
|
||||
/**************************** BITDHT ***********************************/
|
||||
|
||||
p3ServiceControl *serviceCtrl = new p3ServiceControl(0);
|
||||
rsServiceControl = serviceCtrl;
|
||||
|
||||
SecurityPolicy *none = secpolicy_create();
|
||||
pqih = new pqisslpersongrp(serviceCtrl, none, flags, mPeerMgr);
|
||||
|
Loading…
Reference in New Issue
Block a user