2
* conferencebookmark.cpp
3
* Copyright (C) 2006 Remko Troncon
5
* This program is free software; you can redistribute it and/or
6
* modify it under the terms of the GNU General Public License
7
* as published by the Free Software Foundation; either version 2
8
* of the License, or (at your option) any later version.
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
15
* You should have received a copy of the GNU General Public License
16
* along with this library; if not, write to the Free Software
17
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21
#include <QDomDocument>
22
#include <QDomElement>
24
#include "conferencebookmark.h"
25
#include "xmpp_xmlcommon.h"
27
ConferenceBookmark::ConferenceBookmark(const QString& name, const XMPP::Jid& jid, bool auto_join, const QString& nick, const QString& password) : name_(name), jid_(jid), auto_join_(auto_join), nick_(nick), password_(password)
31
ConferenceBookmark::ConferenceBookmark(const QDomElement& el) : auto_join_(false)
36
const QString& ConferenceBookmark::name() const
41
const XMPP::Jid& ConferenceBookmark::jid() const
46
bool ConferenceBookmark::autoJoin() const
51
const QString& ConferenceBookmark::nick() const
56
const QString& ConferenceBookmark::password() const
61
bool ConferenceBookmark::isNull() const
63
return name_.isEmpty() && jid_.isEmpty();
66
void ConferenceBookmark::fromXml(const QDomElement& e)
68
jid_ = e.attribute("jid");
69
name_ = e.attribute("name");
70
if (e.attribute("autojoin") == "true" || e.attribute("autojoin") == "1")
73
for (QDomNode n = e.firstChild(); !n.isNull(); n = n.nextSibling()) {
74
QDomElement i = n.toElement();
77
else if (i.tagName() == "nick") {
80
else if (i.tagName() == "password") {
86
QDomElement ConferenceBookmark::toXml(QDomDocument& doc) const
88
QDomElement e = doc.createElement("conference");
89
e.setAttribute("jid",jid_.full());
90
e.setAttribute("name",name_);
92
e.setAttribute("autojoin","true");
94
e.appendChild(textTag(&doc,"nick",nick_));
95
if (!password_.isEmpty())
96
e.appendChild(textTag(&doc,"password",password_));