]> git.tdb.fi Git - libs/core.git/blobdiff - source/io/handle.cpp
Move most platform-specific code into overlay directories
[libs/core.git] / source / io / handle.cpp
index 0e9b82aa000c9382fe954b764f36d6614710934e..c20f067e5a6ca18b3d04c1c39b173d9ea7ccfe0b 100644 (file)
@@ -1,6 +1,3 @@
-#include <cerrno>
-#include <unistd.h>
-#include <msp/core/systemerror.h>
 #include "handle.h"
 #include "handle_private.h"
 
 #include "handle.h"
 #include "handle_private.h"
 
@@ -28,79 +25,16 @@ Handle::~Handle()
        delete priv;
 }
 
        delete priv;
 }
 
-Handle::operator const void *() const
-{
-#ifdef WIN32
-       return priv->handle!=INVALID_HANDLE_VALUE ? this : 0;
-#else
-       return priv->handle!=-1 ? this : 0;
-#endif
-}
-
 
 Handle::Private::Private():
 
 Handle::Private::Private():
-#ifdef WIN32
        handle(INVALID_HANDLE_VALUE)
        handle(INVALID_HANDLE_VALUE)
-#else
-       handle(-1)
-#endif
 { }
 
 { }
 
-Handle::Private &Handle::Private::operator=(H h)
+Handle::Private &Handle::Private::operator=(PlatformHandle h)
 {
        handle = h;
        return *this;
 }
 
 {
        handle = h;
        return *this;
 }
 
-
-unsigned sys_read(Handle &handle, char *buf, unsigned size)
-{
-#ifdef WIN32
-       DWORD ret;
-       if(ReadFile(*handle, buf, size, &ret, 0)==0)
-               throw system_error("ReadFile");
-#else
-       int ret = read(*handle, buf, size);
-       if(ret==-1)
-       {
-               if(errno==EAGAIN)
-                       return 0;
-               else
-                       throw system_error("read");
-       }
-#endif
-
-       return ret;
-}
-
-unsigned sys_write(Handle &handle, const char *buf, unsigned size)
-{
-#ifdef WIN32
-       DWORD ret;
-       if(WriteFile(*handle, buf, size, &ret, 0)==0)
-               throw system_error("WriteFile");
-#else
-       int ret = write(*handle, buf, size);
-       if(ret==-1)
-       {
-               if(errno==EAGAIN)
-                       return 0;
-               else
-                       throw system_error("write");
-       }
-#endif
-
-       return ret;
-}
-
-void sys_close(Handle &handle)
-{
-#ifdef WIN32
-       CloseHandle(*handle);
-#else
-       close(*handle);
-#endif
-}
-
 } // namespace IO
 } // namespace Msp
 } // namespace IO
 } // namespace Msp