00001 /*************************************************************************** 00002 00003 TcpReporting.hpp - TCP reporter 00004 ------------------- 00005 begin : Fri Aug 4 2006 00006 copyright : (C) 2006 Bas Kemper 00007 email : kst@ <my name> .be 00008 00009 *************************************************************************** 00010 * This library is free software; you can redistribute it and/or * 00011 * modify it under the terms of the GNU Lesser General Public * 00012 * License as published by the Free Software Foundation; either * 00013 * version 2.1 of the License, or (at your option) any later version. * 00014 * * 00015 * This library is distributed in the hope that it will be useful, * 00016 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 00018 * Lesser General Public License for more details. * 00019 * * 00020 * You should have received a copy of the GNU Lesser General Public * 00021 * License along with this library; if not, write to the Free Software * 00022 * Foundation, Inc., 59 Temple Place, * 00023 * Suite 330, Boston, MA 02111-1307 USA * 00024 * * 00025 ***************************************************************************/ 00026 00027 #ifndef ORO_COMP_TCP_REPORTING_HPP 00028 #define ORO_COMP_TCP_REPORTING_HPP 00029 00030 #include "ReportingComponent.hpp" 00031 #include <iostream> 00032 00033 namespace RTT 00034 { 00035 class SocketMarshaller; 00036 } 00037 00038 namespace OCL 00039 { 00040 namespace TCP 00041 { 00042 class TcpReportingInterpreter; 00043 class Socket; 00044 } 00045 00046 00170 class TcpReporting 00171 : public ReportingComponent 00172 { 00173 private: 00179 bool _finishing; 00180 unsigned int port; 00181 RTT::Property<unsigned int> port_prop; 00182 protected: 00186 RTT::SocketMarshaller* fbody; 00187 00188 public: 00195 TcpReporting(std::string fr_name = "ReportingComponent"); 00196 ~TcpReporting(); 00197 00198 bool configureHook(); 00199 bool startHook(); 00200 00201 void stopHook(); 00202 00206 const RTT::PropertyBag* getReport(); 00207 }; 00208 00209 } 00210 00211 #endif