diff options
Diffstat (limited to 'project2/xmlRawRows.h')
-rw-r--r-- | project2/xmlRawRows.h | 35 |
1 files changed, 24 insertions, 11 deletions
diff --git a/project2/xmlRawRows.h b/project2/xmlRawRows.h index 7a4fd0b..a4e7899 100644 --- a/project2/xmlRawRows.h +++ b/project2/xmlRawRows.h @@ -1,25 +1,38 @@ #include "rowSet.h" -class XmlRawRows : public RowSet { +namespace xmlpp { + class Document; +} + +class XmlRawRowsBase : public RowSet { public: - class XmlRowState : public RowState { - public: - const Columns& getColumns() const; - void foreachAttr(const AttrAction & action) const; - RowState::RowAttribute resolveAttr(const Glib::ustring & n) const; - VariableType getAttr(const Glib::ustring & n) const; + XmlRawRowsBase(const xmlpp::Element * p); + XmlRawRowsBase(); - Columns cols; - const xmlpp::Element * e; - }; + void loadComplete(const CommonObjects*); + + protected: + void execute(const xmlpp::Document *, const RowProcessor * rp) const; +}; +class XmlRawRows : public XmlRawRowsBase { + public: XmlRawRows(const xmlpp::Element * p); XmlRawRows(const Glib::ustring & p); - void loadComplete(const CommonObjects*); void execute(const Glib::ustring&, const RowProcessor * rp) const; private: const Variable path; }; +class XmlMemRawRows : public XmlRawRowsBase { + public: + XmlMemRawRows(boost::shared_ptr<const xmlpp::Document> d); + + void execute(const Glib::ustring&, const RowProcessor * rp) const; + + private: + boost::shared_ptr<const xmlpp::Document> doc; +}; + |