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 "kresolver.h"
00026 #endif
00027 #include <kdebug.h>
00028
00029 #ifndef Q_WS_WIN //TODO knetwork not ported
00030 using namespace KNetwork;
00031 #endif
00032
00033 QCString KIDNA::toAsciiCString(const QString &idna)
00034 {
00035 #ifndef Q_WS_WIN //TODO kresolver not ported
00036 return KResolver::domainToAscii(idna);
00037 #else
00038 return QCString();
00039 #endif
00040 }
00041
00042 QString KIDNA::toAscii(const QString &idna)
00043 {
00044 if (idna.length() && (idna[0] == "."))
00045 {
00046 QString host = QString::fromLatin1(toAsciiCString(idna.mid(1)));
00047 if (host.isEmpty())
00048 return QString::null;
00049 return idna[0] + host;
00050 }
00051 return QString::fromLatin1(toAsciiCString(idna));
00052 }
00053
00054 QString KIDNA::toUnicode(const QString &idna)
00055 {
00056 #ifndef Q_WS_WIN //TODO kresolver not ported
00057 if (idna.length() && (idna[0] == "."))
00058 return idna[0] + KResolver::domainToUnicode(idna.mid(1));
00059 return KResolver::domainToUnicode(idna);
00060 #else
00061 return QString::null;
00062 #endif
00063 }