You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdenetwork/kopete/libkopete/kopetemessageevent.h

130 lines
3.2 KiB

/*
kopetemessageevent.h - Kopete Message Event
Copyright (c) 2003 by Olivier Goffart <ogoffart @ kde.org>
Copyright (c) 2002 by Duncan Mac-Vicar Prett <duncan@kde.org>
Copyright (c) 2002 by Hendrik vom Lehn <hvl@linux-4-ever.de>
Copyright (c) 2004 by Richard Smith <richard@metafoo.co.uk>
Kopete (c) 2002 by the Kopete developers <kopete-devel@kde.org>
*************************************************************************
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Lesser General Public *
* License as published by the Free Software Foundation; either *
* version 2 of the License, or (at your option) any later version. *
* *
*************************************************************************
*/
#ifndef KOPETEMESSAGEEVENT_H
#define KOPETEMESSAGEEVENT_H
#include <qobject.h>
#include "kopetemessage.h"
#include "kopete_export.h"
namespace Kopete
{
/**
* @author Olivier Goffart <ogoffart @ kde.org>
* @author Richard Smith <richard@metafoo.co.uk>
*
* Kopete::MessageEvent is used when a new messages arrives, it is
* caught by the UI. It contains just informations about
* the message, and a signal when it is terminated (i.e.
* the message is read
**/
class KOPETE_EXPORT MessageEvent : public QObject
{
Q_OBJECT
public:
MessageEvent(const Kopete::Message& , QObject* parent=0L, const char *name=0L);
~MessageEvent();
/**
* @return A copy of the message
*/
Kopete::Message message();
/**
* Sets the message contained in this event.
* @param message The new value for the message
*/
void setMessage( const Kopete::Message &message );
/**
* The state of the event.
* - @c Nothing means that the event has not been accepted or ignored
* - @c Applied if the event has been applied
* - @c Ignored if the event has been ignored
*/
enum EventState { Nothing , Applied , Ignored };
EventState state();
public slots:
/**
* @deprecated Use accept() instead to continue the processing of this event once the caller has moved to using MessageHandlers
*
* execute the event
*/
void apply();
/**
* @deprecated Use discard() instead to destroy this event once the caller has moved to using MessageHandlers
*
* ignore the event
*/
void ignore();
/**
* @brief Passes the event to the next handler
*
* Call this when you've finished processing this event
*/
void accept();
/**
* @brief Discards the event
*
* If this event should not be processed any further, this function
* should be called to discard it.
*/
void discard();
signals:
/**
* The event has been processed
*/
void done(Kopete::MessageEvent *);
/**
* The event has been discarded.
* @param event The event sending the signal.
*/
void discarded(Kopete::MessageEvent *event);
/**
* The event has been accepted by its current handler.
* @param event The event sending the signal.
*/
void accepted(Kopete::MessageEvent *event);
private:
class Private;
Private *d;
};
}
#endif
// vim: set noet ts=4 sts=4 sw=4: