]> git.tdb.fi Git - libs/core.git/blobdiff - source/io/base.cpp
Add functions to support console redirection
[libs/core.git] / source / io / base.cpp
index 48de3ee56ca8e3fc304f5d4caca2fcf8a57b8a9a..052d464becb6f793cb774c32e38c4fa40e686721 100644 (file)
@@ -8,7 +8,6 @@ namespace IO {
 
 Base::Base():
        mode(M_READ),
-       events(P_NONE),
        eof_flag(false)
 { }
 
@@ -17,6 +16,12 @@ Base::~Base()
        signal_deleted.emit();
 }
 
+void Base::check_access(Mode m) const
+{
+       if(!(mode&m))
+               throw invalid_access(m);
+}
+
 bool Base::getline(string &line)
 {
        line.clear();
@@ -43,18 +48,18 @@ int Base::get()
        return static_cast<unsigned char>(c);
 }
 
-void Base::set_events(PollEvent e)
+void Base::set_eof()
 {
-       events = e;
-       signal_events_changed.emit(events);
+       if(!eof_flag)
+       {
+               eof_flag = true;
+               signal_end_of_file.emit();
+       }
 }
 
-void Base::event(PollEvent ev)
+const Handle &Base::get_handle(Mode)
 {
-       if(ev&P_INPUT)
-               signal_data_available.emit();
-
-       on_event(ev);
+       throw logic_error("Base::get_handle");
 }
 
 } // namespace IO