00001 // 00002 // plumbing - C++ wrapper facades for Berkeley sockets 00003 // Copyright (C) 2009 Peter Miller 00004 // 00005 // This program is free software; you can redistribute it and/or modify it 00006 // under the terms of the GNU General Public License, version 3, as published 00007 // by the Free Software Foundation. 00008 // 00009 // This program is distributed in the hope that it will be useful, but WITHOUT 00010 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00011 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 00012 // more details. 00013 // 00014 // You should have received a copy of the GNU General Public License along 00015 // with this program. If not, see <http://www.gnu.org/licenses/>. 00016 // 00017 00018 #ifndef LIBPLUMBING_ENDPOINT_CLIENT_STDOUT_H 00019 #define LIBPLUMBING_ENDPOINT_CLIENT_STDOUT_H 00020 00021 #include <libplumbing/endpoint/client.h> 00022 00023 namespace plumbing { 00024 00030 class endpoint_client_stdout: 00031 public endpoint_client 00032 { 00033 public: 00037 virtual ~endpoint_client_stdout(); 00038 00039 private: 00050 endpoint_client_stdout(const std::string &hostname, int port); 00051 00052 public: 00063 static pointer create(const std::string &hostname, int port); 00064 00065 private: 00076 endpoint_client_stdout(const std::string &hostname, 00077 const std::string &port); 00078 00079 public: 00091 static pointer create(const std::string &hostname, const std::string &port); 00092 00093 protected: 00094 // See base class for documentation. 00095 void data_received(const void *data, size_t nbytes); 00096 00097 private: 00101 endpoint_client_stdout(); 00102 00106 endpoint_client_stdout(const endpoint_client_stdout &); 00107 00111 endpoint_client_stdout &operator=(const endpoint_client_stdout &); 00112 }; 00113 00114 } 00115 00116 #endif // LIBPLUMBING_ENDPOINT_CLIENT_STDOUT_H 00117 // vim: set ts=8 sw=4 et