X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=textmodel.h;h=92d387a61b5596595b4dd985c9f1c36692671755;hb=d7f2452e20b04d1559b7bdd3aa49b6fbf7d0abaf;hp=9cab44db5d1c115f280980522af8ede7b98394f2;hpb=bfa2551119497089b987c2bce3e2f512f9e2130f;p=odcread.git diff --git a/textmodel.h b/textmodel.h index 9cab44d..92d387a 100644 --- a/textmodel.h +++ b/textmodel.h @@ -25,7 +25,8 @@ namespace odc { const size_t d_len; TextPiece(size_t len); virtual void read(Reader &reader) = 0; - virtual std::string toString() = 0; + virtual std::string toString() const = 0; + virtual void accept(Visitor &visitor) const = 0; }; class LongPiece : public TextPiece { @@ -35,7 +36,9 @@ namespace odc { LongPiece(size_t len); ~LongPiece(); virtual void read(Reader &reader); - virtual std::string toString(); + virtual std::string toString() const; + virtual std::string getText() const; + virtual void accept(Visitor &visitor) const; }; class ShortPiece : public TextPiece { @@ -45,7 +48,9 @@ namespace odc { ShortPiece(size_t len); ~ShortPiece(); virtual void read(Reader &reader); - virtual std::string toString(); + virtual std::string toString() const; + virtual std::string getText() const; + virtual void accept(Visitor &visitor) const; }; class ViewPiece : public TextPiece { @@ -53,7 +58,8 @@ namespace odc { public: ViewPiece(Store *view); virtual void read(Reader &reader); - virtual std::string toString(); + virtual std::string toString() const; + virtual void accept(Visitor &visitor) const; }; class StdTextModel : public TextModel { @@ -70,6 +76,7 @@ namespace odc { virtual void internalize(Reader &reader); virtual std::string toString(); + virtual void accept(Visitor &visitor) const; }; } // namespace odc