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_DAYTIME_H 00019 #define LIBPLUMBING_ENDPOINT_DAYTIME_H 00020 00021 #include <libplumbing/endpoint.h> 00022 00023 namespace plumbing { 00024 00029 class endpoint_daytime: 00030 public endpoint 00031 { 00032 public: 00036 virtual ~endpoint_daytime(); 00037 00038 private: 00047 endpoint_daytime(int fd); 00048 00049 public: 00060 static pointer create(int fd); 00061 00062 protected: 00063 // See base class for documentation. 00064 int get_write_file_descriptor(); 00065 00066 // See base class for documentation. 00067 void process_read(); 00068 00069 // See base class for documentation. 00070 void process_write(); 00071 00072 private: 00077 char data[100]; 00078 00083 size_t data_position; 00084 00090 size_t data_size; 00091 00095 endpoint_daytime(); 00096 00103 endpoint_daytime(const endpoint_daytime &rhs); 00104 00111 endpoint_daytime &operator=(const endpoint_daytime &rhs); 00112 }; 00113 00114 } 00115 00116 #endif // LIBPLUMBING_ENDPOINT_DAYTIME_H 00117 // vim: set ts=8 sw=4 et