#ifndef PRESENTER_H #define PRESENTER_H #include #include #include #include "view.h" #include "paramChecker.h" #include "commonObjects.h" class Presenter : public virtual CommonObjects, public virtual IntrusivePtrBase { public: Presenter(); virtual ~Presenter() = 0; virtual void pushSub(const Glib::ustring & name) const; virtual void pushSub(const Glib::ustring & name, const Glib::ustring & ns) const = 0; virtual void addAttr(const Glib::ustring & name, const VariableType & value) const; virtual void addAttr(const Glib::ustring & name, const Glib::ustring & ns, const VariableType & value) const; virtual void addField(const Glib::ustring & name, const VariableType & value) const; virtual void addField(const Glib::ustring & name, const Glib::ustring & ns, const VariableType & value) const; virtual void setText(const VariableType & value) const = 0; virtual void popSub() const = 0; void execute() const; protected: typedef Storage::Objects Views; Views views; }; typedef boost::intrusive_ptr PresenterCPtr; typedef boost::intrusive_ptr PresenterPtr; #endif