gloox 1.0.24
messagefilter.h
1/*
2 Copyright (c) 2005-2019 by Jakob Schröter <js@camaya.net>
3 This file is part of the gloox library. http://camaya.net/gloox
4
5 This software is distributed under a license. The full license
6 agreement can be found in the file LICENSE in this distribution.
7 This software may not be copied, modified, sold or distributed
8 other than expressed in the named license agreement.
9
10 This software is distributed without any warranty.
11*/
12
13
14#ifndef MESSAGEFILTER_H__
15#define MESSAGEFILTER_H__
16
17#include "messagesession.h"
18
19namespace gloox
20{
21
22 class Message;
23
37 class GLOOX_API MessageFilter
38 {
39
40 public:
46
50 virtual ~MessageFilter();
51
59 virtual void attachTo( MessageSession* session );
60
66 virtual void decorate( Message& msg ) = 0;
67
73 virtual void filter( Message& msg ) = 0;
74
75 protected:
76 void send( Message& msg ) { if( m_parent ) m_parent->send( msg ); }
77
78 MessageSession* m_parent;
79
80 };
81
82}
83
84#endif // MESSAGEFILTER_H__
Virtual base class for message filters.
Definition: messagefilter.h:38
virtual void decorate(Message &msg)=0
virtual void filter(Message &msg)=0
An abstraction of a message session between any two entities.
An abstraction of a message stanza.
Definition: message.h:34
The namespace for the gloox library.
Definition: adhoc.cpp:28