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: ClntCfgAddr.h,v 1.4 2004/12/07 20:51:35 thomson Exp $ 00010 * 00011 * $Log: ClntCfgAddr.h,v $ 00012 * Revision 1.4 2004/12/07 20:51:35 thomson 00013 * Link local safety checks added (bug #39) 00014 * 00015 * Revision 1.3 2004/10/25 20:45:52 thomson 00016 * Option support, parsers rewritten. ClntIfaceMgr now handles options. 00017 * 00018 * 00019 */ 00020 00021 #ifndef CLNTCFGADDR_H 00022 #define CLNTCFGADDR_H 00023 00024 #include "DHCPConst.h" 00025 #include "ClntParsGlobalOpt.h" 00026 #include "SmartPtr.h" 00027 #include "IPv6Addr.h" 00028 #include <iostream> 00029 #include <iomanip> 00030 00031 using namespace std; 00032 00033 class TClntCfgAddr 00034 { 00035 friend std::ostream& operator<<(std::ostream& out,TClntCfgAddr& group); 00036 public: 00037 TClntCfgAddr(); 00038 TClntCfgAddr(SmartPtr<TIPv6Addr> addr); 00039 TClntCfgAddr(SmartPtr<TIPv6Addr> addr,long valid,long pref); 00040 ~TClntCfgAddr(); 00041 00042 SmartPtr<TIPv6Addr> get(); 00043 unsigned long getValid(); 00044 unsigned long getPref(); 00045 void setOptions(SmartPtr<TClntParsGlobalOpt> opt); 00046 private: 00047 SmartPtr<TIPv6Addr> Addr; 00048 unsigned long Valid; 00049 unsigned long Pref; 00050 }; 00051 00052 #endif 00053