diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2011-09-07 13:29:59 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2011-09-07 13:29:59 +0000 |
| commit | 5e41acb842757123f805a7efb5d99e215448835e (patch) | |
| tree | d9109f63f6b7c6cb87b21222e7f97b0fcc454a1f /src/QXmppPresence.cpp | |
| parent | 3c2bc62525e2aadd02d67ad534a3f6416a4dd0ae (diff) | |
| download | qxmpp-5e41acb842757123f805a7efb5d99e215448835e.tar.gz | |
get rid of QXmppPresence::Status::Invisible (issue #111), cleanup parsing / serialisation
Diffstat (limited to 'src/QXmppPresence.cpp')
| -rw-r--r-- | src/QXmppPresence.cpp | 160 |
1 files changed, 40 insertions, 120 deletions
diff --git a/src/QXmppPresence.cpp b/src/QXmppPresence.cpp index 1facd59b..30cbbe17 100644 --- a/src/QXmppPresence.cpp +++ b/src/QXmppPresence.cpp @@ -234,99 +234,51 @@ void QXmppPresence::toXml(QXmlStreamWriter *xmlWriter) const QString QXmppPresence::getTypeStr() const { - QString text; - switch(m_type) - { + switch(m_type) { case QXmppPresence::Error: - text = "error"; - break; + return "error"; case QXmppPresence::Available: - // no type-attribute if available - text = ""; - break; + return ""; case QXmppPresence::Unavailable: - text = "unavailable"; - break; + return "unavailable"; case QXmppPresence::Subscribe: - text = "subscribe"; - break; + return "subscribe"; case QXmppPresence::Subscribed: - text = "subscribed"; - break; + return "subscribed"; case QXmppPresence::Unsubscribe: - text = "unsubscribe"; - break; + return "unsubscribe"; case QXmppPresence::Unsubscribed: - text = "unsubscribed"; - break; + return "unsubscribed"; case QXmppPresence::Probe: - text = "probe"; - break; + return "probe"; default: qWarning("QXmppPresence::getTypeStr() invalid type %d", (int)m_type); - break; + return ""; } - return text; } void QXmppPresence::setTypeFromStr(const QString& str) { - QXmppPresence::Type type; if(str == "error") - { - type = QXmppPresence::Error; - setType(type); - return; - } + m_type = QXmppPresence::Error; + else if(str == "") + m_type = QXmppPresence::Available; else if(str == "unavailable") - { - type = QXmppPresence::Unavailable; - setType(type); - return; - } + m_type = QXmppPresence::Unavailable; else if(str == "subscribe") - { - type = QXmppPresence::Subscribe; - setType(type); - return; - } + m_type = QXmppPresence::Subscribe; else if(str == "subscribed") - { - type = QXmppPresence::Subscribed; - setType(type); - return; - } + m_type = QXmppPresence::Subscribed; else if(str == "unsubscribe") - { - type = QXmppPresence::Unsubscribe; - setType(type); - return; - } + m_type = QXmppPresence::Unsubscribe; else if(str == "unsubscribed") - { - type = QXmppPresence::Unsubscribed; - setType(type); - return; - } + m_type = QXmppPresence::Unsubscribed; else if(str == "probe") - { - type = QXmppPresence::Probe; - setType(type); - return; - } - else if(str == "") - { - type = QXmppPresence::Available; - setType(type); - return; - } - else - { - type = static_cast<QXmppPresence::Type>(-1); + m_type = QXmppPresence::Probe; + else { qWarning("QXmppPresence::setTypeFromStr() invalid input string type: %s", qPrintable(str)); - setType(type); - return; + m_type = QXmppPresence::Error; } } @@ -355,78 +307,46 @@ void QXmppPresence::Status::setType(QXmppPresence::Status::Type type) void QXmppPresence::Status::setTypeFromStr(const QString& str) { - // there is no keyword for Offline - - QXmppPresence::Status::Type type; - if(str == "") // not type-attribute means online - { - type = QXmppPresence::Status::Online; - setType(type); - return; - } + // FIXME: there is no keyword for Offline + if(str == "") + m_type = QXmppPresence::Status::Online; else if(str == "away") - { - type = QXmppPresence::Status::Away; - setType(type); - return; - } - else if(str == "xa") - { - type = QXmppPresence::Status::XA; - setType(type); - return; - } - else if(str == "dnd") - { - type = QXmppPresence::Status::DND; - setType(type); - return; - } + m_type = QXmppPresence::Status::Away; else if(str == "chat") - { - type = QXmppPresence::Status::Chat; - setType(type); - return; - } - else - { - type = static_cast<QXmppPresence::Status::Type>(-1); + m_type = QXmppPresence::Status::Chat; + else if(str == "dnd") + m_type = QXmppPresence::Status::DND; + else if(str == "xa") + m_type = QXmppPresence::Status::XA; + else { qWarning("QXmppPresence::Status::setTypeFromStr() invalid input string type %s", qPrintable(str)); - setType(type); + m_type = QXmppPresence::Status::Online; } } QString QXmppPresence::Status::getTypeStr() const { - QString text; switch(m_type) { case QXmppPresence::Status::Online: - // no type-attribute if available - text = ""; - break; + return ""; case QXmppPresence::Status::Offline: - text = ""; - break; + // FIXME: there is no keyword for Offline + return ""; case QXmppPresence::Status::Away: - text = "away"; - break; + return "away"; case QXmppPresence::Status::XA: - text = "xa"; - break; + return "xa"; case QXmppPresence::Status::DND: - text = "dnd"; - break; + return "dnd"; case QXmppPresence::Status::Chat: - text = "chat"; - break; + return "chat"; default: qWarning("QXmppPresence::Status::getTypeStr() invalid type %d", (int)m_type); - break; + return ""; } - return text; } /// Returns the status text, a textual description of the user's status. |
