kidna.cpp

00001 /*
00002     This file is part of the KDE libraries
00003 
00004     Copyright (c) 2003 Waldo Bastian <bastian@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 #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; // Error
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 }
KDE Home | KDE Accessibility Home | Description of Access Keys