00001 // Runnable.h: interface for the CRunnable class. 00002 // 00004 00005 #if !defined(AFX_RUNNABLE_H__69B67157_9078_4473_9EF4_79E2423C5F7E__INCLUDED_) 00006 #define AFX_RUNNABLE_H__69B67157_9078_4473_9EF4_79E2423C5F7E__INCLUDED_ 00007 00008 #if _MSC_VER > 1000 00009 #pragma once 00010 #endif // _MSC_VER > 1000 00011 00012 #include "ReactionNetwork.h" 00013 #include "ReactionMover.h" 00014 #include "CellAverageObserver.h" 00015 #include "SubjectObserver.h" 00016 00017 class CRunnable : public Subject 00018 { 00019 public: 00020 CRunnable(); 00021 virtual ~CRunnable(); 00022 void SetComponents(ReactionNetwork *pRxnNetwork, CReactionMover *pRxnMover, CellAverageObserver *pCellObserver); 00023 void Run(); 00024 void SetRunnableName(std::string name); 00025 CellAverageObserver *GetCellObserver() {return m_pCellObserver;} 00026 ReactionNetwork *GetReactionNetwork() {return m_pRxnNetwork;} 00027 CReactionMover *GetReactionMover() {return m_pRxnMover;} 00028 std::string GetRunnableName() const {return m_sRunnableName;} 00029 private: 00030 ReactionNetwork *m_pRxnNetwork; 00031 CReactionMover *m_pRxnMover; 00032 CellAverageObserver *m_pCellObserver; 00033 std::string m_sRunnableName; 00034 }; 00035 00036 #endif // !defined(AFX_RUNNABLE_H__69B67157_9078_4473_9EF4_79E2423C5F7E__INCLUDED_)