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_LISTENER_DAYTIME_H 00019 #define LIBPLUMBING_ENDPOINT_LISTENER_DAYTIME_H 00020 00021 #include <libplumbing/endpoint/listener.h> 00022 00023 namespace plumbing { 00024 00030 class endpoint_listener_daytime: 00031 public endpoint_listener 00032 { 00033 public: 00037 virtual ~endpoint_listener_daytime(); 00038 00039 private: 00053 endpoint_listener_daytime(reactor &svc, const std::string &port_number, 00054 int repeat_count = -1); 00055 00056 public: 00070 static pointer create(reactor &svc, const std::string &port_number = "", 00071 int repeat_count = -1); 00072 00073 protected: 00074 // See base class for documentation. 00075 int get_default_port() const; 00076 00077 // See base class for documentation. 00078 endpoint::pointer endpoint_factory(int fd, void *adr, int adrlen); 00079 00080 private: 00084 endpoint_listener_daytime(); 00085 00092 endpoint_listener_daytime(const endpoint_listener_daytime &rhs); 00093 00100 endpoint_listener_daytime &operator=(const endpoint_listener_daytime &rhs); 00101 }; 00102 00103 } 00104 00105 #endif // LIBPLUMBING_ENDPOINT_LISTENER_DAYTIME_H 00106 // vim: set ts=8 sw=4 et