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: ClntMsgRebind.h,v 1.3 2005/01/08 16:52:03 thomson Exp $ 00010 * 00011 * $Log: ClntMsgRebind.h,v $ 00012 * Revision 1.3 2005/01/08 16:52:03 thomson 00013 * Relay support implemented. 00014 * 00015 * Revision 1.2 2004/06/20 17:51:48 thomson 00016 * getName() method implemented, comment cleanup 00017 * 00018 * 00019 */ 00020 00021 class TClntMsgRebind; 00022 #ifndef CLNTMSGREBIND_H 00023 #define CLNTMSGREBIND_H 00024 00025 #include "ClntMsg.h" 00026 #include "ClntOptIA_NA.h" 00027 #include "ClntOptServerIdentifier.h" 00028 #include "ClntOptClientIdentifier.h" 00029 #include "ClntOptServerUnicast.h" 00030 00031 class TClntMsgRebind : public TClntMsg 00032 { 00033 public: 00034 TClntMsgRebind(SmartPtr<TClntIfaceMgr> IfaceMgr, 00035 SmartPtr<TClntTransMgr> TransMgr, 00036 SmartPtr<TClntCfgMgr> CfgMgr, 00037 SmartPtr<TClntAddrMgr> AddrMgr, 00038 TContainer<SmartPtr<TOpt> > ptrOpts, int iface); 00039 00040 void answer(SmartPtr<TClntMsg> Rep); 00041 void doDuties(); 00042 bool check(); 00043 string getName(); 00044 ~TClntMsgRebind(); 00045 private: 00046 void updateIA(SmartPtr <TClntOptIA_NA> ptrOptIA, 00047 SmartPtr<TClntOptServerIdentifier> optSrvDUID, 00048 SmartPtr<TClntOptServerUnicast> optUnicast); 00049 void releaseIA(int IAID); 00050 00051 00052 }; 00053 00054 #endif /* REBIND_H_HEADER_INCLUDED_C1126D16 */ 00055