| // 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_; | |
| }; |