00001 // 00002 // (C) 2005 Vojtech Janota 00003 // (C) 2003 Xuan Thang Nguyen 00004 // 00005 // This library is free software, you can redistribute it 00006 // and/or modify 00007 // it under the terms of the GNU Lesser General Public License 00008 // as published by the Free Software Foundation; 00009 // either version 2 of the License, or any later version. 00010 // The library is distributed in the hope that it will be useful, 00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00013 // See the GNU Lesser General Public License for more details. 00014 // 00015 00016 #ifndef __INET_RSVPRESVMSG_H 00017 #define __INET_RSVPRESVMSG_H 00018 00019 #include "RSVPResvMsg_m.h" 00020 00021 00028 class RSVPResvMsg : public RSVPResvMsg_Base 00029 { 00030 public: 00031 RSVPResvMsg(const char *name=NULL, int kind=RESV_MESSAGE) : RSVPResvMsg_Base(name,kind) {} 00032 RSVPResvMsg(const RSVPResvMsg& other) : RSVPResvMsg_Base(other.getName()) {operator=(other);} 00033 RSVPResvMsg& operator=(const RSVPResvMsg& other) {RSVPResvMsg_Base::operator=(other); return *this;} 00034 virtual RSVPResvMsg *dup() const {return new RSVPResvMsg(*this);} 00035 00036 inline IPAddress getNHOP() {return getHop().Next_Hop_Address;} 00037 inline IPAddress getLIH() {return getHop().Logical_Interface_Handle;} 00038 }; 00039 00040 00047 class RSVPResvTear : public RSVPResvTear_Base 00048 { 00049 public: 00050 RSVPResvTear(const char *name=NULL, int kind=RTEAR_MESSAGE) : RSVPResvTear_Base(name,kind) {} 00051 RSVPResvTear(const RSVPResvTear& other) : RSVPResvTear_Base(other.getName()) {operator=(other);} 00052 RSVPResvTear& operator=(const RSVPResvTear& other) {RSVPResvTear_Base::operator=(other); return *this;} 00053 virtual RSVPResvTear *dup() const {return new RSVPResvTear(*this);} 00054 00055 inline IPAddress getNHOP() {return getHop().Next_Hop_Address;} 00056 inline IPAddress getLIH() {return getHop().Logical_Interface_Handle;} 00057 }; 00058 00059 00066 class RSVPResvError : public RSVPResvError_Base 00067 { 00068 public: 00069 RSVPResvError(const char *name=NULL, int kind=RERROR_MESSAGE) : RSVPResvError_Base(name,kind) {} 00070 RSVPResvError(const RSVPResvError& other) : RSVPResvError_Base(other.getName()) {operator=(other);} 00071 RSVPResvError& operator=(const RSVPResvError& other) {RSVPResvError_Base::operator=(other); return *this;} 00072 virtual RSVPResvError *dup() const {return new RSVPResvError(*this);} 00073 00074 inline IPAddress getNHOP() {return getHop().Next_Hop_Address;} 00075 inline IPAddress getLIH() {return getHop().Logical_Interface_Handle;} 00076 }; 00077 00078 #endif 00079 00080 00081