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: DHCPClient.h,v 1.3 2004/12/07 00:45:41 thomson Exp $ 00010 * 00011 * $Log: DHCPClient.h,v $ 00012 * Revision 1.3 2004/12/07 00:45:41 thomson 00013 * Clnt managers creation unified and cleaned up. 00014 * 00015 * Revision 1.2 2004/06/20 19:29:23 thomson 00016 * New address assignment finally works. 00017 * 00018 * 00019 */ 00020 00021 #ifndef DHCPCLIENT_H 00022 #define DHCPCLIENT_H 00023 00024 #include <iostream> 00025 #include <string> 00026 #include "SmartPtr.h" 00027 using namespace std; 00028 00029 class TClntIfaceMgr; 00030 class TClntAddrMgr; 00031 class TClntCfgMgr; 00032 class TClntTransMgr; 00033 00034 class TDHCPClient 00035 { 00036 public: 00037 TDHCPClient(string config); 00038 void run(); 00039 void stop(); 00040 bool isDone(); 00041 bool checkPrivileges(); 00042 00043 ~TDHCPClient(); 00044 00045 private: 00046 SmartPtr<TClntIfaceMgr> IfaceMgr; 00047 SmartPtr<TClntAddrMgr> AddrMgr; 00048 SmartPtr<TClntCfgMgr> CfgMgr; 00049 SmartPtr<TClntTransMgr> TransMgr; 00050 bool IsDone; 00051 00052 }; 00053 00054 00055 00056 #endif 00057 00058