#ifndef ROWPROCESSOR_H #define ROWPROCESSOR_H #include #include "sourceObject.h" #include "iHaveParameters.h" #include "rowSet.h" #include "cache.h" #include "xmlStorage.h" class Presenter; /// Base class for Project2 components that work with row sets class RowProcessor : public IHaveParameters { public: RowProcessor(const xmlpp::Element *); void loadComplete(const CommonObjects *); const std::string recordSource; const Glib::ustring filter; protected: boost::intrusive_ptr source; void execute() const; private: friend class RowState; void rowReadyInternal(const RowState *) const; virtual void rowReady(const RowState *) const = 0; typedef ANONORDEREDSTORAGEOF(Cache) Caches; Caches caches; typedef std::set TargetCaches; mutable TargetCaches tc; }; #endif