added some converter functions
This commit is contained in:
parent
b752bdeed2
commit
a9e9e4fd0f
2 changed files with 50 additions and 0 deletions
|
@ -2,3 +2,40 @@
|
|||
|
||||
const char *ScStw::SOCKET_MESSAGE_START_KEY = "<message>";
|
||||
const char *ScStw::SOCKET_MESSAGE_END_KEY = "</message>";
|
||||
|
||||
const QMap<QString, ScStw::BaseStationSetting> ScStw::baseStationSettings = {
|
||||
{"ReadySoundEnable", ScStw::ReadySoundEnableSetting},
|
||||
{"ReadySoundDelay", ScStw::ReadySoundDelaySetting},
|
||||
{"AtYourMarksSoundEnable", ScStw::AtYourMarksSoundEnableSetting},
|
||||
{"AtYourMarksSoundDelay", ScStw::AtYourMarksSoundDelaySetting},
|
||||
{"SoundVolume", ScStw::SoundVolumeSetting}
|
||||
};
|
||||
|
||||
ScStw::BaseStationSetting ScStw::baseStationSettingFromString(QString s) {
|
||||
if(!ScStw::baseStationSettings.contains(s))
|
||||
return ScStw::InvalidSetting;
|
||||
|
||||
return ScStw::baseStationSettings[s];
|
||||
}
|
||||
|
||||
QString ScStw::baseStationSettingToString(ScStw::BaseStationSetting s) {
|
||||
for(QString key: ScStw::baseStationSettings.keys()) {
|
||||
if(ScStw::baseStationSettings[key] == s)
|
||||
return key;
|
||||
}
|
||||
return "Invalid";
|
||||
}
|
||||
|
||||
ScStw::BaseStationSetting ScStw::baseStationSettingfromInt(int i) {
|
||||
if(i < 0 || i > 4)
|
||||
return InvalidSetting;
|
||||
else
|
||||
return BaseStationSetting(i);
|
||||
}
|
||||
|
||||
ScStw::SignalKey ScStw::signalKeyFromInt(int i) {
|
||||
if(i < 9000 || i > 9003)
|
||||
return InvalidSignal;
|
||||
else
|
||||
return SignalKey(i);
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#define SCSTW_HPP
|
||||
|
||||
#include <QObject>
|
||||
#include <QMap>
|
||||
|
||||
class ScStw : public QObject {
|
||||
Q_OBJECT
|
||||
|
@ -14,6 +15,7 @@ public:
|
|||
Q_ENUM(RaceState)
|
||||
|
||||
enum SignalKey {
|
||||
InvalidSignal = -1,
|
||||
RaceStateChanged = 9000,
|
||||
TimersChanged = 9001,
|
||||
ExtensionsChanged = 9002,
|
||||
|
@ -25,6 +27,7 @@ public:
|
|||
Q_ENUM(NextStartAction)
|
||||
|
||||
enum BaseStationSetting {
|
||||
InvalidSetting = -1,
|
||||
ReadySoundEnableSetting,
|
||||
ReadySoundDelaySetting,
|
||||
AtYourMarksSoundEnableSetting,
|
||||
|
@ -46,6 +49,16 @@ public:
|
|||
static const char* SOCKET_MESSAGE_START_KEY;
|
||||
static const char* SOCKET_MESSAGE_END_KEY;
|
||||
|
||||
static const QMap<QString, ScStw::BaseStationSetting> baseStationSettings;
|
||||
|
||||
static BaseStationSetting baseStationSettingfromInt(int i);
|
||||
|
||||
static BaseStationSetting baseStationSettingFromString(QString s);
|
||||
|
||||
static QString baseStationSettingToString(BaseStationSetting s);
|
||||
|
||||
static SignalKey signalKeyFromInt(int i);
|
||||
|
||||
private:
|
||||
ScStw() : QObject(nullptr) {};
|
||||
};
|
||||
|
|
Reference in a new issue