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