Base::Base():
mode(M_READ),
- events(P_NONE),
eof_flag(false)
{ }
signal_deleted.emit();
}
+void Base::check_access(Mode m) const
+{
+ if(!(mode&m))
+ throw invalid_access(m);
+}
+
bool Base::getline(string &line)
{
line.clear();
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