]> git.tdb.fi Git - libs/net.git/commitdiff
Update handle types
authorMikko Rasa <tdb@tdb.fi>
Thu, 4 Aug 2011 22:46:00 +0000 (01:46 +0300)
committerMikko Rasa <tdb@tdb.fi>
Thu, 4 Aug 2011 22:46:00 +0000 (01:46 +0300)
Derive Socket from EventObject

source/socket.cpp
source/socket.h
source/types.h

index a4675f593b6bc95ed9e0d4ad40f442e5bcf78ee1..7ff77417c88672b3b703430d65b2035b2d047e91 100644 (file)
@@ -4,6 +4,7 @@
 #include <sys/socket.h>
 #endif
 #include <iostream>
+#include <msp/io/handle_private.h>
 #include <msp/strings/format.h>
 #include <msp/time/rawtime_private.h>
 #include <msp/time/units.h>
@@ -50,6 +51,8 @@ Socket::Socket(SocketHandle h, const SockAddr &paddr):
 
 #ifdef WIN32
        event = CreateEvent(0, false, false, 0);
+#else
+       *event = handle;
 #endif
 }
 
@@ -62,6 +65,8 @@ Socket::Socket(Family af, int type, int proto):
 
 #ifdef WIN32
        event = CreateEvent(0, false, false, 0);
+#else
+       *event = handle;
 #endif
 }
 
@@ -85,13 +90,9 @@ void Socket::set_block(bool b)
 #endif
 }
 
-IO::Handle Socket::get_event_handle()
+const IO::Handle &Socket::get_event_handle()
 {
-#ifdef WIN32
        return event;
-#else
-       return handle;
-#endif
 }
 
 
index a2cbae1a285ded03a645b377b3e2a85188213664..5536146544c3de098993d1af06295caeecd075be 100644 (file)
@@ -1,7 +1,8 @@
 #ifndef MSP_NET_SOCKET_H_
 #define MSP_NET_SOCKET_H_
 
-#include <msp/io/base.h>
+#include <msp/io/eventobject.h>
+#include <msp/io/handle.h>
 #include "constants.h"
 #include "sockaddr.h"
 #include "types.h"
 namespace Msp {
 namespace Net {
 
-class Socket: public IO::Base
+class Socket: public IO::EventObject
 {
 protected:
        SocketHandle handle;
-#ifdef WIN32
        IO::Handle event;
-#endif
        bool connected;
        SockAddr *local_addr;
        SockAddr *peer_addr;
@@ -26,7 +25,7 @@ public:
        ~Socket();
 
        void set_block(bool);
-       IO::Handle get_event_handle();
+       const IO::Handle &get_event_handle();
 
        bool is_connected() const { return connected; }
        
index 3989fa93aa290802bde8e196a6a062565be42bf9..3af68ab8b57e62ff9a26fbf63c029cc26a1fd0f5 100644 (file)
@@ -10,9 +10,9 @@ typedef int socklen_t;
 
 #define MSP_NET_INVALID_SOCKET_HANDLE static_cast<SOCKET>(-1)
 #else
-typedef IO::Handle SocketHandle;
+typedef int SocketHandle;
 
-#define MSP_NET_INVALID_SOCKET_HANDLE MSP_IO_INVALID_HANDLE
+#define MSP_NET_INVALID_SOCKET_HANDLE -1
 #endif
 
 } // namespace Net