1
#ifndef INCLUDED_FILEIO_STREAM_H
2
#define INCLUDED_FILEIO_STREAM_H
6
#include "eca-fileio.h"
10
* File-I/O and buffering routines using normal file streams.
12
class ECA_FILE_IO_STREAM : public ECA_FILE_IO {
16
ECA_FILE_IO_STREAM (void) { }
17
virtual ~ECA_FILE_IO_STREAM(void);
20
// Open/close routines
22
virtual void open_file(const std::string& fname, const std::string& fmode);
23
virtual void open_stdin(void);
24
virtual void open_stdout(void);
25
virtual void open_stderr(void);
26
virtual void close_file(void);
29
// Normal file operations
31
virtual void read_to_buffer(void* obuf, off_t bytes);
32
virtual void write_from_buffer(void* obuf, off_t bytes);
34
virtual void set_file_position(off_t newpos);
35
virtual void set_file_position_advance(off_t fw);
36
virtual void set_file_position_end(void);
37
virtual off_t get_file_position(void) const;
38
virtual off_t get_file_length(void) const;
43
virtual bool is_file_ready(void) const;
44
virtual bool is_file_error(void) const;
45
virtual off_t file_bytes_processed(void) const;
46
virtual const std::string& file_mode(void) const { return(mode_rep); }
55
std::string fname_rep;