X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fnet%2Fsocket.h;h=1f60f9bb2276942ce31e7eaf69612e4e67641f02;hb=2dfa05663dd67d4d7c68f96df0b1ab733b2063c2;hp=f97588415b1e5df052b1138a1e706f596810fc0b;hpb=debe1004676d5431e571d9c4361072661dcc88c4;p=libs%2Fnet.git diff --git a/source/net/socket.h b/source/net/socket.h index f975884..1f60f9b 100644 --- a/source/net/socket.h +++ b/source/net/socket.h @@ -9,11 +9,6 @@ namespace Msp { namespace Net { -#ifdef WIN32 -typedef int socklen_t; -#endif - - class bad_socket_state: public std::logic_error { public: @@ -25,6 +20,14 @@ public: class Socket: public IO::EventObject { protected: + enum SocketEvent + { + S_NONE = IO::P_NONE, + S_INPUT = IO::P_INPUT, + S_CONNECT = 4096, + S_ACCEPT = 8192 + }; + struct Private; Private *priv; @@ -32,6 +35,9 @@ protected: Socket(const Private &); Socket(Family, int, int); +private: + void platform_init(); + void platform_cleanup(); public: ~Socket(); @@ -46,8 +52,8 @@ public: void set_timeout(const Time::TimeDelta &); protected: - int set_option(int, int, const void *, socklen_t); - int get_option(int, int, void *, socklen_t *) const; + void set_socket_events(unsigned); + void set_platform_events(unsigned); }; } // namespace Net