00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 class TSrvMsgSolicit;
00019 #ifndef SRVMSGSOLICIT_H
00020 #define SRVMSGSOLICIT_H
00021 #include "SrvMsg.h"
00022 #include "SrvCfgMgr.h"
00023 #include "SrvIfaceMgr.h"
00024 #include "SrvTransMgr.h"
00025 #include "SrvAddrMgr.h"
00026
00027 #include "SmartPtr.h"
00028
00029 class TSrvMsgSolicit : public TSrvMsg
00030 {
00031 public:
00032 TSrvMsgSolicit(SmartPtr<TSrvIfaceMgr> ifaceMgr,
00033 SmartPtr<TSrvTransMgr> transMgr,
00034 SmartPtr<TSrvCfgMgr> cfgMgr,
00035 SmartPtr<TSrvAddrMgr> addrMgr,
00036 int iface, SmartPtr<TIPv6Addr> addr,
00037 char* buf, int bufSzie);
00038
00039 void answer(SmartPtr<TMsg> msg);
00040
00041 void doDuties();
00042 void sortAnswers();
00043 string getName();
00044 unsigned long getTimeout();
00045 bool check();
00046 void send();
00047 ~TSrvMsgSolicit();
00048
00049 private:
00050 void setAttribs(SmartPtr<TSrvIfaceMgr> IfaceMgr,
00051 SmartPtr<TSrvTransMgr> TransMgr,
00052 SmartPtr<TSrvCfgMgr> CfgMgr,
00053 SmartPtr<TSrvAddrMgr> AddrMgr,
00054 int iface,
00055 char* addr,
00056 int msgType);
00057 };
00058 #endif
00059