X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fsocket.h;h=d48f3503bac63c7463c41bed46e5e93665f678f2;hb=a81c41acd873cda7f40bca634782230d9e57dc4f;hp=f275a7e2b35a0712fd97f78fe6774e226fdce8fe;hpb=f59eded7c3e162bbdfc6db424c9badc730017698;p=libs%2Fnet.git diff --git a/source/socket.h b/source/socket.h index f275a7e..d48f350 100644 --- a/source/socket.h +++ b/source/socket.h @@ -1,10 +1,3 @@ -/* $Id$ - -This file is part of libmspnet -Copyright © 2008 Mikkosoft Productions, Mikko Rasa -Distributed under the LGPL -*/ - #ifndef MSP_NET_SOCKET_H_ #define MSP_NET_SOCKET_H_ @@ -18,30 +11,34 @@ namespace Net { class Socket: public IO::Base { +protected: + SocketHandle handle; +#ifdef WIN32 + IO::Handle event; +#endif + bool connected; + SockAddr *local_addr; + SockAddr *peer_addr; + + Socket(SocketHandle, const SockAddr &); + Socket(Family, int, int); public: + ~Socket(); + void set_block(bool); IO::Handle get_event_handle(); - bool get_connected() const { return connected; } + bool is_connected() const { return connected; } void bind(const SockAddr &); - virtual int connect(const SockAddr &) =0; + virtual int connect(const SockAddr &) = 0; void close(); + void set_timeout(const Time::TimeDelta &); const SockAddr &get_local_address() const; const SockAddr &get_peer_address() const; - ~Socket(); protected: - SocketHandle handle; -#ifdef WIN32 - IO::Handle event; -#endif - bool connected; - SockAddr *local_addr; - SockAddr *peer_addr; - - Socket(SocketHandle, const SockAddr &); - Socket(Family, int, int); void check_state(bool) const; - int get_option(int, int, void *, socklen_t *); + int set_option(int, int, const void *, socklen_t); + int get_option(int, int, void *, socklen_t *) const; unsigned do_write(const char *, unsigned); unsigned do_read(char *, unsigned); };