]> git.tdb.fi Git - libs/core.git/blobdiff - source/io/base.h
Add functions to support console redirection
[libs/core.git] / source / io / base.h
index 9447c66fc9a6551dcdcb5644c9333b882de7dcec..3d862169177f1711c6a9d3820e4fb3f97a6b94ca 100644 (file)
@@ -2,6 +2,7 @@
 #define MSP_IO_BASE_H_
 
 #include <sigc++/sigc++.h>
+#include "handle.h"
 #include "mode.h"
 #include "poll.h"
 
@@ -24,9 +25,6 @@ public:
        seeked) and any data buffered by upper layers needs to be flushed. */
        sigc::signal<void> signal_flush_required;
 
-       /** Emitted when the I/O object has closed. */
-       sigc::signal<void> signal_closed;
-
        /** Emitted when the object is deleted.  Mainly for use by
        EventDispatcher. */
        sigc::signal<void> signal_deleted;
@@ -85,8 +83,16 @@ public:
        to end-of-file or non-blocking operation. */
        virtual int get();
 
+protected:
+       void set_eof();
+
+public:
        /** Returns the end-of-file flag. */
        bool eof() const { return eof_flag; }
+
+       /** Returns the system-level handle for the object.  Used by Console to
+       perform redirections. */
+       virtual const Handle &get_handle(Mode);
 };
 
 } // namespace IO