Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   Related Pages  

LocalServer.h

00001 /*
00002  * Copyright 2003 Michael A. Marsh, Cornell University. All rights reserved.
00003  * This software is released under the modified BSD license.
00004  * See the file LICENSE in the top-level directory for details.
00005  */
00006 //
00007 // $Id: LocalServer.h,v 1.3 2004/05/19 15:56:55 mmarsh Exp $
00008 //
00009 // $Log: LocalServer.h,v $
00010 // Revision 1.3  2004/05/19 15:56:55  mmarsh
00011 // *** empty log message ***
00012 //
00013 // Revision 1.2  2003/11/04 22:31:50  mmarsh
00014 // *** empty log message ***
00015 //
00016 //
00017 
00018 #ifndef __CODEX_QUORUM_LOCALSERVER_H__
00019 #define __CODEX_QUORUM_LOCALSERVER_H__
00020 
00021 #include "Socket.h"
00022 
00023 namespace CODEX_Quorum
00024 {
00025    class SocketBuilder;
00026    class Message;
00027 
00042    class LocalServer
00043    {
00044       public :
00052          LocalServer( int port, const SocketBuilder& socketBuilder );
00053 
00059          virtual ~LocalServer();
00060 
00068          virtual void enable();
00069 
00076          virtual void disable();
00077 
00079          int port() const;
00080 
00085          virtual int set_fd( fd_set* fd_bitmap, SocketBase::StateType s );
00086 
00091          virtual bool isset_fd( const fd_set* fd_bitmap,
00092                                 SocketBase::StateType s );
00093 
00106          virtual void processRequest( SocketBase::StateType s ) = 0;
00107 
00108       protected :
00112          SocketBase* socket() const;
00113 
00117          const SocketBuilder& builder() const { return m_builder; }
00118 
00123          void setSocket( SocketBase* socket ) { m_socket = socket; }
00124 
00125       private :
00126          int m_port;
00127          SocketBase* m_socket;
00128          const SocketBuilder& m_builder;
00129    };
00130 
00131 }
00132 
00133 #endif /* __CODEX_QUORUM_LOCALSERVER_H__ */

Generated on Wed Jun 2 16:32:55 2004 for COrnell Data EXchange (CODEX) by doxygen1.2.18