00001 /*************************************************************************** 00002 ** 00003 ** This file is part of waranrouted. 00004 ** 00005 ** This file may be distributed and/or modified under the terms of the 00006 ** GNU General Public License version 2 or 3 as published by the Free 00007 ** Software Foundation and appearing in the file LICENSE.GPL included 00008 ** in the packaging of this file. 00009 ** 00010 ** This file is distributed in the hope that it will be useful, but WITHOUT 00011 ** ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00012 ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 00013 ** more details. 00014 ** 00015 ** You should have received a copy of the GNU General Public License 00016 ** along with this program. If not, see <http://www.gnu.org/licenses/>. 00017 ** 00018 ** See http://www.geopsy.org for more information. 00019 ** 00020 ** Created : 2009-08-27 00021 ** Authors: 00022 ** Marc Wathelet 00023 ** Marc Wathelet (LGIT, Grenoble, France) 00024 ** 00025 ***************************************************************************/ 00026 00027 #ifndef ROUTINGTASK_H 00028 #define ROUTINGTASK_H 00029 00030 #include <GpCoreTools.h> 00031 00032 class RoutingTask 00033 { 00034 public: 00035 RoutingTask(); 00036 RoutingTask(const RoutingTask& o); 00037 00038 bool operator<(const RoutingTask& o); 00039 00040 enum Action {None=0, Del, Add}; 00041 00042 const Address& peer() const {return _peer;} 00043 void setPeer(const Address p) {_peer=p;} 00044 00045 const Address& destination() const {return _destination;} 00046 void setDestination(const Address& d) {_destination=d;} 00047 00048 const Address& gateway() const {return _gateway;} 00049 void setGateway(const Address& g) {_gateway=g;} 00050 00051 Action action() const {return _action;} 00052 void setAction(Action a) {_action=a;} 00053 00054 bool isSameGateway(const RoutingTask& o) const; 00055 void toLog(int level) const; 00056 private: 00057 Address _peer; 00058 Address _destination; 00059 Address _gateway; 00060 Action _action; 00061 }; 00062 00063 #endif // ROUTINGTASK_H