DEADSOFTWARE

Remove Domain class - unused
[odcread.git] / textmodel.h
index 93fa5b7aeba80aabbbddad13534b784484322f11..abfe13d24f6c6ad38b2dae6a333c05d88aa076c8 100644 (file)
@@ -9,14 +9,13 @@ namespace odc {
 
        class TextModel : public ContainerModel {
                private:
-               static const std::string TYPENAME;
-               static const TypeProxy<TextModel> PROXY;
+               static const TypeProxy<TextModel, ContainerModel> PROXY;
 
                public:
-               TextModel(INTEGER id);
-               static const std::string &getType();
-               static const std::string *getSuper();
+               static const std::string TYPENAME;
                virtual const std::string &getTypeName() const;
+
+               TextModel(INTEGER id);
                virtual void internalize(Reader &reader);
        };
 
@@ -25,37 +24,57 @@ namespace odc {
                const size_t d_len;
                TextPiece(size_t len);
                virtual void read(Reader &reader) = 0;
+               virtual std::string toString() const = 0;
+               virtual void accept(Visitor &visitor) const = 0;
        };
 
        class LongPiece : public TextPiece {
+               private:
+               CHAR *d_buf;
                public:
                LongPiece(size_t len);
+               ~LongPiece();
                virtual void read(Reader &reader);
+               virtual std::string toString() const;
+               virtual std::wstring getText() const;
+               virtual void accept(Visitor &visitor) const;
        };
 
        class ShortPiece : public TextPiece {
+               private:
+               SHORTCHAR *d_buf;
                public:
                ShortPiece(size_t len);
+               ~ShortPiece();
                virtual void read(Reader &reader);
+               virtual std::string toString() const;
+               virtual std::string getText() const;
+               virtual void accept(Visitor &visitor) const;
        };
 
        class ViewPiece : public TextPiece {
+               Store *d_view;
                public:
-               ViewPiece();
+               ViewPiece(Store *view);
                virtual void read(Reader &reader);
+               virtual std::string toString() const;
+               virtual void accept(Visitor &visitor) const;
        };
 
        class StdTextModel : public TextModel {
                private:
-               static const std::string TYPENAME;
-               static const TypeProxy<StdTextModel> PROXY;
+               static const TypeProxy<StdTextModel, TextModel> PROXY;
+               std::vector<TextPiece *> d_pieces;
 
                public:
-               StdTextModel(INTEGER id);
-               static const std::string &getType();
-               static const std::string *getSuper();
+               static const std::string TYPENAME;
                virtual const std::string &getTypeName() const;
+
+               StdTextModel(INTEGER id);
                virtual void internalize(Reader &reader);
+
+               virtual std::string toString();
+               virtual void accept(Visitor &visitor) const;
        };
 
 } // namespace odc