diff options
Diffstat (limited to 'logic/state.hpp')
| -rw-r--r-- | logic/state.hpp | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/logic/state.hpp b/logic/state.hpp index f5892557..7fc06a5c 100644 --- a/logic/state.hpp +++ b/logic/state.hpp @@ -9,22 +9,31 @@ #pragma once #include "options/options.hpp" -using namespace options; #include "api/plugin-support.hpp" #include "main-settings.hpp" #include "mappings.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), - pose(std::vector<axis_opts*>{&s.a_x, &s.a_y, &s.a_z, &s.a_yaw, &s.a_pitch, &s.a_roll}) - {} + 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; main_settings s; + module_settings m; Mappings pose; - mem<Work> work; + std::shared_ptr<Work> work; + QString library_path; }; |
