Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File 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.4 2005/01/21 19:44:17 mmarsh Exp $
00008 //
00009 // $Log: LocalServer.h,v $
00010 // Revision 1.4  2005/01/21 19:44:17  mmarsh
00011 // Updated for compatibility with Doxygen 1.4.1
00012 //
00013 // Revision 1.3  2004/05/19 15:56:55  mmarsh
00014 // *** empty log message ***
00015 //
00016 // Revision 1.2  2003/11/04 22:31:50  mmarsh
00017 // *** empty log message ***
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 /* __CODEX_QUORUM_LOCALSERVER_H__ */

Generated on Fri May 6 17:39:58 2005 for COrnell Data EXchange (CODEX) by  doxygen 1.4.1