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

IfaceMgr.h

Go to the documentation of this file.
00001 class TIfaceMgr;
00002 #ifndef IFACEMGR_H
00003 #define IFACEMGR_H
00004 
00005 #include "SmartPtr.h"
00006 #include "Container.h"
00007 
00008 #include "Iface.h"
00009 
00010 /*
00011  * InterfaceManager - provides access to all network interfaces present in the system
00012  * @date 2003-10-26
00013  * @author Tomasz Mrugalski <admin@klub.com.pl>
00014  * @licence GNU GPL v2 or later
00015  */
00016 
00017 class TIfaceMgr {
00018   public:
00019     friend ostream & operator <<(ostream & strum, TIfaceMgr &x);
00020 
00021     TIfaceMgr(string xmlFile, bool getIfaces);
00022 
00023     // ---Iface related---
00024     void firstIface();
00025     SmartPtr<TIfaceIface> getIface();
00026     SmartPtr<TIfaceIface> getIfaceByName(string name);
00027     SmartPtr<TIfaceIface> getIfaceByID(int id);
00028     SmartPtr<TIfaceIface> getIfaceBySocket(int fd);
00029     int countIface();
00030 
00031     // ---other---
00032     int select(unsigned long time, char *buf, int &bufsize, SmartPtr<TIPv6Addr> peer);
00033     string printMac(char * mac, int macLen);
00034     void dump();
00035     bool isDone();
00036 
00037     ~TIfaceMgr();
00038 
00039  protected:
00040     string XmlFile;
00041 
00042     TContainer< SmartPtr<TIfaceIface> > IfaceLst; //Interface list
00043 
00044     bool IsDone; 
00045 };
00046 
00047 #endif
00048 

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