summaryrefslogtreecommitdiffstats
path: root/logic/OneSixVersion.h
diff options
context:
space:
mode:
Diffstat (limited to 'logic/OneSixVersion.h')
-rw-r--r--logic/OneSixVersion.h60
1 files changed, 37 insertions, 23 deletions
diff --git a/logic/OneSixVersion.h b/logic/OneSixVersion.h
index 6a6a5b4b..69268ecf 100644
--- a/logic/OneSixVersion.h
+++ b/logic/OneSixVersion.h
@@ -4,13 +4,33 @@ class OneSixLibrary;
class OneSixVersion : public QAbstractListModel
{
+ // Things required to implement the Qt list model
public:
- virtual QVariant data ( const QModelIndex& index, int role = Qt::DisplayRole ) const;
- virtual int rowCount ( const QModelIndex& parent = QModelIndex() ) const;
- virtual QVariant headerData ( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const;
- virtual int columnCount ( const QModelIndex& parent ) const;
- virtual Qt::ItemFlags flags(const QModelIndex& index) const;
+ virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
+ virtual int rowCount(const QModelIndex &parent = QModelIndex()) const;
+ virtual QVariant headerData(int section, Qt::Orientation orientation,
+ int role = Qt::DisplayRole) const;
+ virtual int columnCount(const QModelIndex &parent) const;
+ virtual Qt::ItemFlags flags(const QModelIndex &index) const;
+
+ // serialization/deserialization
+public:
+ bool toOriginalFile();
+ static QSharedPointer<OneSixVersion> fromJson(QJsonObject root);
+ static QSharedPointer<OneSixVersion> fromFile(QString filepath);
+
public:
+ QList<QSharedPointer<OneSixLibrary>> getActiveNormalLibs();
+ QList<QSharedPointer<OneSixLibrary>> getActiveNativeLibs();
+ // called when something starts/stops messing with the object
+ // FIXME: these are ugly in every possible way.
+ void externalUpdateStart();
+ void externalUpdateFinish();
+
+ // data members
+public:
+ /// file this was read from. blank, if none
+ QString original_file;
/// the ID - determines which jar to use! ACTUALLY IMPORTANT!
QString id;
/// Last updated time - as a string
@@ -23,26 +43,27 @@ public:
* DEPRECATED: Old versions of the new vanilla launcher used this
* ex: "username_session_version"
*/
- QString processArguments;
+ QString processArguments;
/**
* arguments that should be used for launching minecraft
- *
+ *
* ex: "--username ${auth_player_name} --session ${auth_session}
* --version ${version_name} --gameDir ${game_directory} --assetsDir ${game_assets}"
*/
QString minecraftArguments;
/**
- * the minimum launcher version required by this version ... current is 4 (at point of writing)
+ * the minimum launcher version required by this version ... current is 4 (at point of
+ * writing)
*/
- int minimumLauncherVersion;
+ int minimumLauncherVersion = 0xDEADBEEF;
/**
* The main class to load first
*/
QString mainClass;
-
+
/// the list of libs - both active and inactive, native and java
- QList<QSharedPointer<OneSixLibrary> > libraries;
-
+ QList<QSharedPointer<OneSixLibrary>> libraries;
+
/*
FIXME: add support for those rules here? Looks like a pile of quick hacks to me though.
@@ -58,18 +79,11 @@ public:
}
}
],
- "incompatibilityReason": "There is a bug in LWJGL which makes it incompatible with OSX 10.5.8. Please go to New Profile and use 1.5.2 for now. Sorry!"
+ "incompatibilityReason": "There is a bug in LWJGL which makes it incompatible with OSX
+ 10.5.8. Please go to New Profile and use 1.5.2 for now. Sorry!"
}
*/
// QList<Rule> rules;
-
-public:
-
- OneSixVersion()
- {
- minimumLauncherVersion = 0xDEADBEEF;
- }
-
- QList<QSharedPointer<OneSixLibrary> > getActiveNormalLibs();
- QList<QSharedPointer<OneSixLibrary> > getActiveNativeLibs();
+
+
};