File: FileInputStream.h

package info (click to toggle)
openh264 2.6.0%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 11,120 kB
  • sloc: cpp: 74,004; asm: 34,842; ansic: 23,866; sh: 2,540; python: 937; objc: 612; cs: 471; makefile: 354; java: 319; xml: 204; javascript: 17
file content (24 lines) | stat: -rw-r--r-- 537 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#ifndef __FILEINPUTSTREAM_H__
#define __FILEINPUTSTREAM_H__

#include <fstream>
#include "InputStream.h"

class FileInputStream : public InputStream {
 public:
  bool Open (const char* fileName) {
    file_.open (fileName, std::ios_base::in | std::ios_base::binary);
    return file_.is_open();
  }
  int read (void* ptr, size_t len) {
    if (!file_.good()) {
      return -1;
    }
    file_.read (static_cast<char*> (ptr), len);
    return (int) file_.gcount();
  }
 private:
  std::ifstream file_;
};

#endif //__FILEINPUTSTREAM_H__