diff options
author | David Tardon <dtardon@redhat.com> | 2016-03-26 10:20:33 +0100 |
---|---|---|
committer | David Tardon <dtardon@redhat.com> | 2016-03-26 12:45:47 +0100 |
commit | fba82b08952a5988ab73dcfb13523b47d1993676 (patch) | |
tree | 4cebbfeeca7a2bed4235ef490848a2ebdfc0bb9f | |
parent | 1d601f27be23ceca06ea6412b4059b6bca355e92 (diff) |
detect T602 files
-rw-r--r-- | src/lib/SW602Document.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/lib/SW602Document.cpp b/src/lib/SW602Document.cpp index eee2177..62fd91d 100644 --- a/src/lib/SW602Document.cpp +++ b/src/lib/SW602Document.cpp @@ -52,6 +52,14 @@ DetectionInfo::DetectionInfo() template<class Header> void fillDetectionInfo(const Header &header, DetectionInfo &info); +void fillDetectionInfo(const T602Header &header, DetectionInfo &info) +{ + info.m_kind = SW602Document::KIND_TEXT; + info.m_type = SW602Document::TYPE_T602; + info.m_needsEncoding = header.encoding() == SW602Document::ENCODING_UNSPECIFIED; + info.m_confidence = SW602Document::CONFIDENCE_EXCELLENT; +} + void fillDetectionInfo(const WinText602Header &/*header*/, DetectionInfo &info) { info.m_kind = SW602Document::KIND_TEXT; @@ -111,6 +119,11 @@ SW602Document::Confidence SW602Document::isSupported(librevenge::RVNGInputStream } } } + else + { + if (probe<T602Header>(*input, info)) + return pass(info, kind, type, needsEncoding); + } return CONFIDENCE_NONE; } @@ -151,6 +164,13 @@ SW602Document::Result SW602Document::parse(librevenge::RVNGInputStream *const in switch (type) { + case TYPE_T602: + { + const boost::shared_ptr<RVNGInputStream> input_(input); + T602Parser parser(input_); + parser.parse(document); + return RESULT_OK; + } case TYPE_WINTEXT602: { if (!input->existsSubStream("CONTENTS")) |