diff options
author | Petr Mrázek <peterix@gmail.com> | 2013-07-29 00:59:35 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2013-07-29 00:59:35 +0200 |
commit | 2e0cbf393a5320dbf5448ca44a9b5905314b0be8 (patch) | |
tree | 4baac9cf015ca7b15d83de33c705e0d8d4497d30 /backend/MinecraftVersion.h | |
parent | 8808a8b108b82916eaf30f9aca50cd3ab16af230 (diff) | |
download | MultiMC-2e0cbf393a5320dbf5448ca44a9b5905314b0be8.tar MultiMC-2e0cbf393a5320dbf5448ca44a9b5905314b0be8.tar.gz MultiMC-2e0cbf393a5320dbf5448ca44a9b5905314b0be8.tar.lz MultiMC-2e0cbf393a5320dbf5448ca44a9b5905314b0be8.tar.xz MultiMC-2e0cbf393a5320dbf5448ca44a9b5905314b0be8.zip |
Massive renaming in the backend folder, all around restructure in the same.
Diffstat (limited to 'backend/MinecraftVersion.h')
-rw-r--r-- | backend/MinecraftVersion.h | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/backend/MinecraftVersion.h b/backend/MinecraftVersion.h new file mode 100644 index 00000000..a69b4710 --- /dev/null +++ b/backend/MinecraftVersion.h @@ -0,0 +1,80 @@ +/* Copyright 2013 Andrew Okin + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include "libmmc_config.h" + +#include "InstanceVersion.h" + +class LIBMULTIMC_EXPORT MinecraftVersion : public InstVersion +{ + Q_OBJECT + +public: + explicit MinecraftVersion(QString descriptor, + QString name, + qint64 timestamp, + QString dlUrl, + QString etag, + InstVersionList *parent = 0); + + static InstVersion *mcnVersion(QString rawName, QString niceName); + + enum VersionType + { + OldSnapshot, + Stable, + CurrentStable, + Snapshot, + MCNostalgia + }; + + enum VersionSource + { + Unknown = -1, + Legacy = 0, // the legacy launcher that's been around since ... forever + Launcher16 = 1, // current launcher as of 26/06/2013 + }; + + virtual QString descriptor() const; + virtual QString name() const; + virtual QString typeName() const; + virtual qint64 timestamp() const; + + virtual VersionType versionType() const; + virtual void setVersionType(VersionType typeName); + + virtual VersionSource versionSource() const; + virtual void setVersionSource(VersionSource launcherVersion); + + virtual QString downloadURL() const; + virtual QString etag() const; + + virtual InstVersion *copyVersion(InstVersionList *newParent) const; + +private: + /// The URL that this version will be downloaded from. maybe. + QString m_dlUrl; + + /// ETag/MD5 Used to verify the integrity of the downloaded minecraft.jar. + QString m_etag; + + /// This version's type. Used internally to identify what kind of version this is. + VersionType m_type; + + /// Whete to get the full version info (or, where did we get this version from originally) + VersionSource m_versionSource; +}; |