00001 /* 00002 * StaticRoutingExension.h 00003 * 00004 * Created on: 15.02.2010 00005 * Author: morgenro 00006 */ 00007 00008 #ifndef STATICROUTINGEXTENSION_H_ 00009 #define STATICROUTINGEXTENSION_H_ 00010 00011 #include "routing/BaseRouter.h" 00012 #include <ibrdtn/data/MetaBundle.h> 00013 00014 namespace dtn 00015 { 00016 namespace routing 00017 { 00018 class StaticRoutingExtension : public BaseRouter::Extension 00019 { 00020 public: 00021 class StaticRoute 00022 { 00023 public: 00024 StaticRoute(string route, string dest); 00025 virtual ~StaticRoute(); 00026 00027 bool match(const dtn::data::EID &eid); 00028 string getDestination(); 00029 00030 private: 00031 string m_route; 00032 string m_dest; 00033 string m_route1; 00034 string m_route2; 00035 00036 int m_matchmode; 00037 }; 00038 00039 StaticRoutingExtension(list<StaticRoutingExtension::StaticRoute> routes); 00040 ~StaticRoutingExtension(); 00041 00042 void notify(const dtn::core::Event *evt); 00043 00044 private: 00045 void route(const dtn::data::MetaBundle &meta); 00046 00047 list<StaticRoutingExtension::StaticRoute> _routes; 00048 }; 00049 } 00050 } 00051 00052 #endif /* STATICROUTINGEXTENSION_H_ */
1.7.1