diff options
Diffstat (limited to 'proto-ft/ftnoir_protocol_ft.h')
-rwxr-xr-x[-rw-r--r--] | proto-ft/ftnoir_protocol_ft.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/proto-ft/ftnoir_protocol_ft.h b/proto-ft/ftnoir_protocol_ft.h index 9cf16f03..8940e5d8 100644..100755 --- a/proto-ft/ftnoir_protocol_ft.h +++ b/proto-ft/ftnoir_protocol_ft.h @@ -21,6 +21,8 @@ #include "opentrack-compat/shm.h" #include "opentrack-compat/options.hpp" #include "freetrackclient/fttypes.h" +#include <memory> + using namespace options; struct settings : opts { @@ -36,6 +38,15 @@ struct settings : opts { typedef void (__stdcall *importTIRViewsStart)(void); typedef void (__stdcall *importTIRViewsStop)(void); +// for runonce, see mutex.cpp +struct runonce +{ + virtual void try_runonce() = 0; + virtual void try_exit() = 0; + virtual bool is_first_run() = 0; + virtual ~runonce() {} +}; + class FTNoIR_Protocol : public IProtocol { public: @@ -61,9 +72,14 @@ private: QString connected_game; QMutex game_name_mutex; + static std::unique_ptr<runonce> runonce_check; + static inline double getRadsFromDegrees(double degrees) { return degrees * 0.017453; } void start_tirviews(); void start_dummy(); + +public: + static void set_protocols(bool ft, bool npclient); }; class FTControls: public IProtocolDialog |