summaryrefslogtreecommitdiffstats
path: root/plugins/stdinstance
diff options
context:
space:
mode:
authorAndrew <forkk@forkk.net>2013-02-20 19:10:09 -0600
committerAndrew <forkk@forkk.net>2013-02-20 19:10:09 -0600
commitdd2e836b4cf4cfa043f9ea2911f58f1d22d4e282 (patch)
tree07e99dd9c2858e2e46075a649751049c3195b437 /plugins/stdinstance
parentf71479ec33562c9a0ebbdb335bef5e2824a12710 (diff)
downloadMultiMC-dd2e836b4cf4cfa043f9ea2911f58f1d22d4e282.tar
MultiMC-dd2e836b4cf4cfa043f9ea2911f58f1d22d4e282.tar.gz
MultiMC-dd2e836b4cf4cfa043f9ea2911f58f1d22d4e282.tar.lz
MultiMC-dd2e836b4cf4cfa043f9ea2911f58f1d22d4e282.tar.xz
MultiMC-dd2e836b4cf4cfa043f9ea2911f58f1d22d4e282.zip
Split MultiMC up into a few separate libraries.
Fixed plugin system. Tons of other stuff...
Diffstat (limited to 'plugins/stdinstance')
-rw-r--r--plugins/stdinstance/CMakeLists.txt28
-rw-r--r--plugins/stdinstance/stdinstance.cpp5
-rw-r--r--plugins/stdinstance/stdinstance.h2
-rw-r--r--plugins/stdinstance/stdinstance.json9
-rw-r--r--plugins/stdinstance/stdinstancetype.cpp2
-rw-r--r--plugins/stdinstance/stdinstancetype.h8
-rw-r--r--plugins/stdinstance/stdinstplugin.cpp27
-rw-r--r--plugins/stdinstance/stdinstplugin.h33
8 files changed, 42 insertions, 72 deletions
diff --git a/plugins/stdinstance/CMakeLists.txt b/plugins/stdinstance/CMakeLists.txt
index 503bda75..0bb466ec 100644
--- a/plugins/stdinstance/CMakeLists.txt
+++ b/plugins/stdinstance/CMakeLists.txt
@@ -10,22 +10,40 @@ find_package(Qt5Network REQUIRED)
include_directories(${Qt5Base_INCLUDE_DIRS})
include_directories(${Qt5Network_INCLUDE_DIRS})
-# Include MultiMC's headers.
-include_directories(../../)
+# Include the Java library.
+include_directories(${CMAKE_SOURCE_DIR}/java)
+
+# Include utils library headers.
+include_directories(${CMAKE_SOURCE_DIR}/libutil/include)
+
+# Include settings library headers.
+include_directories(${CMAKE_SOURCE_DIR}/libsettings/include)
+
+# Include instance library headers.
+include_directories(${CMAKE_SOURCE_DIR}libinstance/include)
SET(STDINST_HEADERS
-stdinstplugin.h
stdinstancetype.h
stdinstance.h
)
SET(STDINST_SOURCES
-stdinstplugin.cpp
stdinstancetype.cpp
stdinstance.cpp
)
add_library(stdinstance SHARED ${STDINST_SOURCES} ${STDINST_HEADERS})
+
set_target_properties(stdinstance PROPERTIES PREFIX "")
+set_target_properties(stdinstance PROPERTIES RUNTIME_OUTPUT_DIRECTORY "..")
+
qt5_use_modules(stdinstance Core Network)
-target_link_libraries(stdinstance quazip patchlib)
+target_link_libraries(stdinstance
+quazip
+patchlib
+
+# Link the util, settings, and instance libraries.
+libmmcutil
+libmmcsettings
+libmmcinst
+)
diff --git a/plugins/stdinstance/stdinstance.cpp b/plugins/stdinstance/stdinstance.cpp
index 19490965..12d86bbc 100644
--- a/plugins/stdinstance/stdinstance.cpp
+++ b/plugins/stdinstance/stdinstance.cpp
@@ -17,7 +17,7 @@
#include <QFileInfo>
-#include <java/javautils.h>
+#include <javautils.h>
StdInstance::StdInstance(const QString &rootDir, QObject *parent) :
Instance(rootDir, parent)
@@ -47,7 +47,8 @@ void StdInstance::updateCurrentVersion(bool keepCurrent)
setLastVersionUpdate(time);
if (!keepCurrent)
{
- QString newVersion = javautils::GetMinecraftJarVersion(jar.absoluteFilePath());
+ // TODO: Implement GetMinecraftJarVersion function.
+ QString newVersion = "Unknown";//javautils::GetMinecraftJarVersion(jar.absoluteFilePath());
setCurrentVersion(newVersion);
}
}
diff --git a/plugins/stdinstance/stdinstance.h b/plugins/stdinstance/stdinstance.h
index 17c03f15..d812a9b0 100644
--- a/plugins/stdinstance/stdinstance.h
+++ b/plugins/stdinstance/stdinstance.h
@@ -16,7 +16,7 @@
#ifndef STDINSTANCE_H
#define STDINSTANCE_H
-#include <data/inst/instance.h>
+#include <instance.h>
class StdInstance : public Instance
{
diff --git a/plugins/stdinstance/stdinstance.json b/plugins/stdinstance/stdinstance.json
index 0967ef42..704f0b73 100644
--- a/plugins/stdinstance/stdinstance.json
+++ b/plugins/stdinstance/stdinstance.json
@@ -1 +1,8 @@
-{}
+{
+ "api": "MultiMC5-API-1",
+
+ "name": "Standard Instance Plugin",
+ "summary": "A plugin that provides standard Minecraft instances.",
+ "description": "This is a built-in plugin that provides the standard Minecraft instance.",
+ "version": "0.1"
+}
diff --git a/plugins/stdinstance/stdinstancetype.cpp b/plugins/stdinstance/stdinstancetype.cpp
index 3e9e00a0..9b7aa994 100644
--- a/plugins/stdinstance/stdinstancetype.cpp
+++ b/plugins/stdinstance/stdinstancetype.cpp
@@ -16,7 +16,7 @@
#include "stdinstancetype.h"
StdInstanceType::StdInstanceType(QObject *parent) :
- InstanceType(parent)
+ QObject(parent)
{
}
diff --git a/plugins/stdinstance/stdinstancetype.h b/plugins/stdinstance/stdinstancetype.h
index 9516aa80..4f659ba7 100644
--- a/plugins/stdinstance/stdinstancetype.h
+++ b/plugins/stdinstance/stdinstancetype.h
@@ -16,11 +16,15 @@
#ifndef STDINSTANCETYPE_H
#define STDINSTANCETYPE_H
-#include <data/inst/instancetype.h>
+#include <instancetypeinterface.h>
-class StdInstanceType : public InstanceType
+#define StdInstanceType_IID "net.forkk.MultiMC.StdInstanceType/0.1"
+
+class StdInstanceType : public QObject, InstanceTypeInterface
{
Q_OBJECT
+ Q_PLUGIN_METADATA(IID StdInstanceType_IID FILE "stdinstance.json")
+ Q_INTERFACES(InstanceTypeInterface)
public:
explicit StdInstanceType(QObject *parent = 0);
diff --git a/plugins/stdinstance/stdinstplugin.cpp b/plugins/stdinstance/stdinstplugin.cpp
deleted file mode 100644
index 98e12ae0..00000000
--- a/plugins/stdinstance/stdinstplugin.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright 2013 MultiMC Contributors
- *
- * 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.
- */
-
-#include "stdinstplugin.h"
-
-#include <QtPlugin>
-
-#include "stdinstancetype.h"
-
-QList<InstanceType *> StdInstPlugin::getInstanceTypes()
-{
- QList<InstanceType *> types;
- types.push_back(new StdInstanceType(this));
- return types;
-}
diff --git a/plugins/stdinstance/stdinstplugin.h b/plugins/stdinstance/stdinstplugin.h
deleted file mode 100644
index f44409bd..00000000
--- a/plugins/stdinstance/stdinstplugin.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright 2013 MultiMC Contributors
- *
- * 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.
- */
-
-#ifndef STDINSTPLUGIN_H
-#define STDINSTPLUGIN_H
-
-#include <QObject>
-
-#include <data/plugin/instancetypeplugin.h>
-
-class StdInstPlugin : public QObject, InstanceTypePlugin
-{
- Q_OBJECT
- Q_INTERFACES(InstanceTypePlugin)
- Q_PLUGIN_METADATA(IID "net.forkk.MultiMC.Plugins.StdInstance")
-
-public:
- virtual QList<InstanceType *> getInstanceTypes();
-};
-
-#endif // STDINSTPLUGIN_H