X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fevent.cpp;h=dbd46ccb2b189411a11e37e577c889b0c5991f1b;hp=19b56a7d487ecc21a94a5bb20aa2f8055788816b;hb=694f9bfbf7f1af19108461c7e00d133e55082bce;hpb=61c8d84d1c849373e0f115dc748ed45cff95287d diff --git a/src/common/event.cpp b/src/common/event.cpp index 19b56a7d..dbd46ccb 100644 --- a/src/common/event.cpp +++ b/src/common/event.cpp @@ -24,100 +24,102 @@ #include "messageevent.h" Event::Event(EventManager::EventType type) - : _type(type) - , _valid(true) + : _type(type) + , _valid(true) { - } Event::Event(EventManager::EventType type, QVariantMap &map) - : _type(type) - , _valid(true) + : _type(type) + , _valid(true) { - if(!map.contains("flags") || !map.contains("timestamp")) { - qWarning() << "Received invalid serialized event:" << map; - setValid(false); - return; - } - - setFlags(static_cast(map.take("flags").toInt())); // TODO sanity check? - setTimestamp(QDateTime::fromTime_t(map.take("timestamp").toUInt())); + if (!map.contains("flags") || !map.contains("timestamp")) { + qWarning() << "Received invalid serialized event:" << map; + setValid(false); + return; + } + + setFlags(static_cast(map.take("flags").toInt())); // TODO sanity check? + setTimestamp(QDateTime::fromTime_t(map.take("timestamp").toUInt())); } -void Event::toVariantMap(QVariantMap &map) const { - map["type"] = static_cast(type()); - map["flags"] = static_cast(flags()); - map["timestamp"] = timestamp().toTime_t(); +void Event::toVariantMap(QVariantMap &map) const +{ + map["type"] = static_cast(type()); + map["flags"] = static_cast(flags()); + map["timestamp"] = timestamp().toTime_t(); } -QVariantMap Event::toVariantMap() const { - QVariantMap map; - toVariantMap(map); - return map; +QVariantMap Event::toVariantMap() const +{ + QVariantMap map; + toVariantMap(map); + return map; } -Event *Event::fromVariantMap(QVariantMap &map, Network *network) { - int inttype = map.take("type").toInt(); - // sanity check if we have a valid enum value - if(EventManager::enumName(inttype).isEmpty()) { - qWarning() << "Received a serialized event with unknown type" << inttype; - return 0; - } - - EventManager::EventType type = static_cast(inttype); - if(type == EventManager::Invalid || type == EventManager::GenericEvent) - return 0; - - EventManager::EventType group = static_cast(type & EventManager::EventGroupMask); - - Event *e = 0; - - // we use static create() functions to keep group-specific special cases in the files they belong - // e.g. IrcEventRawMessage - switch(group) { - case EventManager::NetworkEvent: - e = NetworkEvent::create(type, map, network); - break; - case EventManager::IrcServerEvent: - // not in use! - break; - case EventManager::IrcEvent: - e = IrcEvent::create(type, map, network); - break; - case EventManager::MessageEvent: - e = MessageEvent::create(type, map, network); - break; - case EventManager::CtcpEvent: - e = CtcpEvent::create(type, map, network); - break; - default: - break; - } - - if(!e) { - qWarning() << "Can't create event of type" << type; - return 0; - } - - if(!map.isEmpty()) { - qWarning() << "Event creation from map did not consume all data:" << map; - } - - return e; +Event *Event::fromVariantMap(QVariantMap &map, Network *network) +{ + int inttype = map.take("type").toInt(); + // sanity check if we have a valid enum value + if (EventManager::enumName(inttype).isEmpty()) { + qWarning() << "Received a serialized event with unknown type" << inttype; + return 0; + } + + EventManager::EventType type = static_cast(inttype); + if (type == EventManager::Invalid || type == EventManager::GenericEvent) + return 0; + + EventManager::EventType group = static_cast(type & EventManager::EventGroupMask); + + Event *e = 0; + + // we use static create() functions to keep group-specific special cases in the files they belong + // e.g. IrcEventRawMessage + switch (group) { + case EventManager::NetworkEvent: + e = NetworkEvent::create(type, map, network); + break; + case EventManager::IrcServerEvent: + // not in use! + break; + case EventManager::IrcEvent: + e = IrcEvent::create(type, map, network); + break; + case EventManager::MessageEvent: + e = MessageEvent::create(type, map, network); + break; + case EventManager::CtcpEvent: + e = CtcpEvent::create(type, map, network); + break; + default: + break; + } + + if (!e) { + qWarning() << "Can't create event of type" << type; + return 0; + } + + if (!map.isEmpty()) { + qWarning() << "Event creation from map did not consume all data:" << map; + } + + return e; } -QDebug operator<<(QDebug dbg, Event *e) { - dbg.nospace() << qPrintable(e->className()) << "(" - << "type = 0x" << qPrintable(QString::number(e->type(), 16)); - e->debugInfo(dbg); - //<< ", data = " << e->data(); // we don't use data anywhere yet - dbg.nospace() << ", flags = 0x" << qPrintable(QString::number(e->flags(), 16)) - << ")"; - return dbg.space(); +QDebug operator<<(QDebug dbg, Event *e) +{ + dbg.nospace() << qPrintable(e->className()) << "(" + << "type = 0x" << qPrintable(QString::number(e->type(), 16)); + e->debugInfo(dbg); + //<< ", data = " << e->data(); // we don't use data anywhere yet + dbg.nospace() << ", flags = 0x" << qPrintable(QString::number(e->flags(), 16)) + << ")"; + return dbg.space(); } -