~ubuntu-branches/ubuntu/hardy/ecasound2.2/hardy

« back to all changes in this revision

Viewing changes to libecasound/eca-fileio-stream.h

  • Committer: Bazaar Package Importer
  • Author(s): Junichi Uekawa
  • Date: 2005-04-14 09:15:48 UTC
  • Revision ID: james.westby@ubuntu.com-20050414091548-o7kgb47z0tcunh0s
Tags: upstream-2.4.1
ImportĀ upstreamĀ versionĀ 2.4.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef INCLUDED_FILEIO_STREAM_H
 
2
#define INCLUDED_FILEIO_STREAM_H
 
3
 
 
4
#include <string>
 
5
#include <cstdio>
 
6
#include "eca-fileio.h"
 
7
 
 
8
 
 
9
/**
 
10
 * File-I/O and buffering routines using normal file streams.
 
11
 */
 
12
class ECA_FILE_IO_STREAM : public ECA_FILE_IO {
 
13
 
 
14
 public:
 
15
 
 
16
  ECA_FILE_IO_STREAM (void) { }
 
17
  virtual ~ECA_FILE_IO_STREAM(void);
 
18
 
 
19
  // --
 
20
  // Open/close routines
 
21
  // ---
 
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);
 
27
 
 
28
  // --
 
29
  // Normal file operations
 
30
  // ---
 
31
  virtual void read_to_buffer(void* obuf, off_t bytes);
 
32
  virtual void write_from_buffer(void* obuf, off_t bytes);
 
33
 
 
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;
 
39
 
 
40
  // --
 
41
  // Status
 
42
  // ---
 
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); }
 
47
 
 
48
 private:
 
49
 
 
50
  FILE *f1;
 
51
  off_t curpos_rep;
 
52
  off_t last_rep;
 
53
 
 
54
  std::string mode_rep;
 
55
  std::string fname_rep;
 
56
  bool standard_mode;
 
57
};
 
58
 
 
59
#endif