// Copyright 2006 The Android Open Source Project | |
#include <stdio.h> | |
#include <inttypes.h> | |
class Decoder { | |
public: | |
Decoder(); | |
~Decoder(); | |
void Open(char *filename); | |
void Close(); | |
int64_t Decode(bool is_signed); | |
void Read(char *dest, int len); | |
bool IsEOF() { return (end_ == next_) && feof(fstream_); } | |
private: | |
static const int kBufSize = 4096; | |
static const int kDecodingSpace = 9; | |
void FillBuffer(); | |
char *filename_; | |
FILE *fstream_; | |
uint8_t buf_[kBufSize]; | |
uint8_t *next_; | |
uint8_t *end_; | |
}; |