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

ClntOptIA_NA.h

Go to the documentation of this file.
00001 #ifndef CLNTIA_NA_H_HEADER_INCLUDED_C112064B
00002 #define CLNTIA_NA_H_HEADER_INCLUDED_C112064B
00003 
00004 #include "ClntCfgIA.h"
00005 #include "OptIA_NA.h"
00006 #include "ClntOptIAAddress.h"
00007 #include "ClntIfaceMgr.h"
00008 #include "ClntTransMgr.h"
00009 #include "ClntCfgMgr.h"
00010 #include "ClntAddrMgr.h"
00011 #include "IPv6Addr.h"
00012 class TOptIA_NA;
00013 
00014 class TClntOptIA_NA : public TOptIA_NA
00015 {
00016  public:
00017     TClntOptIA_NA(SmartPtr<TClntCfgIA> ClntCfgIA, TMsg* parent);
00018     TClntOptIA_NA(SmartPtr<TAddrIA> AddrIA, TMsg* parent);
00019     TClntOptIA_NA(SmartPtr<TAddrIA> clntAddrIA, bool zeroTimes, TMsg* parent);
00020     TClntOptIA_NA(char * buf, int bufsize, TMsg* parent);
00021     ~TClntOptIA_NA();    
00022 
00023     bool doDuties();
00024     int getStatusCode();
00025     void setThats(SmartPtr<TClntIfaceMgr> ifaceMgr, 
00026                   SmartPtr<TClntTransMgr> transMgr, 
00027                   SmartPtr<TClntCfgMgr>   cfgMgr, 
00028                   SmartPtr<TClntAddrMgr>  addrMgr,
00029                   SmartPtr<TDUID> duid, SmartPtr<TIPv6Addr> addr, int iface);
00030 
00031     SmartPtr<TClntOptIAAddress> getAddr();
00032     SmartPtr<TClntOptIAAddress> getAddr(SmartPtr<TIPv6Addr> addr);
00033     void firstAddr();
00034     int countAddr();
00035     TClntOptIA_NA(SmartPtr<TClntCfgIA> ClntCfgIA, 
00036                   SmartPtr<TAddrIA> ClntaddrIA, 
00037                   TMsg* parent);
00038     bool isValid();
00039 
00040  private:
00041     void releaseAddr(long IAID, SmartPtr<TIPv6Addr> addr );
00042     int countValidAddrs(SmartPtr<TAddrIA> ptrAddrIA);
00043 
00044     SmartPtr<TIPv6Addr> Addr;
00045     bool Unicast;
00046     SmartPtr<TDUID> DUID;
00047     int Iface;
00048 
00049     SmartPtr<TClntIfaceMgr> IfaceMgr;
00050     SmartPtr<TClntTransMgr> TransMgr;
00051     SmartPtr<TClntCfgMgr> CfgMgr;
00052     SmartPtr<TClntAddrMgr> AddrMgr;
00053 };
00054 
00055 
00056 #endif /* IA_NA_H_HEADER_INCLUDED_C112064B */
00057 

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