sigx++ 2.0.1
|
00001 #ifndef _SIGX_TUNNEL_BASE_HPP_ 00002 #define _SIGX_TUNNEL_BASE_HPP_ 00003 00004 /* 00005 * Copyright 2006 Klaus Triendl 00006 * 00007 * This library is free software; you can redistribute it and/or 00008 * modify it under the terms of the GNU Library General Public 00009 * License as published by the Free Software Foundation; either 00010 * version 2 of the License, or (at your option) any later version. 00011 * 00012 * This library is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 * Library General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU Library General Public 00018 * License along with this library; if not, write to the Free 00019 * Software Foundation, 51 Franklin Street, Fifth Floor, 00020 * Boston, MA 02110-1301, USA. 00021 */ 00022 00023 #include <sigx/shared_dispatchable.h> 00024 #include <sigx/tunnel_validity_tracker.h> 00025 00026 00027 namespace sigx 00028 { 00029 00039 class SIGX_API tunnel_base 00040 { 00041 public: 00042 tunnel_base(const shared_dispatchable& _A_disp); 00043 00044 // implicit copy ctor is fine 00045 // implicit dtor is fine 00046 // implicit assignment operator is fine 00047 00048 00049 public: 00050 tunnel_validity_tracker& validity_tracker() const 00051 { return m_validity_tracker; } 00052 00053 00054 protected: 00055 shared_dispatchable m_disp; 00056 mutable tunnel_validity_tracker m_validity_tracker; 00057 }; 00058 00059 00060 } // namespace sigx 00061 00062 00063 #endif // _SIGX_TUNNEL_BASE_HPP_