00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
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