diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2013-12-31 09:25:47 +0100 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2013-12-31 09:25:47 +0100 |
commit | 7bd962db428e403b7e53f9671af313b835f4b858 (patch) | |
tree | a40aa13d1e1ac39040571369f4a66fdb2b4fbf72 /ftnoir_protocol_fg/ftnoir_protocol_fg.h | |
parent | 754c2e6ce637698d8aaf16d5bf05e8185e17b9ef (diff) |
fgfs: use settings framework
Diffstat (limited to 'ftnoir_protocol_fg/ftnoir_protocol_fg.h')
-rw-r--r-- | ftnoir_protocol_fg/ftnoir_protocol_fg.h | 52 |
1 files changed, 21 insertions, 31 deletions
diff --git a/ftnoir_protocol_fg/ftnoir_protocol_fg.h b/ftnoir_protocol_fg/ftnoir_protocol_fg.h index 0a255d84..13aaeab4 100644 --- a/ftnoir_protocol_fg/ftnoir_protocol_fg.h +++ b/ftnoir_protocol_fg/ftnoir_protocol_fg.h @@ -26,9 +26,6 @@ * It is based on the (Linux) example made by Melchior FRANZ. * ********************************************************************************/ #pragma once -#ifndef INCLUDED_FGSERVER_H -#define INCLUDED_FGSERVER_H - #include "ftnoir_protocol_base/ftnoir_protocol_base.h" #include "ui_ftnoir_fgcontrols.h" #include "fgtypes.h" @@ -36,23 +33,36 @@ #include <QUdpSocket> #include <QMessageBox> #include "facetracknoir/global-settings.h" +#include "facetracknoir/options.hpp" +using namespace options; + +struct settings { + pbundle b; + value<int> ip1, ip2, ip3, ip4; + value<int> port; + settings() : + b(bundle("flightgear-proto")), + ip1(b, "ip1", 192), + ip2(b, "ip2", 168), + ip3(b, "ip3", 0), + ip4(b, "ip4", 2), + port(b, "port", 5542) + {} +}; class FTNoIR_Protocol : public IProtocol { public: - FTNoIR_Protocol(); - virtual ~FTNoIR_Protocol(); bool checkServerInstallationOK(); void sendHeadposeToGame(const double *headpose); QString getGameName() { return "FlightGear"; } + void reloadSettings(); private: + settings s; TFlightGearData FlightData; - QUdpSocket outSocket; // Send to FligthGear - QHostAddress destIP; // Destination IP-address - int destPort; // Destination port-number - void loadSettings(); + QUdpSocket outSocket; }; // Widget that has controls for FTNoIR protocol client-settings. @@ -60,47 +70,27 @@ class FGControls: public QWidget, public IProtocolDialog { Q_OBJECT public: - - explicit FGControls(); + FGControls(); void registerProtocol(IProtocol *protocol) { theProtocol = (FTNoIR_Protocol *) protocol; // Accept the pointer to the Protocol } void unRegisterProtocol() { theProtocol = NULL; // Reset the pointer } - private: Ui::UICFGControls ui; - void loadSettings(); - void save(); - - /** helper **/ - bool settingsDirty; FTNoIR_Protocol *theProtocol; - + settings s; private slots: void doOK(); void doCancel(); - void chkLocalPCOnlyChanged(); - void settingChanged() { settingsDirty = true; } }; -//******************************************************************************************************* -// FaceTrackNoIR Protocol DLL. Functions used to get general info on the Protocol -//******************************************************************************************************* class FTNoIR_ProtocolDll : public Metadata { public: - FTNoIR_ProtocolDll(); - ~FTNoIR_ProtocolDll(); - void getFullName(QString *strToBeFilled) { *strToBeFilled = QString("FlightGear"); } void getShortName(QString *strToBeFilled) { *strToBeFilled = QString("FlightGear"); } void getDescription(QString *strToBeFilled) { *strToBeFilled = QString("FlightGear UDP protocol"); } - void getIcon(QIcon *icon) { *icon = QIcon(":/images/flightgear.png"); } }; - - -#endif//INCLUDED_FGSERVER_H -//END |