X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Fio%2Fbase.h;h=394a2c2306e60ebbe9f8bb7ddee0e1d4f37b4403;hp=9447c66fc9a6551dcdcb5644c9333b882de7dcec;hb=a386a9ff068071aab19e6dcb0452e72784d84267;hpb=df5ab3d867c51d72344e443e3adb05bfa29a2b53 diff --git a/source/io/base.h b/source/io/base.h index 9447c66..394a2c2 100644 --- a/source/io/base.h +++ b/source/io/base.h @@ -2,6 +2,7 @@ #define MSP_IO_BASE_H_ #include +#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 signal_flush_required; - /** Emitted when the I/O object has closed. */ - sigc::signal signal_closed; - /** Emitted when the object is deleted. Mainly for use by EventDispatcher. */ sigc::signal signal_deleted; @@ -85,8 +83,18 @@ public: to end-of-file or non-blocking operation. */ virtual int get(); - /** Returns the end-of-file flag. */ +protected: + void set_eof(); + +public: + /** Returns the end-of-file flag. Note that some types of objects won't + indicate end-of-file until you try to read at least one byte past the actual + end, while others indicate it when you've read the last byte. */ 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