RetroShare/tests/librssimulator/peer/PeerNode.h
drbob df4cf6030e Added NxsNetMgr to simulator
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7266 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-04-12 07:22:57 +00:00

69 lines
1.4 KiB
C++

#pragma once
#include <list>
#include "retroshare/rsids.h"
class RsRawItem ;
class p3ServiceServer ;
class FakePublisher;
class p3ServiceControl;
class FakeLinkMgr;
class FakePeerMgr;
class FakeNetMgr;
class RsNxsNetMgr;
class FakeNxsNetMgr;
class pqiMonitor;
class pqiServiceMonitor;
class pqiService;
class PeerNode
{
public:
PeerNode(const RsPeerId& id,const std::list<RsPeerId>& friends, bool online) ;
~PeerNode() ;
RsRawItem *outgoing() ;
void incoming(RsRawItem *) ;
bool haveOutgoingPackets();
const RsPeerId& id() const { return _id ;}
void tick() ;
p3ServiceControl *getServiceControl() const { return _service_control; }
p3LinkMgr *getLinkMgr();
p3PeerMgr *getPeerMgr();
p3NetMgr *getNetMgr();
RsNxsNetMgr *getNxsNetMgr();
void AddService(pqiService *service);
void AddPqiMonitor(pqiMonitor *service);
void AddPqiServiceMonitor(pqiServiceMonitor *service);
//
void notifyOfFriends();
void bringOnline(std::list<RsPeerId> &friends);
void takeOffline(std::list<RsPeerId> &friends);
private:
RsPeerId _id;
p3ServiceServer *_service_server ;
FakePublisher *mPublisher ;
p3ServiceControl *_service_control;
FakeLinkMgr *mLinkMgr;
FakePeerMgr *mPeerMgr;
FakeNetMgr *mNetMgr;
FakeNxsNetMgr *mNxsNetMgr;
/* for monitors */
std::list<pqiMonitor *> mPqiMonitors;
std::list<pqiServiceMonitor *> mPqiServiceMonitors;
};