| // Copyright (c) 2012 The WebM project authors. All Rights Reserved. |
| // |
| // Use of this source code is governed by a BSD-style license |
| // that can be found in the LICENSE file in the root of the source |
| // tree. An additional intellectual property rights grant can be found |
| // in the file PATENTS. All contributing project authors may |
| // be found in the AUTHORS file in the root of the source tree. |
| |
| #ifndef WEBVTT_VTTREADER_H_ |
| #define WEBVTT_VTTREADER_H_ |
| |
| #include <cstdio> |
| #include "./webvttparser.h" |
| |
| namespace libwebvtt { |
| |
| class VttReader : public libwebvtt::Reader { |
| public: |
| VttReader(); |
| virtual ~VttReader(); |
| |
| // Open the file identified by |filename| in read-only mode, as a |
| // binary stream of bytes. Returns 0 on success, negative if error. |
| int Open(const char* filename); |
| |
| // Closes the file stream. Note that the stream is automatically |
| // closed when the VttReader object is destroyed. |
| void Close(); |
| |
| // Reads the next character in the file stream, as per the semantics |
| // of Reader::GetChar. Returns negative if error, 0 on success, and |
| // positive if end-of-stream has been reached. |
| virtual int GetChar(char* c); |
| |
| private: |
| FILE* file_; |
| |
| VttReader(const VttReader&); |
| VttReader& operator=(const VttReader&); |
| }; |
| |
| } // namespace libwebvtt |
| |
| #endif // WEBVTT_VTTREADER_H_ |