X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Fio%2Fbase.cpp;h=bf4c82018dc60d9a6d4ddd18be350468f9a4c0a0;hp=48de3ee56ca8e3fc304f5d4caca2fcf8a57b8a9a;hb=82d74297d5b469b0a506d7010a84ab5115cd88ee;hpb=6e0fd758970bcb5bad5e3f2454b694cc4d7b4b66 diff --git a/source/io/base.cpp b/source/io/base.cpp index 48de3ee..bf4c820 100644 --- a/source/io/base.cpp +++ b/source/io/base.cpp @@ -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,13 @@ int Base::get() return static_cast(c); } -void Base::set_events(PollEvent e) +void Base::set_eof() { - events = e; - signal_events_changed.emit(events); -} - -void Base::event(PollEvent ev) -{ - if(ev&P_INPUT) - signal_data_available.emit(); - - on_event(ev); + if(!eof_flag) + { + eof_flag = true; + signal_end_of_file.emit(); + } } } // namespace IO