diff options
author | Petr Mrázek <peterix@gmail.com> | 2014-12-18 02:48:14 +0100 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2014-12-27 20:50:33 +0100 |
commit | a30a9559c749446165ec84e737fe85b44a462584 (patch) | |
tree | 9e6bfadfc4e10f01ab2580c33e2c682d57b4ce99 /logic/URNResolver.cpp | |
parent | 01f44e0f39a808d3d5285c394d83a8fc80421890 (diff) | |
download | MultiMC-a30a9559c749446165ec84e737fe85b44a462584.tar MultiMC-a30a9559c749446165ec84e737fe85b44a462584.tar.gz MultiMC-a30a9559c749446165ec84e737fe85b44a462584.tar.lz MultiMC-a30a9559c749446165ec84e737fe85b44a462584.tar.xz MultiMC-a30a9559c749446165ec84e737fe85b44a462584.zip |
NOISSUE Fix jar mods for OnesSix
Diffstat (limited to 'logic/URNResolver.cpp')
-rw-r--r-- | logic/URNResolver.cpp | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/logic/URNResolver.cpp b/logic/URNResolver.cpp deleted file mode 100644 index b6bdcf41..00000000 --- a/logic/URNResolver.cpp +++ /dev/null @@ -1,98 +0,0 @@ -#include "URNResolver.h" -#include <logger/QsLog.h> -#include "MultiMC.h" -#include "logic/forge/ForgeVersionList.h" -#include "logic/forge/ForgeVersion.h" - -QString unescapeNSS(QString RawNSS) -{ - QString NSS; - NSS.reserve(RawNSS.size()); - enum - { - Normal, - FirstHex, - SecondHex - } ParseState = Normal; - - QByteArray translator(" "); - - for (auto ch : RawNSS) - { - if(ParseState == Normal) - { - if(ch == '%') - { - ParseState = FirstHex; - continue; - } - else - { - NSS.append(ch); - } - } - if(ParseState == FirstHex) - { - translator[0] = ch.toLower().unicode(); - ParseState = SecondHex; - } - else if(ParseState == SecondHex) - { - translator[1] = ch.toLower().unicode(); - auto result = QByteArray::fromHex(translator); - if (result[0] == '\0') - return NSS; - NSS.append(result); - ParseState = Normal; - } - } - return NSS; -} - -bool URNResolver::parse(const QString &URN, QString &NID, QString &NSS) -{ - QRegExp URNPattern( - "^urn:([a-z0-9][a-z0-9-]{0,31}):(([a-z0-9()+,\\-.:=@;$_!*']|%[0-9a-f]{2})+).*", - Qt::CaseInsensitive); - if (URNPattern.indexIn(URN) == -1) - return false; - auto captures = URNPattern.capturedTexts(); - QString RawNID = captures[1]; - QString RawNSS = captures[2]; - - NID = RawNID.toLower(); - NSS = unescapeNSS(RawNSS); - return true; -} - -URNResolver::URNResolver() -{ -} - -QVariant URNResolver::resolve(QString URN) -{ - QString NID, NSS; - parse(URN, NID, NSS); - - if(NID != "x-mmc") - return QVariant(); - auto parts = NSS.split(":"); - if(parts.size() < 1) - return QVariant(); - unsigned int version = parts[0].toUInt(); - switch(version) - { - case 1: - return resolveV1(parts.mid(1)); - default: - return QVariant(); - } -} - -/** - * TODO: implement. - */ -QVariant URNResolver::resolveV1(QStringList parts) -{ - return QVariant(); -} |