35 mInterfaces(src.mInterfaces),
36 mpMaster(src.mpMaster),
37 mObjectRefreshes(src.mObjectRefreshes)
52 std::set< COutputInterface *>::iterator it =
mInterfaces.begin();
53 std::set< COutputInterface *>::iterator end =
mInterfaces.end();
55 std::set< const CCopasiObject * >::const_iterator itObj;
56 std::set< const CCopasiObject * >::const_iterator endObj;
58 for (; it != end; ++it)
60 success &= (*it)->compile(listOfContainer, pDataModel);
65 if (pHandler != NULL) pHandler->
setMaster(
this);
68 const std::set< const CCopasiObject * > & Objects = (*it)->getObjects();
70 for (itObj = Objects.begin(), endObj = Objects.end(); itObj != endObj; ++itObj)
85 std::set< COutputInterface *>::iterator it =
mInterfaces.begin();
86 std::set< COutputInterface *>::iterator end =
mInterfaces.end();
88 for (; it != end; ++it)
89 (*it)->output(activity);
96 std::set< COutputInterface *>::iterator it =
mInterfaces.begin();
97 std::set< COutputInterface *>::iterator end =
mInterfaces.end();
99 for (; it != end; ++it)
100 (*it)->separate(activity);
107 std::set< COutputInterface *>::iterator it =
mInterfaces.begin();
108 std::set< COutputInterface *>::iterator end =
mInterfaces.end();
112 std::vector< COutputInterface * > ToBeRemoved;
116 for (; it != end; ++it)
126 if (dynamic_cast< CReport * >(*it) != NULL ||
127 dynamic_cast< CTimeSeries * >(*it) != NULL)
128 ToBeRemoved.push_back(*it);
131 std::vector< COutputInterface * >::iterator itRemove = ToBeRemoved.begin();
132 std::vector< COutputInterface * >::iterator endRemove = ToBeRemoved.end();
134 for (; itRemove != endRemove; ++itRemove)
147 if (pHandler != NULL) pHandler->
setMaster(
this);
157 if (pHandler != NULL) pHandler->
setMaster(NULL);
171 for (; it != end; ++it)(**it)();
181 std::set< const CCopasiObject * >::const_iterator it =
mObjects.begin();
182 std::set< const CCopasiObject * >::const_iterator end =
mObjects.end();
185 for (; it != end; ++it)
186 if (dynamic_cast< const CCopasiTimer * >(*it))
virtual void separate(const Activity &activity)
std::vector< Refresh * > mObjectRefreshes
virtual void removeInterface(COutputInterface *pInterface)
virtual CCopasiObjectName getCN() const
const std::set< const CCopasiObject * > & getUptoDateObjects() const
COutputHandler * mpMaster
void setMaster(COutputHandler *pMaster)
virtual void addInterface(COutputInterface *pInterface)
virtual ~COutputHandler()
std::set< COutputInterface * > getInterfaces() const
bool compileRefresh(const std::vector< CCopasiContainer * > &listOfContainer, const CCopasiDataModel *pDataModel)
std::set< const CCopasiObject * > mObjects
virtual bool compile(std::vector< CCopasiContainer * > listOfContainer, const CCopasiDataModel *pDataModel)
virtual void output(const Activity &activity)
std::set< COutputInterface * > mInterfaces
static std::vector< Refresh * > buildUpdateSequence(const DataObjectSet &objects, const DataObjectSet &uptoDateObjects, const DataObjectSet &context=DataObjectSet())
CCopasiObject * ObjectFromName(const std::vector< CCopasiContainer * > &listOfContainer, const CCopasiObjectName &CN) const