summaryrefslogtreecommitdiffstats
path: root/mpeglib/lib/util/file/fileAccess.h
blob: d9bf9e2ec94aa0fbbc278e6d177325955c71ac24 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/*
  simple file access interface.
  Copyright (C) 2001  Martin Vogt

  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU Library General Public License as published by
  the Free Software Foundation.

  For more information look at the file COPYRIGHT in this package

 */

#ifndef __FILEACCESS_H
#define __FILEACCESS_H


#include "stdio.h"

/**
   Extension to the normal "read" function.
   This interface is useful for the AudioInfo.
*/

class FileAccess {

  FILE* file;
  long length;

 public:
  FileAccess();
  virtual ~FileAccess();

  virtual int open(const char* file);
  virtual void close();
  virtual int read(char* dest,int len);
  virtual int eof();
  virtual int seek(long pos);
  virtual long getBytePosition();
  virtual long getByteLength();

 private:
  long calcByteLength();

};
#endif