summaryrefslogtreecommitdiffhomepage
path: root/logic/state.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'logic/state.hpp')
-rw-r--r--logic/state.hpp25
1 files changed, 16 insertions, 9 deletions
diff --git a/logic/state.hpp b/logic/state.hpp
index 25205524..7fc06a5c 100644
--- a/logic/state.hpp
+++ b/logic/state.hpp
@@ -12,21 +12,28 @@
#include "api/plugin-support.hpp"
#include "main-settings.hpp"
#include "mappings.hpp"
-#include "extensions.hpp"
#include "work.hpp"
-#include <vector>
+#include "export.hpp"
+
+#include <memory>
#include <QString>
-struct State
+struct OTR_LOGIC_EXPORT State
{
- State(const QString& library_path) :
- modules(library_path),
- ev(modules.extensions()),
- pose(s.all_axis_opts)
- {}
+ using dylib_ptr = Modules::dylib_ptr;
+ using dylib_list = Modules::dylib_list;
+
+ explicit State(const QString& library_path);
+ static std::tuple<dylib_ptr, int> module_by_name(const QString& name, dylib_list& list);
+
+ dylib_ptr current_tracker();
+ dylib_ptr current_protocol();
+ dylib_ptr current_filter();
+
Modules modules;
- event_handler ev;
main_settings s;
+ module_settings m;
Mappings pose;
std::shared_ptr<Work> work;
+ QString library_path;
};