diff --git a/src/mobase/wrappers/basic_classes.cpp b/src/mobase/wrappers/basic_classes.cpp index 7e74d0f..59fde61 100644 --- a/src/mobase/wrappers/basic_classes.cpp +++ b/src/mobase/wrappers/basic_classes.cpp @@ -14,6 +14,8 @@ #include #include #include +#include +#include #include #include #include @@ -644,6 +646,8 @@ namespace mo2::python { .def("virtualFileTree", &IOrganizer::virtualFileTree) + .def("instanceManager", &IOrganizer::instanceManager, + py::return_value_policy::reference) .def("downloadManager", &IOrganizer::downloadManager, py::return_value_policy::reference) .def("pluginList", &IOrganizer::pluginList, @@ -799,6 +803,20 @@ namespace mo2::python { .def_static("getPluginDataPath", &IOrganizer::getPluginDataPath); } + void add_iinstance_manager_classes(py::module_ m) + { + py::class_>(m, "IInstance") + .def("displayName", &IInstance::displayName) + .def("gameName", &IInstance::gameName) + .def("gameDirectory", &IInstance::gameDirectory) + .def("isPortable", &IInstance::isPortable); + + py::class_(m, "IInstanceManager") + .def("currentInstance", &IInstanceManager::currentInstance, + py::return_value_policy::reference) + .def("globalInstancePaths", &IInstanceManager::globalInstancePaths); + } + void add_idownload_manager_classes(py::module_ m) { py::class_(m, "IDownloadManager") @@ -925,6 +943,7 @@ namespace mo2::python { add_ipluginlist_classes(m); add_imodlist_classes(m); + add_iinstance_manager_classes(m); add_idownload_manager_classes(m); add_iinstallation_manager_classes(m); add_iorganizer_classes(m); diff --git a/tests/mocks/MockOrganizer.h b/tests/mocks/MockOrganizer.h index 39214e0..3ccfa3c 100644 --- a/tests/mocks/MockOrganizer.h +++ b/tests/mocks/MockOrganizer.h @@ -34,6 +34,7 @@ class MockOrganizer : public IOrganizer { MOCK_METHOD(QStringList, getFileOrigins, (const QString &fileName) ,(const, override)); MOCK_METHOD(QList, findFileInfos, (const QString &path, const std::function &filter), (const, override)); MOCK_METHOD(std::shared_ptr, virtualFileTree, (), (const, override)); + MOCK_METHOD(MOBase::IInstanceManager*, instanceManager, (), (const, override)); MOCK_METHOD(MOBase::IDownloadManager*, downloadManager, (), (const, override)); MOCK_METHOD(MOBase::IPluginList*, pluginList, (), (const, override)); MOCK_METHOD(MOBase::IModList*, modList, (), (const, override));