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