CMS 3D CMS Logo

Updater.h

Go to the documentation of this file.
00001 #ifndef _Updater_h_
00002 #define _Updater_h_
00003 
00004 #include <pthread.h>
00005 #include <list>
00006 
00007 class DQMOldReceiver;
00008 namespace dqm
00009 {
00010   class UpdateObserver;
00011 
00012   class Updater
00013     {
00014     private:
00015       typedef std::list<dqm::UpdateObserver *> olist;
00016       typedef olist::const_iterator obi;
00017       pthread_t worker;
00018       DQMOldReceiver *mui; 
00019       olist obs_;
00020       bool observed;
00021       bool running;
00022 
00023     public:
00024       
00025       Updater(DQMOldReceiver *the_mui);
00026       
00027       ~Updater()
00028         {
00031           pthread_cancel( worker );
00032         }
00033       
00034       void registerObserver(dqm::UpdateObserver *);
00035 
00036       void request_update();
00037       
00039       static void *start(void *pthis);
00040       
00041       void setRunning()
00042         { 
00043           running = true; 
00044         }
00045 
00046       bool checkRunning() const 
00047         {
00048           return running;
00049         }
00050 
00051       void setStopped()
00052         {
00053           running=false;
00054         }
00055 
00056     };
00057 }
00058 
00059 #endif

Generated on Tue Jun 9 17:34:16 2009 for CMSSW by  doxygen 1.5.4