]> git.tdb.fi Git - libs/core.git/blobdiff - source/io/pipe.h
Implement get_handle in File and Pipe
[libs/core.git] / source / io / pipe.h
index eb77e6ab830d0d50cfa5bbedc16a29b7bbfbe4d2..d1508b2097d743b244c03f89d4230cf59cad8608 100644 (file)
@@ -2,6 +2,7 @@
 #define MSP_IO_PIPE_H_
 
 #include "eventobject.h"
+#include "eventreader.h"
 #include "handle.h"
 
 namespace Msp {
@@ -10,17 +11,14 @@ namespace IO {
 class Pipe: public EventObject
 {
 private:
-       struct Private;
-
-       Handle handle[2];
-       Private *priv;
+       Handle read_handle;
+       Handle write_handle;
+       EventReader reader;
 
 public:
        Pipe();
        ~Pipe();
 
-       void close();
-
        void set_block(bool);
 
 protected:
@@ -28,7 +26,8 @@ protected:
        virtual unsigned do_read(char *, unsigned);
 
 public:
-       virtual const Handle &get_event_handle();
+       virtual const Handle &get_handle(Mode);
+       virtual const Handle &get_event_handle() { return reader.get_event(); }
 };
 
 } // namespace IO