*/
+#ifndef LIBSUB_STL_BINARY_READER_H
+#define LIBSUB_STL_BINARY_READER_H
+
#include "reader.h"
#include "stl_binary_tables.h"
#include <map>
namespace sub {
+class InputReader;
+
+/** @class STLBinaryReader
+ * @brief A class to read binary STL files.
+ */
class STLBinaryReader : public Reader
{
public:
- STLBinaryReader (std::istream &);
- ~STLBinaryReader ();
+ explicit STLBinaryReader (std::istream& in);
+ explicit STLBinaryReader (FILE* in);
std::map<std::string, std::string> metadata () const;
std::string editor_contact_details;
private:
- std::string get_string (int, int) const;
- int get_int (int, int) const;
- FrameTime get_timecode (int) const;
+ void read (boost::shared_ptr<InputReader> reader);
STLBinaryTables _tables;
- unsigned char* _buffer;
};
}
+
+#endif