/**************************************************************************** ** ScStw Libraries ** Copyright (C) 2020 Itsblue development ** ** This program is free software: you can redistribute it and/or modify ** it under the terms of the GNU General Public License as published by ** the Free Software Foundation, either version 3 of the License, or ** (at your option) any later version. ** ** This program is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** GNU General Public License for more details. ** ** You should have received a copy of the GNU General Public License ** along with this program. If not, see . ****************************************************************************/ #include "../headers/ScStw.hpp" const char *ScStw::SOCKET_MESSAGE_START_KEY = ""; const char *ScStw::SOCKET_MESSAGE_END_KEY = ""; ScStw::SignalKey ScStw::signalKeyFromInt(int i) { bool ok; ScStw::SignalKey k = ScStw::toEnumValue(i, &ok); if(!ok) return InvalidSignal; else return k; } ScStw::SocketCommand ScStw::socketCommandFromInt(int i) { bool ok; SocketCommand c = ScStw::toEnumValue(i, &ok); if(!ok) return InvalidCommand; else return c; } QString ScStw::extensionTypeToString(ExtensionType t) { switch (t) { case StartPad: return "StartPad"; case TopPad: return "TopPad"; default: return "Invalid"; } } int ScStw::firmwareCompare(QString a, QString b) { /* * * \return -3: major of a is lower than b * -2: minor of a is lower than b * -1: patch of a is lower than b * 0: a and b are identical * 1: patch b is lower than a * 2: minor of b is lower than a * 3: major of b is lower than a */ if(a.count(".") != 2 || a.length() != 5) return -4; int aMajor = a.split(".")[0].toInt(); int aMinor = a.split(".")[1].toInt(); int aPatch = a.split(".")[2].toInt(); if(b.count(".") != 2 || a.length() != 5) return 4; int bMajor = b.split(".")[0].toInt(); int bMinor = b.split(".")[1].toInt(); int bPatch = b.split(".")[2].toInt(); if(a == b) return 0; if(aMajor < bMajor) return -3; else return 3; if(aMinor < bMinor) return -2; else return 2; if(aPatch < bPatch) return -1; else return 1; }