diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-09-20 14:57:55 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-09-20 14:57:55 +0000 |
| commit | 7d6a79ee270acbd74699f4003e5980a239d05ef2 (patch) | |
| tree | 812dd69d03bbd9ea5867c712aa2c266ad9310597 /src/QXmppEntityTimeManager.cpp | |
| parent | 60303fc488cc090d04b61f0749a4456abb481e6a (diff) | |
| download | qxmpp-7d6a79ee270acbd74699f4003e5980a239d05ef2.tar.gz | |
convert files to native encoding
Diffstat (limited to 'src/QXmppEntityTimeManager.cpp')
| -rw-r--r-- | src/QXmppEntityTimeManager.cpp | 192 |
1 files changed, 96 insertions, 96 deletions
diff --git a/src/QXmppEntityTimeManager.cpp b/src/QXmppEntityTimeManager.cpp index 59a851c8..b301d28d 100644 --- a/src/QXmppEntityTimeManager.cpp +++ b/src/QXmppEntityTimeManager.cpp @@ -1,96 +1,96 @@ -/*
- * Copyright (C) 2008-2010 The QXmpp developers
- *
- * Author:
- * Manjeet Dahiya
- *
- * Source:
- * http://code.google.com/p/qxmpp
- *
- * This file is a part of QXmpp library.
- *
- * 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.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- */
-
-
-#include "QXmppEntityTimeManager.h"
-
-#include <QDomElement>
-#include <QDateTime>
-
-#include "QXmppClient.h"
-#include "QXmppConstants.h"
-#include "QXmppEntityTimeIq.h"
-#include "QXmppUtils.h"
-
-QString QXmppEntityTimeManager::requestTime(const QString& jid)
-{
- QXmppEntityTimeIq request;
- request.setType(QXmppIq::Get);
- request.setFrom(client()->configuration().jid());
- request.setTo(jid);
- if(client()->sendPacket(request))
- return request.id();
- else
- return "";
-}
-
-QStringList QXmppEntityTimeManager::discoveryFeatures() const
-{
- return QStringList() << ns_entity_time;
-}
-
-bool QXmppEntityTimeManager::handleStanza(QXmppStream *stream, const QDomElement &element)
-{
- Q_UNUSED(stream);
-
- if(element.tagName() == "iq" && QXmppEntityTimeIq::isEntityTimeIq(element))
- {
- QXmppEntityTimeIq entityTime;
- entityTime.parse(element);
-
- if(entityTime.type() == QXmppIq::Get)
- {
- // respond to query
- QXmppEntityTimeIq responseIq;
- responseIq.setType(QXmppIq::Result);
- responseIq.setId(entityTime.id());
- responseIq.setTo(entityTime.from());
-
- QDateTime currentTime = QDateTime::currentDateTime();
- QDateTime utc = currentTime.toUTC();
- responseIq.setUtc(datetimeToString(utc));
-
- currentTime.setTimeSpec(Qt::UTC);
- int tzo_sec = utc.secsTo(currentTime);
- QTime tzo_time;
- if(tzo_sec < 0)
- tzo_time = tzo_time.addSecs(-tzo_sec);
- else
- tzo_time = tzo_time.addSecs(tzo_sec);
- QString tzo;
- if(tzo_sec < 0)
- tzo = "-" + tzo_time.toString("hh:mm");
- else
- tzo = "+" + tzo_time.toString("hh:mm");
-
- responseIq.setTzo(tzo);
-
- client()->sendPacket(responseIq);
- }
-
- emit timeReceived(entityTime);
- return true;
- }
-
- return false;
-}
+/* + * Copyright (C) 2008-2010 The QXmpp developers + * + * Author: + * Manjeet Dahiya + * + * Source: + * http://code.google.com/p/qxmpp + * + * This file is a part of QXmpp library. + * + * 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.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + */ + + +#include "QXmppEntityTimeManager.h" + +#include <QDomElement> +#include <QDateTime> + +#include "QXmppClient.h" +#include "QXmppConstants.h" +#include "QXmppEntityTimeIq.h" +#include "QXmppUtils.h" + +QString QXmppEntityTimeManager::requestTime(const QString& jid) +{ + QXmppEntityTimeIq request; + request.setType(QXmppIq::Get); + request.setFrom(client()->configuration().jid()); + request.setTo(jid); + if(client()->sendPacket(request)) + return request.id(); + else + return ""; +} + +QStringList QXmppEntityTimeManager::discoveryFeatures() const +{ + return QStringList() << ns_entity_time; +} + +bool QXmppEntityTimeManager::handleStanza(QXmppStream *stream, const QDomElement &element) +{ + Q_UNUSED(stream); + + if(element.tagName() == "iq" && QXmppEntityTimeIq::isEntityTimeIq(element)) + { + QXmppEntityTimeIq entityTime; + entityTime.parse(element); + + if(entityTime.type() == QXmppIq::Get) + { + // respond to query + QXmppEntityTimeIq responseIq; + responseIq.setType(QXmppIq::Result); + responseIq.setId(entityTime.id()); + responseIq.setTo(entityTime.from()); + + QDateTime currentTime = QDateTime::currentDateTime(); + QDateTime utc = currentTime.toUTC(); + responseIq.setUtc(datetimeToString(utc)); + + currentTime.setTimeSpec(Qt::UTC); + int tzo_sec = utc.secsTo(currentTime); + QTime tzo_time; + if(tzo_sec < 0) + tzo_time = tzo_time.addSecs(-tzo_sec); + else + tzo_time = tzo_time.addSecs(tzo_sec); + QString tzo; + if(tzo_sec < 0) + tzo = "-" + tzo_time.toString("hh:mm"); + else + tzo = "+" + tzo_time.toString("hh:mm"); + + responseIq.setTzo(tzo); + + client()->sendPacket(responseIq); + } + + emit timeReceived(entityTime); + return true; + } + + return false; +} |
