00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 class TSrvAddrMgr;
00031 #ifndef SRVADDRMGR_H
00032 #define SRVADDRMGR_H
00033
00034 #include "AddrMgr.h"
00035 #include "SrvCfgAddrClass.h"
00036 class TSrvAddrMgr : public TAddrMgr
00037 {
00038 public:
00039 TSrvAddrMgr(string xmlfile);
00040 ~TSrvAddrMgr();
00041
00042 long getTimeout();
00043 bool addClntAddr(SmartPtr<TDUID> clntDuid, SmartPtr<TIPv6Addr> clntAddr,
00044 int iface, unsigned long IAID, unsigned long T1, unsigned long T2,
00045 SmartPtr<TIPv6Addr> addr, unsigned long pref, unsigned long valid,
00046 bool quiet);
00047 bool delClntAddr(SmartPtr<TDUID> duid,unsigned long IAID, SmartPtr<TIPv6Addr> addr,
00048 bool quiet);
00049
00050
00051 unsigned long getAddrCount(SmartPtr<TDUID> duid);
00052
00053 void doDuties();
00054
00055 void getAddrsCount(SmartPtr<TContainer< SmartPtr<TSrvCfgAddrClass> >> classes, long *clntCnt,
00056 long *addrCnt, SmartPtr<TDUID> duid, int iface);
00057
00058 bool addrIsFree(SmartPtr<TIPv6Addr> addr);
00059 };
00060
00061 #endif
00062