Quassel IRC
Pre-Release
|
#include </tmp/quassel/src/common/eventmanager.h>
Classes | |
struct | Handler |
Public Slots | |
void | registerObject (QObject *object, Priority priority=NormalPriority, const QString &methodPrefix="process", const QString &filterPrefix="filter") |
void | registerEventHandler (EventType event, QObject *object, const char *slot, Priority priority=NormalPriority, bool isFilter=false) |
void | registerEventHandler (QList< EventType > events, QObject *object, const char *slot, Priority priority=NormalPriority, bool isFilter=false) |
void | registerEventFilter (EventType event, QObject *object, const char *slot) |
void | registerEventFilter (QList< EventType > events, QObject *object, const char *slot) |
void | postEvent (Event *event) |
Send an event to the registered handlers. |
Protected Member Functions | |
virtual Network * | networkById (NetworkId id) const =0 |
virtual void | customEvent (QEvent *event) |
Private Types | |
enum | Priority { VeryLowPriority, LowPriority, NormalPriority, HighPriority, HighestPriority } |
enum | EventFlag { Self = 0x01, Fake = 0x08, Netsplit = 0x10, Backlog = 0x20, Silent = 0x40, Stopped = 0x80 } |
typedef QHash< uint, QList < Handler > > | HandlerHash |
Private Member Functions | |
Q_FLAGS (EventFlag EventFlags) Q_ENUMS(EventType) public | |
Q_DECLARE_FLAGS (EventFlags, EventFlag) enum EventType | |
EventManager (QObject *parent=0) | |
Event * | createEvent (const QVariantMap &map) |
const HandlerHash & | registeredHandlers () const |
HandlerHash & | registeredHandlers () |
const HandlerHash & | registeredFilters () const |
HandlerHash & | registeredFilters () |
void | insertHandlers (const QList< Handler > &newHandlers, QList< Handler > &existing, bool checkDupes=false) |
Add handlers to an existing sorted (by priority) handler list. | |
void | insertFilters (const QList< Handler > &newFilters, QHash< QObject *, Handler > &existing) |
Add filters to an existing filter hash. | |
int | findEventType (const QString &methodSignature, const QString &methodPrefix) const |
void | processEvent (Event *event) |
void | dispatchEvent (Event *event) |
Static Private Member Functions | |
static EventType | eventTypeByName (const QString &name) |
static EventType | eventGroupByName (const QString &name) |
static QString | enumName (EventType type) |
static QString | enumName (int type) |
static QMetaEnum | eventEnum () |
Private Attributes | |
HandlerHash | _registeredHandlers |
HandlerHash | _registeredFilters |
QList< Event * > | _eventQueue |
Static Private Attributes | |
static QMetaEnum | _enum |
Definition at line 31 of file eventmanager.h.
|
private |
Definition at line 166 of file eventmanager.h.
|
private |
Definition at line 44 of file eventmanager.h.
|
private |
Self |
Self-generated (user input) event. |
Fake |
Ignore this in CoreSessionEventProcessor. |
Netsplit |
Netsplit join/part, ignore on display. |
Backlog | |
Silent |
Don't generate a MessageEvent. |
Stopped |
Definition at line 52 of file eventmanager.h.
|
private |
Definition at line 45 of file eventmanager.cpp.
|
inlineprivate |
Definition at line 34 of file eventmanager.h.
|
inlineprivate |
< Undecoded privmsg (still needs CTCP parsing)
< Undecoded notice (still needs CTCP parsing)
< Unknown non-numeric cmd
< Stringified event suitable for converting to Message
Definition at line 60 of file eventmanager.h.
|
staticprivate |
Definition at line 63 of file eventmanager.cpp.
References eventEnum().
Referenced by eventGroupByName(), and IrcParser::processNetworkIncoming().
|
staticprivate |
Definition at line 70 of file eventmanager.cpp.
References eventTypeByName().
|
staticprivate |
Definition at line 77 of file eventmanager.cpp.
References eventEnum().
Referenced by CoreSessionEventProcessor::checkParamCount(), EventStringifier::checkParamCount(), and Event::fromVariantMap().
|
staticprivate |
Definition at line 83 of file eventmanager.cpp.
References eventEnum().
|
private |
Definition at line 89 of file eventmanager.cpp.
References Event::fromVariantMap(), and networkById().
|
slot |
Definition at line 148 of file eventmanager.cpp.
References findEventType(), registeredFilters(), and registeredHandlers().
Referenced by CoreSession::CoreSession().
|
slot |
Definition at line 185 of file eventmanager.cpp.
Referenced by registerEventFilter().
|
slot |
Definition at line 191 of file eventmanager.cpp.
References registeredFilters(), and registeredHandlers().
|
slot |
Definition at line 173 of file eventmanager.cpp.
References NormalPriority, and registerEventHandler().
|
slot |
Definition at line 179 of file eventmanager.cpp.
References NormalPriority, and registerEventHandler().
|
slot |
Send an event to the registered handlers.
The EventManager takes ownership of the event and will delete it once it's processed.
event | The event to be dispatched |
Definition at line 212 of file eventmanager.cpp.
References _eventQueue, and processEvent().
Implemented in CoreEventManager.
Referenced by createEvent().
|
protectedvirtual |
Definition at line 228 of file eventmanager.cpp.
References QueuedQuasselEvent::event, and processEvent().
|
inlineprivate |
Definition at line 168 of file eventmanager.h.
References _registeredHandlers.
Referenced by dispatchEvent(), registerEventHandler(), and registerObject().
|
inlineprivate |
Definition at line 169 of file eventmanager.h.
References _registeredHandlers.
|
inlineprivate |
Definition at line 171 of file eventmanager.h.
References _registeredFilters.
Referenced by dispatchEvent(), registerEventHandler(), and registerObject().
|
inlineprivate |
Definition at line 172 of file eventmanager.h.
References _registeredFilters.
|
private |
Add handlers to an existing sorted (by priority) handler list.
Definition at line 318 of file eventmanager.cpp.
References EventManager::Handler::object, and EventManager::Handler::priority.
Referenced by dispatchEvent().
|
private |
Add filters to an existing filter hash.
Definition at line 347 of file eventmanager.cpp.
References EventManager::Handler::object.
Referenced by dispatchEvent().
|
private |
Definition at line 112 of file eventmanager.cpp.
References eventEnum().
Referenced by registerObject().
|
private |
Definition at line 238 of file eventmanager.cpp.
References _eventQueue, and dispatchEvent().
Referenced by customEvent(), and postEvent().
|
private |
Definition at line 250 of file eventmanager.cpp.
References insertFilters(), insertHandlers(), EventManager::Handler::methodIndex, IrcEventNumeric::number(), registeredFilters(), and registeredHandlers().
Referenced by processEvent().
|
staticprivate |
Definition at line 51 of file eventmanager.cpp.
References _enum.
Referenced by enumName(), eventTypeByName(), and findEventType().
|
private |
Definition at line 187 of file eventmanager.h.
Referenced by registeredHandlers().
|
private |
Definition at line 188 of file eventmanager.h.
Referenced by registeredFilters().
|
private |
Definition at line 189 of file eventmanager.h.
Referenced by postEvent(), and processEvent().
|
staticprivate |
Definition at line 190 of file eventmanager.h.
Referenced by eventEnum().