00001 /* 00002 ot_lib - Object Type Library 00003 Copyright (C) 2002 Alessandro Bonfanti 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Library General Public 00007 License as published by the Free Software Foundation; either 00008 version 2 of the License, or (at your option) any later version. 00009 00010 This library is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 Library General Public License for more details. 00014 00015 You should have received a copy of the GNU Library General Public 00016 License along with this library; if not, write to the Free 00017 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00018 00019 Alessandro Bonfanti 00020 xjbon@tin.it 00021 */ 00022 00023 class ot_socketServer 00024 { 00025 public: 00026 00027 typedef enum {OT_SOCKET_MODE_WAIT,OT_SOCKET_MODE_FORCE_EXIT} OT_SOCKET_SERVER_MODE; 00028 00029 private: 00030 00031 auto_ptr<serverTCPSocket> m_serverSocket; 00032 ost::InetAddress m_addr; 00033 int m_port; 00034 OT_SOCKET_SERVER_MODE m_mode; 00035 ot_functionManager &m_fm; 00036 00037 //static void writeError(clientTCPSession *s,const ot_messageCodec *codec,OT_SOCKET_ERROR err,const string &errStr); 00038 00039 public: 00040 00041 00042 ot_socketServer(ot_functionManager &fm,ost::InetAddress addr,int port,OT_SOCKET_SERVER_MODE mode=OT_SOCKET_MODE_WAIT); 00043 ~ot_socketServer(void) {} 00044 00045 int getPort(void) const {return(m_port);} 00046 00049 void setMode(OT_SOCKET_SERVER_MODE mode); 00050 00051 //static bool getMessageData(TCPStream *s,stringstream &buffer,const ot_messageCodec * &codec); 00052 00053 //ot_ior getInterfaceIOR(const string &interface) const; 00054 00055 //OT_SOCKET_ERROR addRequest(ot_socketManagerRequestObj *ro); 00056 };