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

SocketBuilder.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: SocketBuilder.h,v 1.3 2004/05/19 15:56:56 mmarsh Exp $
00008 //
00009 // $Log: SocketBuilder.h,v $
00010 // Revision 1.3  2004/05/19 15:56:56  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_SOCKETBUILDER_H__
00019 #define __CODEX_QUORUM_SOCKETBUILDER_H__
00020 
00021 #include <sys/socket.h>
00022 
00023 namespace CODEX_Quorum
00024 {
00025    class SocketBase;
00026 
00035    class SocketBuilder
00036    {
00037       public :
00050          SocketBuilder( int   domain=PF_INET   ,
00051                         int   type=SOCK_STREAM ,
00052                         int   protocol=0       ,
00053                         bool  blocking=false   ) :
00054             m_domain( domain ),
00055             m_type( type ),
00056             m_protocol( protocol ),
00057             m_blocking( blocking )
00058          {}
00059 
00061          virtual ~SocketBuilder() {}
00062 
00071          virtual SocketBase* operator()() const;
00072 
00073       protected :
00074          int   m_domain; 
00075          int   m_type; 
00076          int   m_protocol; 
00077          bool  m_blocking; 
00078    };
00079 
00080 }
00081 
00082 #endif /* __CODEX_QUORUM_SOCKETBUILDER_H__ */

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