KDECore
kidna.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "kidna.h"
00023
00024 #ifndef Q_WS_WIN //TODO kresolver not ported
00025 #include "k3resolver.h"
00026 #endif
00027
00028 #ifndef Q_WS_WIN //TODO knetwork not ported
00029 using namespace KNetwork;
00030 #endif
00031
00032 QByteArray KIDNA::toAsciiCString(const QString &idna)
00033 {
00034 #ifndef Q_WS_WIN //TODO kresolver not ported
00035 return KResolver::domainToAscii(idna);
00036 #else
00037 return QByteArray();
00038 #endif
00039 }
00040
00041 QString KIDNA::toAscii(const QString &idna)
00042 {
00043 if (idna.length() && (idna[0] == QLatin1Char('.')))
00044 {
00045 QString host = QLatin1String(toAsciiCString(idna.mid(1)));
00046 if (host.isEmpty())
00047 return QString();
00048 return idna[0] + host;
00049 }
00050 return QLatin1String(toAsciiCString(idna));
00051 }
00052
00053 QString KIDNA::toUnicode(const QString &idna)
00054 {
00055 #ifndef Q_WS_WIN //TODO kresolver not ported
00056 if (idna.length() && (idna[0] == QLatin1Char('.')))
00057 return idna[0] + KResolver::domainToUnicode(idna.mid(1));
00058 return KResolver::domainToUnicode(idna);
00059 #else
00060 return QString();
00061 #endif
00062 }