messagefilter.h
/*
Copyright (c) 2005-2023 by Jakob Schröter <js@camaya.net>
This file is part of the gloox library. http://camaya.net/gloox
This software is distributed under a license. The full license
agreement can be found in the file LICENSE in this distribution.
This software may not be copied, modified, sold or distributed
other than expressed in the named license agreement.
This software is distributed without any warranty.
*/
#ifndef MESSAGEFILTER_H__
#define MESSAGEFILTER_H__
#include "messagesession.h"
namespace gloox
{
class Message;
class GLOOX_API MessageFilter
{
public:
MessageFilter( MessageSession* parent );
virtual ~MessageFilter();
virtual void attachTo( MessageSession* session );
virtual void decorate( Message& msg ) = 0;
virtual void filter( Message& msg ) = 0;
protected:
void send( Message& msg ) { if( m_parent ) m_parent->send( msg ); }
MessageSession* m_parent;
};
}
#endif // MESSAGEFILTER_H__
gloox::MessageFilter::attachTo
virtual void attachTo(MessageSession *session)
Definition messagefilter.cpp:31
gloox::MessageFilter::decorate
virtual void decorate(Message &msg)=0
gloox::MessageFilter::filter
virtual void filter(Message &msg)=0
gloox::MessageFilter::MessageFilter
MessageFilter(MessageSession *parent)
Definition messagefilter.cpp:20
gloox::MessageSession
An abstraction of a message session between any two entities.
Definition messagesession.h:146
gloox::Message
An abstraction of a message stanza.
Definition message.h:34
gloox
The namespace for the gloox library.
Definition adhoc.cpp:28