00001 00007 #ifndef _MQ_WRITER_HH_ 00008 #define _MQ_WRITER_HH_ 00009 00010 #include "QBaseModule.hh" 00011 #include <string> 00012 #include <list> 00013 00014 using namespace Cuore; 00015 00016 class QWriter : public QBaseModule 00017 { 00018 public: 00020 QWriter(const std::string& name, QSequence* s); 00021 00023 virtual ~QWriter(); 00024 00025 void Begin() { Init(); } 00026 QEvent* Process(QEvent* ev) { return Do(ev); } 00027 void End() { Done(); } 00028 00029 protected: 00030 00031 private: 00033 virtual void Init() = 0; 00034 00038 virtual QEvent* Do( QEvent* ev) = 0; 00039 00041 virtual void Done() = 0; 00042 00043 00044 00045 friend class QSequence; 00046 00047 }; 00048 00049 #undef REGISTER_MODULE 00050 #define REGISTER_MODULE(clazz) REGISTER_MOD(clazz,QWriter) 00051 00052 #endif