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 Stanza;
00023 class Tag;
00024
00038 class GLOOX_API MessageFilter
00039 {
00040
00041 public:
00046 MessageFilter( MessageSession *parent );
00047
00051 virtual ~MessageFilter();
00052
00060 virtual void attachTo( MessageSession *session );
00061
00067 virtual void decorate( Tag *tag ) = 0;
00068
00074 virtual void filter( Stanza *stanza ) = 0;
00075
00076 protected:
00077 MessageSession *m_parent;
00078
00079 };
00080
00081 }
00082
00083 #endif // MESSAGEFILTER_H__