#ifndef SCSTW_HPP #define SCSTW_HPP #include #include /** * @mainpage ScStw Libraries documentation * * @section intro_sec Introduction * * This library is meant for usage with the Speed climbing stopwatch project. * It contains some helper classes to build a client application for the ScStw basestation with Qt. * * @section section Installation * @code{.sh} * cd yourRepo * git submodule add https://git.itsblue.de/ScStw/shared-libraries/ * git submodule update --init --recursive * @endcode * * Add to the list of libraries for the Qt-Secret assembly. For an example you can create Main.Pro in which connect Qt-Secret and your project.pro files as subprojects. * * Main.pro: * @code{.pro} * TEMPLATE = subdirs * CONFIG += ordered * * SUBDIRS += \ * ScStwLibraries \ * MyProject * * ScStwLibraries.file = shared-libraries/ScStwLibraries/ScStwLibraries.pro * @endcode * * And in your MyProject.pro include the .pri file * @code{.pro} * include($$PWD/../shared-libraries/ScStwLibraries/ScStwLibraries.pri) * @endcode */ /** * @brief The ScStw class provides some shared functions and enums for use in the ScStw project. */ class ScStw : public QObject { Q_OBJECT public: /** * Some global enums */ enum RaceState { IDLE, STARTING, WAITING, RUNNING, STOPPED }; Q_ENUM(RaceState) enum SignalKey { InvalidSignal = -1, RaceStateChanged = 9000, TimersChanged = 9001, ExtensionsChanged = 9002, NextStartActionChanged = 9003 /*, ProfilesChanged*/ }; Q_ENUM(SignalKey) enum NextStartAction { AtYourMarks, Ready, Start, None }; Q_ENUM(NextStartAction) enum BaseStationSetting { InvalidSetting = -1, ReadySoundEnableSetting, ReadySoundDelaySetting, AtYourMarksSoundEnableSetting, AtYourMarksSoundDelaySetting, SoundVolumeSetting }; Q_ENUM(BaseStationSetting) enum ErrorCode { Success = 200, Error = 900, NotConnectedError = 910, TimeoutError = 911, SettingNotAccessibleError = 901 }; Q_ENUM(ErrorCode) static const char* SOCKET_MESSAGE_START_KEY; static const char* SOCKET_MESSAGE_END_KEY; static const QMap 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) {}; }; #endif // SCSTW_HPP