messagefilter.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef MESSAGEFILTER_H__
00015 #define MESSAGEFILTER_H__
00016
00017 #include "messagesession.h"
00018
00019 namespace gloox
00020 {
00021
00022 class Message;
00023
00037 class GLOOX_API MessageFilter
00038 {
00039
00040 public:
00045 MessageFilter( MessageSession* parent );
00046
00050 virtual ~MessageFilter();
00051
00059 virtual void attachTo( MessageSession* session );
00060
00066 virtual void decorate( Message& msg ) = 0;
00067
00073 virtual void filter( Message& msg ) = 0;
00074
00075 protected:
00076 void send( Message& msg ) { if( m_parent ) m_parent->send( msg ); }
00077
00078 MessageSession* m_parent;
00079
00080 };
00081
00082 }
00083
00084 #endif // MESSAGEFILTER_H__