diff options
Diffstat (limited to 'project2/json')
| -rw-r--r-- | project2/json/presenter-p.cpp | 8 | ||||
| -rw-r--r-- | project2/json/presenter.cpp | 10 | ||||
| -rw-r--r-- | project2/json/presenter.h | 6 |
3 files changed, 12 insertions, 12 deletions
diff --git a/project2/json/presenter-p.cpp b/project2/json/presenter-p.cpp index 3cb5bf8..92ba8c1 100644 --- a/project2/json/presenter-p.cpp +++ b/project2/json/presenter-p.cpp @@ -3,16 +3,16 @@ class Json_P_Presenter : public JsonPresenter { public: - Json_P_Presenter(ScriptNodePtr s, ObjectSource os) : + Json_P_Presenter(ScriptNodePtr s, ObjectSource os, ExecContext *) : JsonPresenter(s, os, "application/json-p"), Callback(s, "callback") { } - void writeTo(std::ostream & o, const std::string & encoding) const + void writeTo(std::ostream & o, const std::string & encoding, ExecContext * ec) const { - o << Callback().as<Glib::ustring>(); + o << Callback(ec).as<Glib::ustring>(); o << "("; - JsonPresenter::writeTo(o, encoding); + JsonPresenter::writeTo(o, encoding, ec); o << ");"; } diff --git a/project2/json/presenter.cpp b/project2/json/presenter.cpp index 111ae5c..2eabeac 100644 --- a/project2/json/presenter.cpp +++ b/project2/json/presenter.cpp @@ -15,7 +15,7 @@ JsonPresenter::JsonPresenter(ScriptNodePtr s, ObjectSource os, const Glib::ustri returnObject(s, "object", Null()) { } -JsonPresenter::JsonPresenter(ScriptNodePtr s, ObjectSource os) : +JsonPresenter::JsonPresenter(ScriptNodePtr s, ObjectSource os, ExecContext *) : TransformSource(s, os), MultiRowSetPresenter(os), ContentPresenter("application/json"), @@ -25,7 +25,7 @@ JsonPresenter::JsonPresenter(ScriptNodePtr s, ObjectSource os) : } void -JsonPresenter::init() +JsonPresenter::init(ExecContext *) { while (!curRowSet.empty()) { curRowSet.pop(); @@ -131,13 +131,13 @@ JsonPresenter::getContentClass() const } void -JsonPresenter::writeTo(std::ostream & o, const std::string & encoding) const +JsonPresenter::writeTo(std::ostream & o, const std::string & encoding, ExecContext * ec) const { - if (returnObject().isNull()) { + if (returnObject(ec).isNull()) { serializeObject(object, o, encoding); } else { - serializeValue(*object[returnObject()], o, encoding); + serializeValue(*object[returnObject(ec)], o, encoding); } } diff --git a/project2/json/presenter.h b/project2/json/presenter.h index 8d5af2a..5ccecb2 100644 --- a/project2/json/presenter.h +++ b/project2/json/presenter.h @@ -9,9 +9,9 @@ class JsonPresenter : public MultiRowSetPresenter, public ContentPresenter, public SourceOf<json::Object>, public WritableContent, public SourceOf<WritableContent> { public: - JsonPresenter(ScriptNodePtr s, ObjectSource); + JsonPresenter(ScriptNodePtr s, ObjectSource, ExecContext *); JsonPresenter(ScriptNodePtr s, ObjectSource, const Glib::ustring &); - void init(); + void init(ExecContext * ec); typedef void (JsonPresenter::*ValueAdder)(const Glib::ustring &, const VariableType &) const; typedef std::stack<ValueAdder> ValueAdderStack; mutable ValueAdderStack vaStack; @@ -29,7 +29,7 @@ class JsonPresenter : public MultiRowSetPresenter, public ContentPresenter, publ operator const WritableContent * () const; Glib::ustring getContentType() const; Class getContentClass() const; - void writeTo(std::ostream & o, const std::string & encoding) const; + void writeTo(std::ostream & o, const std::string & encoding, ExecContext *) const; private: Variable returnObject; |
