Fix end-of-stringstream logic to not miss the last line.
[libsub.git] / src / reader.h
index e5f142f94973472f220f5ca036aeac4e5a0ace83..08474f64d0a42201ba09816a70817603c635b613 100644 (file)
 
 */
 
-#include "subtitle.h"
+#ifndef LIBSUB_READER_H
+#define LIBSUB_READER_H
+
+#include "raw_subtitle.h"
 #include <list>
+#include <map>
+#include <string>
+
+struct subrip_reader_convert_line_test;
 
 namespace sub {
 
+/** @class Reader
+ *  @brief Parent for classes which can read particular subtitle formats.
+ */
 class Reader
 {
 public:
-       std::list<Subtitle> subtitles () const {
+       virtual ~Reader () {}
+
+       std::list<RawSubtitle> subtitles () const {
                return _subs;
        }
 
+       virtual std::map<std::string, std::string> metadata () const {
+               return std::map<std::string, std::string> ();
+       }
+
 protected:
+       friend struct ::subrip_reader_convert_line_test;
+
        void warn (std::string) const;
 
-       std::list<Subtitle> _subs;
+       std::list<RawSubtitle> _subs;
 };
 
 }
+
+#endif