mirror of
https://github.com/ModOrganizer2/modorganizer-plugin_python.git
synced 2026-07-27 14:03:33 -07:00
Compare commits
19
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9cbf374166 | ||
|
|
f71bfff0e6 | ||
|
|
8aa2ab4eac | ||
|
|
46a0ce9e38 | ||
|
|
15e635741c | ||
|
|
f56c605479 | ||
|
|
617c76e9f8 | ||
|
|
96081888f1 | ||
|
|
af5958b0af | ||
|
|
b33293e49a | ||
|
|
dc3b60e578 | ||
|
|
d591bc017a | ||
|
|
aad5864192 | ||
|
|
7deee938d3 | ||
|
|
5d51b2bcc6 | ||
|
|
0566a968e8 | ||
|
|
14fc674d72 | ||
|
|
b7cbdaad1e | ||
|
|
fee774db45 |
@@ -22,6 +22,9 @@ CONFIG(release, debug|release) {
|
|||||||
|
|
||||||
DEFINES += PROXYPYTHON_LIBRARY
|
DEFINES += PROXYPYTHON_LIBRARY
|
||||||
|
|
||||||
|
# suppress a few warnings caused by boost vs vc++ paranoia
|
||||||
|
DEFINES += _SCL_SECURE_NO_WARNINGS
|
||||||
|
|
||||||
SOURCES += proxypython.cpp
|
SOURCES += proxypython.cpp
|
||||||
HEADERS += proxypython.h \
|
HEADERS += proxypython.h \
|
||||||
resource.h
|
resource.h
|
||||||
@@ -35,15 +38,14 @@ RC_FILE += \
|
|||||||
|
|
||||||
include(../plugin_template.pri)
|
include(../plugin_template.pri)
|
||||||
|
|
||||||
INCLUDEPATH += "../../pythonRunner"
|
INCLUDEPATH += "../../pythonRunner" "$(BOOSTPATH)"
|
||||||
|
|
||||||
WINPWD = $$PWD
|
WINPWD = $$PWD
|
||||||
WINPWD ~= s,/,$$QMAKE_DIR_SEP,g
|
WINPWD ~= s,/,$$QMAKE_DIR_SEP,g
|
||||||
|
|
||||||
|
|
||||||
//QMAKE_POST_LINK += SET VS90COMNTOOLS=%VS100COMNTOOLS% $$escape_expand(\\n)
|
//QMAKE_POST_LINK += SET VS90COMNTOOLS=%VS100COMNTOOLS% $$escape_expand(\\n)
|
||||||
|
|
||||||
|
|
||||||
QMAKE_POST_LINK += copy $$(PYTHONPATH)\\lib\\site-packages\\sip.pyd $$quote($$DSTDIR)\\plugins\\data\\ $$escape_expand(\\n)
|
//QMAKE_POST_LINK += copy $$(PYTHONPATH)\\lib\\site-packages\\sip.pyd $$quote($$DSTDIR)\\plugins\\data\\ $$escape_expand(\\n)
|
||||||
QMAKE_POST_LINK += copy $$(PYTHONPATH)\\lib\\site-packages\\PyQt4\\QtCore.pyd $$quote($$DSTDIR)\\plugins\\data\\PyQt4\\ $$escape_expand(\\n)
|
//QMAKE_POST_LINK += copy $$(PYTHONPATH)\\lib\\site-packages\\PyQt4\\QtCore.pyd $$quote($$DSTDIR)\\plugins\\data\\PyQt4\\ $$escape_expand(\\n)
|
||||||
QMAKE_POST_LINK += copy $$(PYTHONPATH)\\lib\\site-packages\\PyQt4\\QtGui.pyd $$quote($$DSTDIR)\\plugins\\data\\PyQt4\\ $$escape_expand(\\n)
|
//QMAKE_POST_LINK += copy $$(PYTHONPATH)\\lib\\site-packages\\PyQt4\\QtGui.pyd $$quote($$DSTDIR)\\plugins\\data\\PyQt4\\ $$escape_expand(\\n)
|
||||||
|
|||||||
+21
-10
@@ -1,11 +1,24 @@
|
|||||||
#pragma warning( push )
|
/*
|
||||||
#pragma warning( disable : 4100 ) // a lot of unreferenced formal parameters from boost libraries
|
Copyright (C) 2013 Sebastian Herbord. All rights reserved.
|
||||||
#pragma warning( disable : 4996 ) // strncpy claimed to be unsafe
|
|
||||||
|
This file is part of python proxy plugin for MO
|
||||||
|
|
||||||
|
python proxy plugin is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
Python proxy plugin is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with python proxy plugin. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include "proxypython.h"
|
#include "proxypython.h"
|
||||||
|
|
||||||
#pragma warning( pop )
|
|
||||||
|
|
||||||
#include <utility.h>
|
#include <utility.h>
|
||||||
#include <versioninfo.h>
|
#include <versioninfo.h>
|
||||||
#include <QtPlugin>
|
#include <QtPlugin>
|
||||||
@@ -34,8 +47,6 @@ HMODULE GetOwnModuleHandle()
|
|||||||
|
|
||||||
QString ExtractResource(WORD resourceID, const QString &szFilename)
|
QString ExtractResource(WORD resourceID, const QString &szFilename)
|
||||||
{
|
{
|
||||||
bool success = false;
|
|
||||||
|
|
||||||
HMODULE mod = GetOwnModuleHandle();
|
HMODULE mod = GetOwnModuleHandle();
|
||||||
|
|
||||||
HRSRC hResource = FindResourceW(mod, MAKEINTRESOURCE(resourceID), L"BINARY");
|
HRSRC hResource = FindResourceW(mod, MAKEINTRESOURCE(resourceID), L"BINARY");
|
||||||
@@ -167,7 +178,7 @@ QString ProxyPython::description() const
|
|||||||
|
|
||||||
VersionInfo ProxyPython::version() const
|
VersionInfo ProxyPython::version() const
|
||||||
{
|
{
|
||||||
return VersionInfo(1, 2, 0, VersionInfo::RELEASE_FINAL);
|
return VersionInfo(1, 3, 1, VersionInfo::RELEASE_FINAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ProxyPython::isActive() const
|
bool ProxyPython::isActive() const
|
||||||
@@ -294,7 +305,7 @@ QString ProxyPython::fullDescription(unsigned int key) const
|
|||||||
"The only solution I can offer is to remove the semicolon / move MO to a path without a semicolon.").arg(QCoreApplication::applicationDirPath());
|
"The only solution I can offer is to remove the semicolon / move MO to a path without a semicolon.").arg(QCoreApplication::applicationDirPath());
|
||||||
} break;
|
} break;
|
||||||
default:
|
default:
|
||||||
throw MyException(tr("invalid problem key %1").arg(key));
|
throw MyException(QString("invalid problem key %1").arg(key));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,22 @@
|
|||||||
|
/*
|
||||||
|
Copyright (C) 2013 Sebastian Herbord. All rights reserved.
|
||||||
|
|
||||||
|
This file is part of python proxy plugin for MO
|
||||||
|
|
||||||
|
python proxy plugin is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
Python proxy plugin is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with python proxy plugin. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef PROXYPYTHON_H
|
#ifndef PROXYPYTHON_H
|
||||||
#define PROXYPYTHON_H
|
#define PROXYPYTHON_H
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
|
#define HAVE_ROUND
|
||||||
#include "proxypluginwrappers.h"
|
#include "proxypluginwrappers.h"
|
||||||
#include <boost/python.hpp>
|
|
||||||
#include <utility.h>
|
#include <utility.h>
|
||||||
#include "error.h"
|
#include "error.h"
|
||||||
#include "gilock.h"
|
#include "gilock.h"
|
||||||
|
|||||||
@@ -12,6 +12,9 @@ CONFIG += warn_on
|
|||||||
|
|
||||||
DEFINES += PYTHONRUNNER_LIBRARY
|
DEFINES += PYTHONRUNNER_LIBRARY
|
||||||
|
|
||||||
|
# suppress a few warnings caused by boost vs vc++ paranoia
|
||||||
|
DEFINES += _SCL_SECURE_NO_WARNINGS
|
||||||
|
|
||||||
SOURCES += pythonrunner.cpp \
|
SOURCES += pythonrunner.cpp \
|
||||||
gilock.cpp \
|
gilock.cpp \
|
||||||
error.cpp \
|
error.cpp \
|
||||||
@@ -28,15 +31,26 @@ HEADERS += pythonrunner.h \
|
|||||||
|
|
||||||
|
|
||||||
CONFIG(debug, debug|release) {
|
CONFIG(debug, debug|release) {
|
||||||
|
SRCDIR = $$OUT_PWD/debug
|
||||||
|
DSTDIR = $$PWD/../../outputd
|
||||||
LIBS += -L$$OUT_PWD/../uibase/debug
|
LIBS += -L$$OUT_PWD/../uibase/debug
|
||||||
} else {
|
} else {
|
||||||
|
SRCDIR = $$OUT_PWD/release
|
||||||
|
DSTDIR = $$PWD/../../output
|
||||||
LIBS += -L$$OUT_PWD/../uibase/release
|
LIBS += -L$$OUT_PWD/../uibase/release
|
||||||
|
QMAKE_CXXFLAGS += /Zi
|
||||||
|
QMAKE_LFLAGS += /DEBUG
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
SRCDIR ~= s,/,$$QMAKE_DIR_SEP,g
|
||||||
|
DSTDIR ~= s,/,$$QMAKE_DIR_SEP,g
|
||||||
|
|
||||||
INCLUDEPATH += "$(BOOSTPATH)" "$$(PYTHONPATH)/include" "$$(PYTHONPATH)/Lib/site-packages/PyQt4/include"
|
INCLUDEPATH += "$(BOOSTPATH)" "$$(PYTHONPATH)/include" "$$(PYTHONPATH)/Lib/site-packages/PyQt4/include"
|
||||||
LIBS += -L"$$(PYTHONPATH)/libs" -L"$(BOOSTPATH)/stage/lib"
|
LIBS += -L"$$(PYTHONPATH)/libs" -L"$(BOOSTPATH)/stage/lib"
|
||||||
LIBS += -lpython27
|
LIBS += -lpython27
|
||||||
|
|
||||||
INCLUDEPATH += ../uibase
|
INCLUDEPATH += ../uibase
|
||||||
LIBS += -luibase
|
LIBS += -luibase
|
||||||
|
|
||||||
|
QMAKE_POST_LINK += xcopy /y /I $$quote($$SRCDIR\\$${TARGET}*.pdb) $$quote($$DSTDIR)\\plugins $$escape_expand(\\n)
|
||||||
|
|||||||
@@ -99,7 +99,6 @@ QList<MOBase::PluginSetting> PythonPluginWrapper::settings() const
|
|||||||
try {
|
try {
|
||||||
boost::python::object l = m_SettingsFunction();
|
boost::python::object l = m_SettingsFunction();
|
||||||
if (!l.is_none()) {
|
if (!l.is_none()) {
|
||||||
// boost::python::list l = extract<boost::python::list>(temp);
|
|
||||||
for (int i = 0; i < boost::python::len(l); ++i) {
|
for (int i = 0; i < boost::python::len(l); ++i) {
|
||||||
result.append(extract<MOBase::PluginSetting>(l[i]));
|
result.append(extract<MOBase::PluginSetting>(l[i]));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ public:
|
|||||||
virtual QList<MOBase::PluginSetting> settings() const;
|
virtual QList<MOBase::PluginSetting> settings() const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
void reportPythonError() const;
|
void reportPythonError() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
+280
-57
File diff suppressed because it is too large
Load Diff
@@ -22,7 +22,7 @@ public:
|
|||||||
#define PYDLLEXPORT Q_DECL_IMPORT
|
#define PYDLLEXPORT Q_DECL_IMPORT
|
||||||
#endif // PYTHONRUNNER_LIBRARY
|
#endif // PYTHONRUNNER_LIBRARY
|
||||||
|
|
||||||
extern "C" PYDLLEXPORT IPythonRunner *CreatePythonRunner(const MOBase::IOrganizer *moInfo, const QString &pythonDir);
|
extern "C" PYDLLEXPORT IPythonRunner *CreatePythonRunner(MOBase::IOrganizer *moInfo, const QString &pythonDir);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
#ifndef PYTHONRUNNER_GLOBAL_H
|
|
||||||
#define PYTHONRUNNER_GLOBAL_H
|
|
||||||
|
|
||||||
#include <QtCore/qglobal.h>
|
|
||||||
|
|
||||||
#if defined(PYTHONRUNNER_LIBRARY)
|
|
||||||
# define PYTHONRUNNERSHARED_EXPORT Q_DECL_EXPORT
|
|
||||||
#else
|
|
||||||
# define PYTHONRUNNERSHARED_EXPORT Q_DECL_IMPORT
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif // PYTHONRUNNER_GLOBAL_H
|
|
||||||
+148
-20
@@ -3,7 +3,9 @@
|
|||||||
|
|
||||||
|
|
||||||
#ifndef Q_MOC_RUN
|
#ifndef Q_MOC_RUN
|
||||||
|
#pragma warning (push, 0)
|
||||||
#include <boost/python.hpp>
|
#include <boost/python.hpp>
|
||||||
|
#pragma warning (pop)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <QString>
|
#include <QString>
|
||||||
@@ -11,6 +13,8 @@
|
|||||||
#include <imoinfo.h>
|
#include <imoinfo.h>
|
||||||
#include <igameinfo.h>
|
#include <igameinfo.h>
|
||||||
#include <imodrepositorybridge.h>
|
#include <imodrepositorybridge.h>
|
||||||
|
#include <imodinterface.h>
|
||||||
|
#include <iinstallationmanager.h>
|
||||||
#include "error.h"
|
#include "error.h"
|
||||||
#include "gilock.h"
|
#include "gilock.h"
|
||||||
|
|
||||||
@@ -51,8 +55,6 @@ public:
|
|||||||
{ m_Wrapped->requestFiles(modID, userData); }
|
{ m_Wrapped->requestFiles(modID, userData); }
|
||||||
void requestFileInfo(int modID, int fileID, QVariant userData)
|
void requestFileInfo(int modID, int fileID, QVariant userData)
|
||||||
{ m_Wrapped->requestFileInfo(modID, fileID, userData); }
|
{ m_Wrapped->requestFileInfo(modID, fileID, userData); }
|
||||||
void requestDownloadURL(int modID, int fileID, QVariant userData)
|
|
||||||
{ m_Wrapped->requestDownloadURL(modID, fileID, userData); }
|
|
||||||
void requestToggleEndorsement(int modID, bool endorse, QVariant userData)
|
void requestToggleEndorsement(int modID, bool endorse, QVariant userData)
|
||||||
{ m_Wrapped->requestToggleEndorsement(modID, endorse, userData); }
|
{ m_Wrapped->requestToggleEndorsement(modID, endorse, userData); }
|
||||||
|
|
||||||
@@ -63,10 +65,31 @@ public:
|
|||||||
Qt::UniqueConnection);
|
Qt::UniqueConnection);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void onDescriptionAvailable(boost::python::object callback) {
|
||||||
|
m_DescriptionAvailableHandler = callback;
|
||||||
|
connect(m_Wrapped, SIGNAL(descriptionAvailable(int,QVariant,QVariant)),
|
||||||
|
this, SLOT(descriptionAvailable(int,QVariant,QVariant)),
|
||||||
|
Qt::UniqueConnection);
|
||||||
|
}
|
||||||
|
|
||||||
|
void onFileInfoAvailable(boost::python::object callback) {
|
||||||
|
m_FileInfoHandler = callback;
|
||||||
|
connect(m_Wrapped, SIGNAL(fileInfoAvailable(int,int,QVariant,QVariant)),
|
||||||
|
this, SLOT(fileInfoAvailable(int,int,QVariant,QVariant)),
|
||||||
|
Qt::UniqueConnection);
|
||||||
|
}
|
||||||
|
|
||||||
|
void onEndorsementToggled(boost::python::object callback) {
|
||||||
|
m_EndorsementToggledHandler = callback;
|
||||||
|
connect(m_Wrapped, SIGNAL(endorsementToggled(int,QVariant,QVariant)),
|
||||||
|
this, SLOT(endorsementToggled(int,QVariant,QVariant)),
|
||||||
|
Qt::UniqueConnection);
|
||||||
|
}
|
||||||
|
|
||||||
void onRequestFailed(boost::python::object callback) {
|
void onRequestFailed(boost::python::object callback) {
|
||||||
m_FailedHandler = callback;
|
m_FailedHandler = callback;
|
||||||
connect(m_Wrapped, SIGNAL(requestFailed(int,QVariant,QString)),
|
connect(m_Wrapped, SIGNAL(requestFailed(int,int,QVariant,QString)),
|
||||||
this, SLOT(requestFailed(int,QVariant,QString)),
|
this, SLOT(requestFailed(int,int,QVariant,QString)),
|
||||||
Qt::UniqueConnection);
|
Qt::UniqueConnection);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -82,20 +105,78 @@ private slots:
|
|||||||
qCritical("no handler connected");
|
qCritical("no handler connected");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// try {
|
try {
|
||||||
GILock lock;
|
GILock lock;
|
||||||
m_FilesAvailableHandler(modID, userData, resultData);
|
m_FilesAvailableHandler(modID, userData, resultData);
|
||||||
// } catch (const boost::python::error_already_set&) {
|
} catch (const boost::python::error_already_set&) {
|
||||||
// qDebug("error");
|
reportPythonError();
|
||||||
//reportPythonError();
|
}
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void requestFailed(int modID, QVariant userData, const QString &errorMessage)
|
void descriptionAvailable(int modID, QVariant userData, const QVariant resultData)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
if (m_DescriptionAvailableHandler.is_none()) {
|
||||||
|
qCritical("no handler connected");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
GILock lock;
|
||||||
|
m_DescriptionAvailableHandler(modID, userData, resultData);
|
||||||
|
} catch (const boost::python::error_already_set&) {
|
||||||
|
reportPythonError();
|
||||||
|
}
|
||||||
|
} catch (const std::exception &e) {
|
||||||
|
qCritical("failed to report event: %s", e.what());
|
||||||
|
} catch (...) {
|
||||||
|
qCritical("failed to report event");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void fileInfoAvailable(int modID, int fileID, QVariant userData, const QVariant resultData) {
|
||||||
|
try {
|
||||||
|
if (m_FileInfoHandler.is_none()) {
|
||||||
|
qCritical("no handler connected");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
GILock lock;
|
||||||
|
m_FileInfoHandler(modID, fileID, userData, resultData);
|
||||||
|
} catch (const boost::python::error_already_set&) {
|
||||||
|
reportPythonError();
|
||||||
|
}
|
||||||
|
} catch (const std::exception &e) {
|
||||||
|
qCritical("failed to report event: %s", e.what());
|
||||||
|
} catch (...) {
|
||||||
|
qCritical("failed to report event");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void endorsementToggled(int modID, QVariant userData, const QVariant resultData)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
if (m_EndorsementToggledHandler.is_none()) {
|
||||||
|
qCritical("no handler connected");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
GILock lock;
|
||||||
|
m_EndorsementToggledHandler(modID, userData, resultData);
|
||||||
|
} catch (const boost::python::error_already_set&) {
|
||||||
|
reportPythonError();
|
||||||
|
}
|
||||||
|
} catch (const std::exception &e) {
|
||||||
|
qCritical("failed to report event: %s", e.what());
|
||||||
|
} catch (...) {
|
||||||
|
qCritical("failed to report event");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void requestFailed(int modID, int fileID, QVariant userData, const QString &errorMessage)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
GILock lock;
|
GILock lock;
|
||||||
m_FailedHandler(modID, userData, errorMessage);
|
m_FailedHandler(modID, fileID, userData, errorMessage);
|
||||||
} catch (const boost::python::error_already_set&) {
|
} catch (const boost::python::error_already_set&) {
|
||||||
reportPythonError();
|
reportPythonError();
|
||||||
}
|
}
|
||||||
@@ -105,21 +186,20 @@ private:
|
|||||||
|
|
||||||
MOBase::IModRepositoryBridge *m_Wrapped;
|
MOBase::IModRepositoryBridge *m_Wrapped;
|
||||||
boost::python::object m_FilesAvailableHandler;
|
boost::python::object m_FilesAvailableHandler;
|
||||||
|
boost::python::object m_DescriptionAvailableHandler;
|
||||||
|
boost::python::object m_FileInfoHandler;
|
||||||
|
boost::python::object m_EndorsementToggledHandler;
|
||||||
boost::python::object m_FailedHandler;
|
boost::python::object m_FailedHandler;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
struct IOrganizerWrapper: MOBase::IOrganizer, boost::python::wrapper<MOBase::IOrganizer>
|
struct IOrganizerWrapper: MOBase::IOrganizer, boost::python::wrapper<MOBase::IOrganizer>
|
||||||
{
|
{
|
||||||
virtual MOBase::IGameInfo &gameInfo() const {
|
virtual MOBase::IGameInfo &gameInfo() const {
|
||||||
MOBase::IGameInfo *result = this->get_override("gameInfo")();
|
MOBase::IGameInfo *result = this->get_override("gameInfo")();
|
||||||
return *result;
|
return *result;
|
||||||
}
|
}
|
||||||
virtual MOBase::IModRepositoryBridge *createNexusBridge() const {
|
virtual MOBase::IModRepositoryBridge *createNexusBridge() const { return this->get_override("createNexusBridge")(); }
|
||||||
return this->get_override("createNexusBridge")();
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual QString profileName() const { return this->get_override("profileName")(); }
|
virtual QString profileName() const { return this->get_override("profileName")(); }
|
||||||
virtual QString profilePath() const { return this->get_override("profilePath")(); }
|
virtual QString profilePath() const { return this->get_override("profilePath")(); }
|
||||||
virtual QString downloadsPath() const { return this->get_override("downloadsPath")(); }
|
virtual QString downloadsPath() const { return this->get_override("downloadsPath")(); }
|
||||||
@@ -133,15 +213,18 @@ struct IOrganizerWrapper: MOBase::IOrganizer, boost::python::wrapper<MOBase::IOr
|
|||||||
virtual QVariant persistent(const QString &pluginName, const QString &key, const QVariant &def = QVariant()) const { return this->get_override("persistent")(pluginName, key, def); }
|
virtual QVariant persistent(const QString &pluginName, const QString &key, const QVariant &def = QVariant()) const { return this->get_override("persistent")(pluginName, key, def); }
|
||||||
virtual void setPersistent(const QString &pluginName, const QString &key, const QVariant &value, bool sync = true) { this->get_override("setPersistent")(pluginName, key, value, sync); }
|
virtual void setPersistent(const QString &pluginName, const QString &key, const QVariant &value, bool sync = true) { this->get_override("setPersistent")(pluginName, key, value, sync); }
|
||||||
virtual QString pluginDataPath() const { return this->get_override("pluginDataPath")(); }
|
virtual QString pluginDataPath() const { return this->get_override("pluginDataPath")(); }
|
||||||
virtual void installMod(const QString &fileName) { this->get_override("installMod")(fileName); }
|
virtual MOBase::IModInterface *installMod(const QString &fileName) { return this->get_override("installMod")(fileName); }
|
||||||
virtual MOBase::IDownloadManager *downloadManager() { return this->get_override("downloadManager")(); }
|
virtual MOBase::IDownloadManager *downloadManager() { return this->get_override("downloadManager")(); }
|
||||||
virtual MOBase::IPluginList *pluginList() { return this->get_override("pluginList")(); }
|
virtual MOBase::IPluginList *pluginList() { return this->get_override("pluginList")(); }
|
||||||
|
virtual MOBase::IModList *modList() { return this->get_override("modList")(); }
|
||||||
virtual QString resolvePath(const QString &fileName) const { return this->get_override("resolvePath")(fileName); }
|
virtual QString resolvePath(const QString &fileName) const { return this->get_override("resolvePath")(fileName); }
|
||||||
virtual QStringList listDirectories(const QString &directoryName) const { return this->get_override("listDirectories")(directoryName); }
|
virtual QStringList listDirectories(const QString &directoryName) const { return this->get_override("listDirectories")(directoryName); }
|
||||||
virtual QStringList findFiles(const QString &path, const std::function<bool(const QString&)> &filter) const { return this->get_override("findFiles")(path, filter); }
|
virtual QStringList findFiles(const QString &path, const std::function<bool(const QString&)> &filter) const { return this->get_override("findFiles")(path, filter); }
|
||||||
|
virtual QList<FileInfo> findFileInfos(const QString &path, const std::function<bool(const FileInfo&)> &filter) const { return this->get_override("findFileInfos")(path, filter); }
|
||||||
virtual HANDLE startApplication(const QString &executable, const QStringList &args = QStringList(), const QString &cwd = "", const QString &profile = "") { return this->get_override("startApplication")(executable, args, cwd, profile); }
|
virtual HANDLE startApplication(const QString &executable, const QStringList &args = QStringList(), const QString &cwd = "", const QString &profile = "") { return this->get_override("startApplication")(executable, args, cwd, profile); }
|
||||||
|
virtual void refreshModList(bool saveChanges = true) { this->get_override("refreshModList")(saveChanges); }
|
||||||
virtual bool onAboutToRun(const std::function<bool(const QString&)> &func) { return this->get_override("onAboutToRun")(func); }
|
virtual bool onAboutToRun(const std::function<bool(const QString&)> &func) { return this->get_override("onAboutToRun")(func); }
|
||||||
|
virtual bool onModInstalled(const std::function<void(const QString&)> &func) { return this->get_override("onModInstalled")(func); }
|
||||||
};
|
};
|
||||||
|
|
||||||
struct IDownloadManagerWrapper: MOBase::IDownloadManager, boost::python::wrapper<MOBase::IDownloadManager>
|
struct IDownloadManagerWrapper: MOBase::IDownloadManager, boost::python::wrapper<MOBase::IDownloadManager>
|
||||||
@@ -149,8 +232,22 @@ struct IDownloadManagerWrapper: MOBase::IDownloadManager, boost::python::wrapper
|
|||||||
virtual int startDownloadURLs(const QStringList &urls) { return this->get_override("downloadURLs")(urls); }
|
virtual int startDownloadURLs(const QStringList &urls) { return this->get_override("downloadURLs")(urls); }
|
||||||
virtual int startDownloadNexusFile(int modID, int fileID) { return this->get_override("downloadNexusFile")(modID, fileID); }
|
virtual int startDownloadNexusFile(int modID, int fileID) { return this->get_override("downloadNexusFile")(modID, fileID); }
|
||||||
virtual QString downloadPath(int id) { return this->get_override("downloadPath")(id); }
|
virtual QString downloadPath(int id) { return this->get_override("downloadPath")(id); }
|
||||||
private:
|
};
|
||||||
boost::python::object m_DownloadCompleteHandler;
|
|
||||||
|
struct IModRepositoryBridgeWrapper: MOBase::IModRepositoryBridge, boost::python::wrapper<MOBase::IModRepositoryBridge>
|
||||||
|
{
|
||||||
|
virtual void requestDescription(int modID, QVariant userData) { this->get_override("requestDescription")(modID, userData); }
|
||||||
|
virtual void requestFiles(int modID, QVariant userData) { this->get_override("requestFiles")(modID, userData); }
|
||||||
|
virtual void requestFileInfo(int modID, int fileID, QVariant userData) { this->get_override("requestFileInfo")(modID, fileID, userData); }
|
||||||
|
virtual void requestDownloadURL(int modID, int fileID, QVariant userData) { this->get_override("requestDownloadURL")(modID, fileID, userData); }
|
||||||
|
virtual void requestToggleEndorsement(int modID, bool endorse, QVariant userData) { this->get_override("requestToggleEndorsement")(modID, endorse, userData); }
|
||||||
|
};
|
||||||
|
|
||||||
|
struct IInstallationManagerWrapper: MOBase::IInstallationManager, boost::python::wrapper<MOBase::IInstallationManager>
|
||||||
|
{
|
||||||
|
virtual QString extractFile(const QString &fileName) { return this->get_override("extractFile")(fileName); }
|
||||||
|
virtual QStringList extractFiles(const QStringList &files, bool flatten) { return this->get_override("extractFiles")(files, flatten); }
|
||||||
|
virtual MOBase::IPluginInstaller::EInstallResult installArchive(MOBase::GuessedValue<QString> &modName, const QString &archiveFile) { return this->get_override("installArchive")(modName, archiveFile); }
|
||||||
};
|
};
|
||||||
|
|
||||||
struct IGameInfoWrapper: MOBase::IGameInfo, boost::python::wrapper<MOBase::IGameInfo>
|
struct IGameInfoWrapper: MOBase::IGameInfo, boost::python::wrapper<MOBase::IGameInfo>
|
||||||
@@ -160,5 +257,36 @@ struct IGameInfoWrapper: MOBase::IGameInfo, boost::python::wrapper<MOBase::IGame
|
|||||||
virtual QString binaryName() const { return this->get_override("binaryName")(); }
|
virtual QString binaryName() const { return this->get_override("binaryName")(); }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct IModInterfaceWrapper: MOBase::IModInterface, boost::python::wrapper<MOBase::IModInterface>
|
||||||
|
{
|
||||||
|
virtual QString name() const { return this->get_override("name")(); }
|
||||||
|
virtual QString absolutePath() const { return this->get_override("absolutePath")(); }
|
||||||
|
virtual void setVersion(const MOBase::VersionInfo &version) { this->get_override("setVersion")(version); }
|
||||||
|
virtual void setNewestVersion(const MOBase::VersionInfo &version) { this->get_override("setNewestVersion")(version); }
|
||||||
|
virtual void setIsEndorsed(bool endorsed) { this->get_override("setIsEndorsed")(endorsed); }
|
||||||
|
virtual void setNexusID(int nexusID) { this->get_override("setNexusID")(nexusID); }
|
||||||
|
virtual void addNexusCategory(int categoryID) { this->get_override("addNexusCategory")(categoryID); }
|
||||||
|
virtual bool setName(const QString &name) { return this->get_override("setName")(name); }
|
||||||
|
virtual bool remove() { return this->get_override("remove")(); }
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
struct IPluginListWrapper: MOBase::IPluginList, boost::python::wrapper<MOBase::IPluginList> {
|
||||||
|
virtual PluginState state(const QString &name) const { return this->get_override("state")(name); }
|
||||||
|
virtual int priority(const QString &name) const { return this->get_override("priority")(name); }
|
||||||
|
virtual int loadOrder(const QString &name) const { return this->get_override("loadOrder")(name); }
|
||||||
|
virtual bool isMaster(const QString &name) const { return this->get_override("isMaster")(name); }
|
||||||
|
virtual QString origin(const QString &name) const { return this->get_override("origin")(name); }
|
||||||
|
virtual bool onRefreshed(const std::function<void ()> &callback) { return this->get_override("onRefreshed")(callback); }
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
struct IModListWrapper: MOBase::IModList, boost::python::wrapper<MOBase::IModList> {
|
||||||
|
virtual ModStates state(const QString &name) const{ return this->get_override("state")(name); }
|
||||||
|
virtual int priority(const QString &name) const{ return this->get_override("priority")(name); }
|
||||||
|
virtual bool setPriority(const QString &name, int newPriority){ return this->get_override("setPriority")(name, newPriority); }
|
||||||
|
virtual bool onModStateChanged(const std::function<void (const QString &, ModStates)> &func) { return this->get_override("onModStateChanged")(func); }
|
||||||
|
virtual bool onModMoved(const std::function<void (const QString &, int, int)> &func) { return this->get_override("onModMoved")(func); }
|
||||||
|
};
|
||||||
|
|
||||||
#endif // UIBASEWRAPPERS_H
|
#endif // UIBASEWRAPPERS_H
|
||||||
|
|||||||
Reference in New Issue
Block a user