00001 /* 00002 * vinterface.h 00003 * 00004 * Created on: 14.12.2010 00005 * Author: morgenro 00006 */ 00007 00008 #ifndef VINTERFACE_H_ 00009 #define VINTERFACE_H_ 00010 00011 #include "ibrcommon/net/vaddress.h" 00012 00013 #include <list> 00014 #include <string> 00015 00016 namespace ibrcommon 00017 { 00018 class vinterface 00019 { 00020 public: 00021 class interface_not_set : public Exception 00022 { 00023 public: 00024 interface_not_set(string error = "interface is not specified") : Exception(error) 00025 {}; 00026 }; 00027 00028 vinterface(); 00029 vinterface(std::string name); 00030 virtual ~vinterface(); 00031 00032 const std::list<vaddress> getAddresses(const vaddress::Family f = vaddress::VADDRESS_UNSPEC) const; 00033 const std::string toString() const; 00034 bool empty() const; 00035 00036 bool operator<(const vinterface &obj) const; 00037 bool operator==(const vinterface &obj) const; 00038 00039 void eventInterfaceChanged(const vinterface &iface); 00040 00041 private: 00042 std::string _name; 00043 }; 00044 } 00045 00046 #endif /* VINTERFACE_H_ */
1.7.1