Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

ClntAddrMgr.h

Go to the documentation of this file.
00001 /*
00002  * Dibbler - a portable DHCPv6
00003  *
00004  * authors: Tomasz Mrugalski <thomson@klub.com.pl>
00005  *          Marek Senderski <msend@o2.pl>
00006  *
00007  * released under GNU GPL v2 or later licence
00008  *
00009  * $Id: ClntAddrMgr.h,v 1.6 2004/12/07 22:54:35 thomson Exp $
00010  *
00011  * $Log: ClntAddrMgr.h,v $
00012  * Revision 1.6  2004/12/07 22:54:35  thomson
00013  * Typos corrected.
00014  *
00015  * Revision 1.5  2004/12/07 00:45:41  thomson
00016  * Clnt managers creation unified and cleaned up.
00017  *
00018  * Revision 1.4  2004/10/27 22:07:55  thomson
00019  * Signed/unsigned issues fixed, Lifetime option implemented, INFORMATION-REQUEST
00020  * message is now sent properly. Valid lifetime granted by server fixed.
00021  *
00022  * Revision 1.3  2004/09/08 21:22:45  thomson
00023  * Parser improvements, signed/unsigned issues addressed.
00024  *
00025  * Revision 1.2  2004/09/07 22:02:32  thomson
00026  * pref/valid/IAID is not unsigned, RAPID-COMMIT now works ok.
00027  *
00028  */
00029 
00030 #ifndef CLNTADDRMGR_H
00031 #define CLNTADDRMGR_H
00032 
00033 #include "Container.h"
00034 #include "SmartPtr.h"
00035 #include "AddrIA.h"
00036 #include "AddrMgr.h"
00037 #include "ClntCfgMgr.h"
00038 
00039 class TClntCfgMgr;
00040 
00041 class TClntAddrMgr : public TAddrMgr
00042 {
00043   public:
00044     TClntAddrMgr(SmartPtr<TClntCfgMgr> ClntCfgMgr, string xmlFile, bool loadDB);
00045 
00046     unsigned long getT1Timeout();
00047     unsigned long getT2Timeout();
00048     unsigned long getPrefTimeout();
00049     unsigned long getValidTimeout();
00050 
00051     unsigned long getTimeout();
00052     unsigned long getTentativeTimeout();
00053     void firstIA();
00054     SmartPtr<TAddrIA> getIA();
00055     SmartPtr<TAddrIA> getIA(unsigned long IAID);
00056     void addIA(SmartPtr<TAddrIA> ptr);
00057     bool delIA(long IAID);
00058     int countIA();
00059     ~TClntAddrMgr();
00060 
00061     void doDuties();
00062     
00063     bool isIAAssigned(unsigned long IAID);
00064  private:
00065     SmartPtr<TAddrClient> Client;
00066 };
00067 
00068 #endif
00069 

Generated on Mon Dec 27 21:55:21 2004 for Dibbler - a portable DHCPv6 by  doxygen 1.3.9.1