00001 /***************************************************************************** 00002 * Author: Valient Gough <vgough@pobox.com> 00003 * 00004 ***************************************************************************** 00005 * Copyright (c) 2001, Valient Gough 00006 * 00007 * This library is free software; you can distribute it and/or modify it under 00008 * the terms of the GNU Lesser General Public License (LGPL), as published by 00009 * the Free Software Foundation; either version 2.1 of the License, or (at your 00010 * option) any later version. 00011 * 00012 * This library is distributed in the hope that it will be useful, but WITHOUT 00013 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00014 * FITNESS FOR A PARTICULAR PURPOSE. See the LGPL in the file COPYING for more 00015 * details. 00016 * 00017 */ 00018 00019 #ifndef _ServerConnector_incl_ 00020 #define _ServerConnector_incl_ 00021 00022 00023 #include <rel-base/IODevice.h> 00024 00025 namespace rel 00026 { 00027 00028 class ServerConnector 00029 { 00030 public: 00031 virtual ~ServerConnector() {} 00032 00033 /* 00034 Accept a connection. This should block until either there is a 00035 connection to accept, or the server has been shutdown. 00036 00037 The result should be the stream used to communicate with the client. 00038 */ 00039 virtual SmartPtr<IODevice> accept() =0; 00040 }; 00041 00042 } // namespace rel 00043 00044 #endif 00045