category.cpp

00001 /*
00002  * This file is part of the syndication library
00003  *
00004  * Copyright (C) 2006 Frank Osterfeld <osterfeld@kde.org>
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Library General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2 of the License, or (at your option) any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Library General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Library General Public License
00017  * along with this library; see the file COPYING.LIB.  If not, write to
00018  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00019  * Boston, MA 02110-1301, USA.
00020  *
00021  */
00022 
00023 #include "category.h"
00024 #include "constants.h"
00025 
00026 #include <QtXml/QDomElement>
00027 #include <QtCore/QString>
00028 
00029 namespace Syndication {
00030 namespace Atom {
00031 
00032 Category::Category() : ElementWrapper()
00033 {
00034 }
00035 
00036 Category::Category(const QDomElement& element) : ElementWrapper(element)
00037 {
00038 }
00039 
00040 QString Category::term() const
00041 {
00042     return attribute(QString::fromUtf8("term"));
00043 }
00044 
00045 QString Category::scheme() const
00046 {
00047     // NOTE: The scheme IRI is not completed by purpose.
00048     // According to Atom spec, it must be an absolute IRI.
00049     // If this is a problem with real-world feeds, it might be changed.
00050     return attribute(QString::fromUtf8("scheme"));
00051 }
00052 
00053 QString Category::label() const
00054 {
00055     return attribute(QString::fromUtf8("label"));
00056 }
00057 
00058 QString Category::debugInfo() const
00059 {
00060     QString info;
00061     info += "### Category: ###################\n";
00062     info += "term: #" + term() + "#\n";
00063     if (!scheme().isEmpty())
00064         info += "scheme: #" + scheme() + "#\n";
00065     if (!label().isEmpty())
00066         info += "label: #" + label() + "#\n";
00067     info += "### Category end ################\n";
00068 
00069     return info;
00070 }
00071 
00072 } // namespace Atom
00073 } //namespace Syndication
KDE Home | KDE Accessibility Home | Description of Access Keys