diff options
Diffstat (limited to 'protocol-wine/ftnoir_protocol_wine.h')
-rw-r--r-- | protocol-wine/ftnoir_protocol_wine.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/protocol-wine/ftnoir_protocol_wine.h b/protocol-wine/ftnoir_protocol_wine.h new file mode 100644 index 00000000..2aeb4608 --- /dev/null +++ b/protocol-wine/ftnoir_protocol_wine.h @@ -0,0 +1,57 @@ +#pragma once + +#include "ui_ftnoir_winecontrols.h" +#include <QMessageBox> +#include <QLibrary> +#include <QProcess> +#include <QDebug> +#include <QMutex> +#include <QMutexLocker> +#include <QFile> +#include "opentrack/plugin-api.hpp" +#include "opentrack-compat/shm.h" +#include "ftnoir_protocol_wine/wine-shm.h" + +class FTNoIR_Protocol : public IProtocol +{ +public: + FTNoIR_Protocol(); + ~FTNoIR_Protocol() override; + + bool correct() override; + void pose(const double* headpose) override; + QString game_name() override { + QMutexLocker foo(&game_name_mutex); + return connected_game; + } +private: + PortableLockedShm lck_shm; + WineSHM* shm; + QProcess wrapper; + int gameid; + QString connected_game; + QMutex game_name_mutex; +}; + +class FTControls: public IProtocolDialog +{ + Q_OBJECT +public: + FTControls(); + void register_protocol(IProtocol *) override {} + void unregister_protocol() override {} + +private: + Ui::UICFTControls ui; + +private slots: + void doOK(); + void doCancel(); +}; + +class FTNoIR_ProtocolDll : public Metadata +{ +public: + QString name() override { return QString("Wine -- Windows layer for Unix"); } + QIcon icon() override { return QIcon(":/images/wine.png"); } +}; |