syndication/atom
link.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include "link.h"
00024 #include "constants.h"
00025
00026 #include <QtCore/QString>
00027
00028 namespace Syndication {
00029 namespace Atom {
00030
00031 Link::Link() : ElementWrapper()
00032 {
00033 }
00034
00035 Link::Link(const QDomElement& element) : ElementWrapper(element)
00036 {
00037 }
00038
00039 QString Link::href() const
00040 {
00041 return completeURI(attribute(QString::fromUtf8("href")));
00042 }
00043
00044 QString Link::rel() const
00045 {
00046
00047 return attribute(QString::fromUtf8("rel"), QString::fromUtf8("alternate"));
00048 }
00049
00050 QString Link::type() const
00051 {
00052 return attribute(QString::fromUtf8("type"));
00053 }
00054
00055 QString Link::hrefLanguage() const
00056 {
00057 return attribute(QString::fromUtf8("hreflang"));
00058 }
00059
00060 QString Link::title() const
00061 {
00062 return attribute(QString::fromUtf8("title"));
00063 }
00064
00065 uint Link::length() const
00066 {
00067 QString lengthStr = attribute(QString::fromUtf8("length"));
00068
00069 bool ok;
00070 uint c = lengthStr.toUInt(&ok);
00071 return ok ? c : 0;
00072 }
00073
00074 QString Link::debugInfo() const
00075 {
00076 QString info;
00077 info += "### Link: ###################\n";
00078 if (!title().isEmpty())
00079 info += "title: #" + title() + "#\n";
00080 if (!href().isEmpty())
00081 info += "href: #" + href() + "#\n";
00082 if (!rel().isEmpty())
00083 info += "rel: #" + rel() + "#\n";
00084 if (!type().isEmpty())
00085 info += "type: #" + type() + "#\n";
00086 if (length() != 0)
00087 info += "length: #" + QString::number(length()) + "#\n";
00088 if (!hrefLanguage().isEmpty())
00089 info += "hrefLanguage: #" + hrefLanguage() + "#\n";
00090 info += "### Link end ################\n";
00091 return info;
00092 }
00093
00094 }
00095 }