summaryrefslogtreecommitdiffstats
path: root/logic/minecraft/RawLibrary.h
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2016-03-07 02:01:28 +0100
committerPetr Mrázek <peterix@gmail.com>2016-03-07 02:03:36 +0100
commitd4eacb56b30baaef801f42545398a4f29755fadf (patch)
tree0a185b0841f12c5af431cdedeb8695691ac0bce9 /logic/minecraft/RawLibrary.h
parent3d8728f52f220845fc4079d34b97458a122ac031 (diff)
downloadMultiMC-d4eacb56b30baaef801f42545398a4f29755fadf.tar
MultiMC-d4eacb56b30baaef801f42545398a4f29755fadf.tar.gz
MultiMC-d4eacb56b30baaef801f42545398a4f29755fadf.tar.lz
MultiMC-d4eacb56b30baaef801f42545398a4f29755fadf.tar.xz
MultiMC-d4eacb56b30baaef801f42545398a4f29755fadf.zip
NOISSUE make new Mojang version format pass through MultiMC structures
Not yet used effectively, but it is read and written properly
Diffstat (limited to 'logic/minecraft/RawLibrary.h')
-rw-r--r--logic/minecraft/RawLibrary.h187
1 files changed, 0 insertions, 187 deletions
diff --git a/logic/minecraft/RawLibrary.h b/logic/minecraft/RawLibrary.h
deleted file mode 100644
index a8d3ef0d..00000000
--- a/logic/minecraft/RawLibrary.h
+++ /dev/null
@@ -1,187 +0,0 @@
-#pragma once
-#include <QString>
-#include <QPair>
-#include <QList>
-#include <QStringList>
-#include <QMap>
-#include <QDir>
-#include <QUrl>
-#include <memory>
-
-#include "OneSixRule.h"
-#include "minecraft/OpSys.h"
-#include "GradleSpecifier.h"
-#include "net/URLConstants.h"
-
-class RawLibrary;
-typedef std::shared_ptr<RawLibrary> RawLibraryPtr;
-
-class RawLibrary
-{
- friend class OneSixVersionFormat;
- friend class MojangVersionFormat;
-public:
- RawLibrary()
- {
- }
- RawLibrary(const QString &name)
- {
- m_name = name;
- }
- /// limited copy without some data. TODO: why?
- static RawLibraryPtr limitedCopy(RawLibraryPtr base)
- {
- auto newlib = std::make_shared<RawLibrary>();
- newlib->m_name = base->m_name;
- newlib->m_base_url = base->m_base_url;
- newlib->m_hint = base->m_hint;
- newlib->m_absolute_url = base->m_absolute_url;
- newlib->extract_excludes = base->extract_excludes;
- newlib->m_native_classifiers = base->m_native_classifiers;
- newlib->m_rules = base->m_rules;
- newlib->m_storagePrefix = base->m_storagePrefix;
- return newlib;
- }
-
-public: /* methods */
- /// Returns the raw name field
- const GradleSpecifier & rawName() const
- {
- return m_name;
- }
-
- void setRawName(const GradleSpecifier & spec)
- {
- m_name = spec;
- }
-
- void setClassifier(const QString & spec)
- {
- m_name.setClassifier(spec);
- }
-
- /// returns the full group and artifact prefix
- QString artifactPrefix() const
- {
- return m_name.artifactPrefix();
- }
-
- /// get the artifact ID
- QString artifactId() const
- {
- return m_name.artifactId();
- }
-
- /// get the artifact version
- QString version() const
- {
- return m_name.version();
- }
-
- /// Returns true if the library is native
- bool isNative() const
- {
- return m_native_classifiers.size() != 0;
- }
-
- void setStoragePrefix(QString prefix = QString());
-
- /// the default storage prefix used by MultiMC
- static QString defaultStoragePrefix();
-
- bool storagePathIsDefault() const;
-
- /// Get the prefix - root of the storage to be used
- QString storagePrefix() const;
-
- /// Get the relative path where the library should be saved
- QString storageSuffix() const;
-
- /// Get the absolute path where the library should be saved
- QString storagePath() const;
-
- /// Set the url base for downloads
- void setBaseUrl(const QString &base_url)
- {
- m_base_url = base_url;
- }
-
- /// List of files this library describes. Required because of platform-specificness of native libs
- QStringList files() const;
-
- /// List Shortcut for checking if all the above files exist
- bool filesExist(const QDir &base) const;
-
- void setAbsoluteUrl(const QString &absolute_url)
- {
- m_absolute_url = absolute_url;
- }
-
- QString absoluteUrl() const
- {
- return m_absolute_url;
- }
-
- void setHint(const QString &hint)
- {
- m_hint = hint;
- }
-
- QString hint() const
- {
- return m_hint;
- }
-
- /// Set the load rules
- void setRules(QList<std::shared_ptr<Rule>> rules)
- {
- m_rules = rules;
- }
-
- /// Returns true if the library should be loaded (or extracted, in case of natives)
- bool isActive() const;
-
- /// Get the URL to download the library from
- QString url() const;
-
-protected: /* data */
- /// the basic gradle dependency specifier.
- GradleSpecifier m_name;
- /// where to store the lib locally
- QString m_storage_path;
- /// is this lib actually active on the current OS?
- bool m_is_active = false;
-
- /// DEPRECATED URL prefix of the maven repo where the file can be downloaded
- QString m_base_url;
-
- /// DEPRECATED: MultiMC-specific absolute URL. takes precedence over the implicit maven repo URL, if defined
- QString m_absolute_url;
-
-public: /* data */
- /**
- * MultiMC-specific type hint - modifies how the library is treated
- */
- QString m_hint;
-
- /**
- * storage - by default the local libraries folder in multimc, but could be elsewhere
- * MultiMC specific, because of FTB.
- */
- QString m_storagePrefix;
-
- /// true if the library had an extract/excludes section (even empty)
- bool applyExcludes = false;
-
- /// a list of files that shouldn't be extracted from the library
- QStringList extract_excludes;
-
- /// native suffixes per OS
- QMap<OpSys, QString> m_native_classifiers;
-
- /// true if the library had a rules section (even empty)
- bool applyRules = false;
-
- /// rules associated with the library
- QList<std::shared_ptr<Rule>> m_rules;
-};