X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Fio%2Ffile.cpp;h=90326093b8b643751446d83658a4b2583dbf3fbb;hp=0f5652ad9484cf460a2e266f666470c00b67dd02;hb=82d74297d5b469b0a506d7010a84ab5115cd88ee;hpb=a56e05106571f28dc3044296849ccd5127d7d859 diff --git a/source/io/file.cpp b/source/io/file.cpp index 0f5652a..9032609 100644 --- a/source/io/file.cpp +++ b/source/io/file.cpp @@ -86,26 +86,13 @@ File::File(const string &fn, Mode m, CreateMode cm) File::~File() { - close(); -} - -void File::close() -{ - if(!handle) - return; - signal_flush_required.emit(); - sys_close(handle); - - handle = Handle(); signal_closed.emit(); } void File::set_block(bool b) { - check_access(M_NONE); - mode = (mode&~M_NONBLOCK); if(b) mode = (mode|M_NONBLOCK); @@ -139,10 +126,7 @@ unsigned File::do_read(char *buf, unsigned size) unsigned ret = sys_read(handle, buf, size); if(ret==0) - { - eof_flag = true; - signal_end_of_file.emit(); - } + set_eof(); return ret; } @@ -158,8 +142,6 @@ void File::sync() SeekOffset File::seek(SeekOffset off, SeekType type) { - check_access(M_NONE); - signal_flush_required.emit(); off = sys_seek(handle, off, type); eof_flag = false; @@ -169,16 +151,8 @@ SeekOffset File::seek(SeekOffset off, SeekType type) SeekOffset File::tell() const { - check_access(M_NONE); - return sys_seek(const_cast(handle), 0, S_CUR); } -void File::check_access(Mode m) const -{ - if(!handle || (m && !(mode&m))) - throw invalid_access(m); -} - } // namespace IO } // namespace Msp