aboutsummaryrefslogtreecommitdiff
path: root/launcher/Env.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'launcher/Env.cpp')
-rw-r--r--launcher/Env.cpp210
1 files changed, 0 insertions, 210 deletions
diff --git a/launcher/Env.cpp b/launcher/Env.cpp
deleted file mode 100644
index 1ca82e4b..00000000
--- a/launcher/Env.cpp
+++ /dev/null
@@ -1,210 +0,0 @@
-#include "Env.h"
-#include "net/HttpMetaCache.h"
-#include "BaseVersion.h"
-#include "BaseVersionList.h"
-#include <QDir>
-#include <QCoreApplication>
-#include <QNetworkProxy>
-#include <QNetworkAccessManager>
-#include <QDebug>
-#include "tasks/Task.h"
-#include "meta/Index.h"
-#include "FileSystem.h"
-#include <QDebug>
-
-
-struct Env::Private
-{
- QNetworkAccessManager m_qnam;
- shared_qobject_ptr<HttpMetaCache> m_metacache;
- std::shared_ptr<IIconList> m_iconlist;
- shared_qobject_ptr<Meta::Index> m_metadataIndex;
- QString m_jarsPath;
- QSet<QString> m_features;
-};
-
-static Env * instance;
-
-/*
- * The *NEW* global rat nest of an object. Handle with care.
- */
-
-Env::Env()
-{
- d = new Private();
-}
-
-Env::~Env()
-{
- delete d;
-}
-
-Env* Env::Env::getInstance()
-{
- if(!instance)
- {
- instance = new Env();
- }
- return instance;
-}
-
-void Env::dispose()
-{
- delete instance;
- instance = nullptr;
-}
-
-shared_qobject_ptr< HttpMetaCache > Env::metacache()
-{
- return d->m_metacache;
-}
-
-QNetworkAccessManager& Env::network() const
-{
- return d->m_qnam;
-}
-
-std::shared_ptr<IIconList> Env::icons()
-{
- return d->m_iconlist;
-}
-
-void Env::registerIconList(std::shared_ptr<IIconList> iconlist)
-{
- d->m_iconlist = iconlist;
-}
-
-shared_qobject_ptr<Meta::Index> Env::metadataIndex()
-{
- if (!d->m_metadataIndex)
- {
- d->m_metadataIndex.reset(new Meta::Index());
- }
- return d->m_metadataIndex;
-}
-
-
-void Env::initHttpMetaCache()
-{
- auto &m_metacache = d->m_metacache;
- m_metacache.reset(new HttpMetaCache("metacache"));
- m_metacache->addBase("asset_indexes", QDir("assets/indexes").absolutePath());
- m_metacache->addBase("asset_objects", QDir("assets/objects").absolutePath());
- m_metacache->addBase("versions", QDir("versions").absolutePath());
- m_metacache->addBase("libraries", QDir("libraries").absolutePath());
- m_metacache->addBase("minecraftforge", QDir("mods/minecraftforge").absolutePath());
- m_metacache->addBase("fmllibs", QDir("mods/minecraftforge/libs").absolutePath());
- m_metacache->addBase("liteloader", QDir("mods/liteloader").absolutePath());
- m_metacache->addBase("general", QDir("cache").absolutePath());
- m_metacache->addBase("ATLauncherPacks", QDir("cache/ATLauncherPacks").absolutePath());
- m_metacache->addBase("FTBPacks", QDir("cache/FTBPacks").absolutePath());
- m_metacache->addBase("ModpacksCHPacks", QDir("cache/ModpacksCHPacks").absolutePath());
- m_metacache->addBase("TechnicPacks", QDir("cache/TechnicPacks").absolutePath());
- m_metacache->addBase("FlamePacks", QDir("cache/FlamePacks").absolutePath());
- m_metacache->addBase("root", QDir::currentPath());
- m_metacache->addBase("translations", QDir("translations").absolutePath());
- m_metacache->addBase("icons", QDir("cache/icons").absolutePath());
- m_metacache->addBase("meta", QDir("meta").absolutePath());
- m_metacache->Load();
-}
-
-void Env::updateProxySettings(QString proxyTypeStr, QString addr, int port, QString user, QString password)
-{
- // Set the application proxy settings.
- if (proxyTypeStr == "SOCKS5")
- {
- QNetworkProxy::setApplicationProxy(
- QNetworkProxy(QNetworkProxy::Socks5Proxy, addr, port, user, password));
- }
- else if (proxyTypeStr == "HTTP")
- {
- QNetworkProxy::setApplicationProxy(
- QNetworkProxy(QNetworkProxy::HttpProxy, addr, port, user, password));
- }
- else if (proxyTypeStr == "None")
- {
- // If we have no proxy set, set no proxy and return.
- QNetworkProxy::setApplicationProxy(QNetworkProxy(QNetworkProxy::NoProxy));
- }
- else
- {
- // If we have "Default" selected, set Qt to use the system proxy settings.
- QNetworkProxyFactory::setUseSystemConfiguration(true);
- }
-
- qDebug() << "Detecting proxy settings...";
- QNetworkProxy proxy = QNetworkProxy::applicationProxy();
- d->m_qnam.setProxy(proxy);
- QString proxyDesc;
- if (proxy.type() == QNetworkProxy::NoProxy)
- {
- qDebug() << "Using no proxy is an option!";
- return;
- }
- switch (proxy.type())
- {
- case QNetworkProxy::DefaultProxy:
- proxyDesc = "Default proxy: ";
- break;
- case QNetworkProxy::Socks5Proxy:
- proxyDesc = "Socks5 proxy: ";
- break;
- case QNetworkProxy::HttpProxy:
- proxyDesc = "HTTP proxy: ";
- break;
- case QNetworkProxy::HttpCachingProxy:
- proxyDesc = "HTTP caching: ";
- break;
- case QNetworkProxy::FtpCachingProxy:
- proxyDesc = "FTP caching: ";
- break;
- default:
- proxyDesc = "DERP proxy: ";
- break;
- }
- proxyDesc += QString("%1:%2")
- .arg(proxy.hostName())
- .arg(proxy.port());
- qDebug() << proxyDesc;
-}
-
-QString Env::getJarsPath()
-{
- if(d->m_jarsPath.isEmpty())
- {
- return FS::PathCombine(QCoreApplication::applicationDirPath(), "jars");
- }
- return d->m_jarsPath;
-}
-
-void Env::setJarsPath(const QString& path)
-{
- d->m_jarsPath = path;
-}
-
-void Env::enableFeature(const QString& featureName, bool state)
-{
- if(state)
- {
- d->m_features.insert(featureName);
- }
- else
- {
- d->m_features.remove(featureName);
- }
-}
-
-bool Env::isFeatureEnabled(const QString& featureName) const
-{
- return d->m_features.contains(featureName);
-}
-
-void Env::getEnabledFeatures(QSet<QString>& features) const
-{
- features = d->m_features;
-}
-
-void Env::setEnabledFeatures(const QSet<QString>& features) const
-{
- d->m_features = features;
-}