00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __CODEX_QUORUM_LOCALSERVER_H__
00022 #define __CODEX_QUORUM_LOCALSERVER_H__
00023
00024 #include "Socket.h"
00025
00026 namespace CODEX_Quorum
00027 {
00028 class SocketBuilder;
00029 class Message;
00030
00045 class LocalServer
00046 {
00047 public :
00055 LocalServer( int port, const SocketBuilder& socketBuilder );
00056
00062 virtual ~LocalServer();
00063
00071 virtual void enable();
00072
00079 virtual void disable();
00080
00082 int port() const;
00083
00088 virtual int set_fd( fd_set* fd_bitmap, SocketBase::StateType s );
00089
00094 virtual bool isset_fd( const fd_set* fd_bitmap,
00095 SocketBase::StateType s );
00096
00109 virtual void processRequest( SocketBase::StateType s ) = 0;
00110
00111 protected :
00115 SocketBase* socket() const;
00116
00120 const SocketBuilder& builder() const { return m_builder; }
00121
00126 void setSocket( SocketBase* socket ) { m_socket = socket; }
00127
00128 private :
00129 int m_port;
00130 SocketBase* m_socket;
00131 const SocketBuilder& m_builder;
00132 };
00133
00134 }
00135
00136 #endif