summaryrefslogtreecommitdiff
path: root/project2/xmlRawRows.h
diff options
context:
space:
mode:
Diffstat (limited to 'project2/xmlRawRows.h')
-rw-r--r--project2/xmlRawRows.h35
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;
+};
+