summaryrefslogtreecommitdiffhomepage
path: root/proto-ft/ftnoir_protocol_ft.h
diff options
context:
space:
mode:
Diffstat (limited to 'proto-ft/ftnoir_protocol_ft.h')
-rwxr-xr-x[-rw-r--r--]proto-ft/ftnoir_protocol_ft.h16
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