• Main Page
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

ibrcommon/ibrcommon/net/vinterface.h

Go to the documentation of this file.
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_ */

Generated on Thu Mar 10 2011 15:44:03 for IBR-DTNSuite by  doxygen 1.7.1