00001 #ifndef ERIS_DEBUG_DISPATCH_H
00002 #define ERIS_DEBUG_DISPATCH_H
00003
00004 #include <Eris/Dispatcher.h>
00005
00006 #include <iostream>
00007 #include <fstream>
00008
00009 namespace Atlas {
00010 namespace Message { class Encoder; }
00011 template <class Stream> class Codec;
00012 }
00013
00014 namespace Eris
00015 {
00016
00017 class DebugDispatcher : public LeafDispatcher
00018 {
00019 public:
00020 DebugDispatcher(const std::string &logFile);
00021 virtual ~DebugDispatcher();
00022
00023 virtual bool dispatch(DispatchContextDeque &dq);
00024
00025 protected:
00026 Atlas::Codec<std::iostream> *_codec;
00027 Atlas::Message::Encoder *_enc;
00028 std::fstream _log;
00029 };
00030
00031 }
00032
00033 #endif