X-Git-Url: https://deadsoftware.ru/gitweb?p=odcread.git;a=blobdiff_plain;f=textmodel.h;h=bc1480873fbb389c0ad386654f330ed462afd8d4;hp=93fa5b7aeba80aabbbddad13534b784484322f11;hb=1a188eff533fe10218eaec174755abe1f19dfdde;hpb=f029b8c2eb3221fff98ee1e9ce0fbf8ef9f8d5d2 diff --git a/textmodel.h b/textmodel.h index 93fa5b7..bc14808 100644 --- a/textmodel.h +++ b/textmodel.h @@ -25,30 +25,36 @@ namespace odc { const size_t d_len; TextPiece(size_t len); virtual void read(Reader &reader) = 0; + virtual std::string toString() = 0; }; class LongPiece : public TextPiece { public: LongPiece(size_t len); virtual void read(Reader &reader); + virtual std::string toString(); }; class ShortPiece : public TextPiece { public: ShortPiece(size_t len); virtual void read(Reader &reader); + virtual std::string toString(); }; class ViewPiece : public TextPiece { + Store *d_view; public: - ViewPiece(); + ViewPiece(Store *view); virtual void read(Reader &reader); + virtual std::string toString(); }; class StdTextModel : public TextModel { private: static const std::string TYPENAME; static const TypeProxy PROXY; + std::vector d_pieces; public: StdTextModel(INTEGER id); @@ -56,6 +62,8 @@ namespace odc { static const std::string *getSuper(); virtual const std::string &getTypeName() const; virtual void internalize(Reader &reader); + + virtual std::string toString(); }; } // namespace odc