summaryrefslogtreecommitdiffhomepage
path: root/logic/state.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'logic/state.hpp')
-rw-r--r--logic/state.hpp22
1 files changed, 15 insertions, 7 deletions
diff --git a/logic/state.hpp b/logic/state.hpp
index c400df18..abce1daf 100644
--- a/logic/state.hpp
+++ b/logic/state.hpp
@@ -14,19 +14,27 @@
#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
{
- explicit 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;
};