shared-libraries/classScStw.html

493 lines
33 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>ScStw class | ScStw shared libraries</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400i,600,600i%7CSource+Code+Pro:400,400i,600" />
<link rel="stylesheet" href="m-dark+documentation.compiled.css" />
<link rel="icon" href="favicon.png" type="image/png" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="theme-color" content="#0094ff" />
</head>
<body>
<header><nav id="navigation">
<div class="m-container">
<div class="m-row">
<a href="index.html" id="m-navbar-brand" class="m-col-t-8 m-col-m-none m-left-m"><img src="favicon.png" alt="" />ScStw shared libraries</a>
<div class="m-col-t-4 m-hide-m m-text-right m-nopadr">
<a href="#search" class="m-doc-search-icon" title="Search" onclick="return showSearch()"><svg style="height: 0.9rem;" viewBox="0 0 16 16">
<path id="m-doc-search-icon-path" d="m6 0c-3.31 0-6 2.69-6 6 0 3.31 2.69 6 6 6 1.49 0 2.85-0.541 3.89-1.44-0.0164 0.338 0.147 0.759 0.5 1.15l3.22 3.79c0.552 0.614 1.45 0.665 2 0.115 0.55-0.55 0.499-1.45-0.115-2l-3.79-3.22c-0.392-0.353-0.812-0.515-1.15-0.5 0.895-1.05 1.44-2.41 1.44-3.89 0-3.31-2.69-6-6-6zm0 1.56a4.44 4.44 0 0 1 4.44 4.44 4.44 4.44 0 0 1-4.44 4.44 4.44 4.44 0 0 1-4.44-4.44 4.44 4.44 0 0 1 4.44-4.44z"/>
</svg></a>
<a id="m-navbar-show" href="#navigation" title="Show navigation"></a>
<a id="m-navbar-hide" href="#" title="Hide navigation"></a>
</div>
<div id="m-navbar-collapse" class="m-col-t-12 m-show-m m-col-m-none m-right-m">
<div class="m-row">
<ol class="m-col-t-6 m-col-m-none">
</ol>
<ol class="m-col-t-6 m-col-m-none" start="1">
<li><a href="index.html">Introduction</a></li>
<li><a href="annotated.html">Classes</a></li>
<li><a href="refman.pdf">Download</a></li>
<li class="m-show-m"><a href="#search" class="m-doc-search-icon" title="Search" onclick="return showSearch()"><svg style="height: 0.9rem;" viewBox="0 0 16 16">
<use href="#m-doc-search-icon-path" />
</svg></a></li>
</ol>
</div>
</div>
</div>
</div>
</nav></header>
<main><article>
<div class="m-container m-container-inflatable">
<div class="m-row">
<div class="m-col-l-10 m-push-l-1">
<h1>
ScStw <span class="m-thin">class</span>
</h1>
<p>The <a href="classScStw.html" class="m-doc">ScStw</a> class provides some shared functions and enums for use in the <a href="classScStw.html" class="m-doc">ScStw</a> project.</p>
<nav class="m-block m-default">
<h3>Contents</h3>
<ul>
<li>
Reference
<ul>
<li><a href="#pub-types">Public types</a></li>
<li><a href="#pub-static-attribs">Public static variables</a></li>
<li><a href="#pub-static-methods">Public static functions</a></li>
</ul>
</li>
</ul>
</nav>
<section id="pub-types">
<h2><a href="#pub-types">Public types</a></h2>
<dl class="m-doc">
<dt>
<span class="m-doc-wrap-bumper">enum <a href="#ae1e6a4063ef25e60b06a96be66ae98f5" class="m-doc">SignalKey</a> { </span><span class="m-doc-wrap"><a href="#ae1e6a4063ef25e60b06a96be66ae98f5af668e8ab065c88986e8d4834f2665a8c" class="m-doc">InvalidSignal</a> = -1,
<a href="#ae1e6a4063ef25e60b06a96be66ae98f5aa80ebf1833d97d5832995b1ce5a1da58" class="m-doc">RaceStateChanged</a> = 9000,
<a href="#ae1e6a4063ef25e60b06a96be66ae98f5a47d5c3b737a67c16a5a3b3838b1c8c78" class="m-doc">TimersChanged</a> = 9001,
<a href="#ae1e6a4063ef25e60b06a96be66ae98f5a0a0771bdd0619fc4295043b9d434a05a" class="m-doc">ExtensionsChanged</a> = 9002,
<a href="#ae1e6a4063ef25e60b06a96be66ae98f5a58605207be6190ba18724d7ba9eb9b0f" class="m-doc">CurrentStartDelayChanged</a> = 9003,
<a href="#ae1e6a4063ef25e60b06a96be66ae98f5a8e3e0a2a19fce2e083db110623a1328a" class="m-doc">SettingChanged</a> = 9004,
<a href="#ae1e6a4063ef25e60b06a96be66ae98f5ac63926de40b326c3bbdc7d2769095238" class="m-doc">RaceDetailsChanged</a> = 9005 }</span>
</dt>
<dd>The SignalKey enum contains all signal keys a client can subscribe to.</dd>
<dt>
<span class="m-doc-wrap-bumper">enum <a href="#a5423a0a57d880d1f3869b81c2c31435d" class="m-doc">SocketCommand</a> { </span><span class="m-doc-wrap"><a href="#a5423a0a57d880d1f3869b81c2c31435daa8175df1ad5271c45ceb9728c78b4781" class="m-doc">InvalidCommand</a> = -1,
<a href="#a5423a0a57d880d1f3869b81c2c31435da89eca4261bb918b66c86aac4cd54b974" class="m-doc">InitializeSessionCommand</a> = 1,
<a href="#a5423a0a57d880d1f3869b81c2c31435da2e9071f19d6c4323c3e63c230f181915" class="m-doc">StartRaceCommand</a> = 1000,
<a href="#a5423a0a57d880d1f3869b81c2c31435daa610e783673fe122b0d2aa475e2a59eb" class="m-doc">StopRaceCommand</a> = 1001,
<a href="#a5423a0a57d880d1f3869b81c2c31435da54bb9a3f594fc242fb13f67cdd959ecc" class="m-doc">ResetRaceCommand</a> = 1002,
<a href="#a5423a0a57d880d1f3869b81c2c31435da56ceaf707e56ed71d5ad76d2a006d699" class="m-doc">CancelRaceCommand</a> = 1003,
<a href="#a5423a0a57d880d1f3869b81c2c31435dabbb46bc1d8a0da3def761bbe0b3a6a8b" class="m-doc">SetTimerDisabledCommand</a> = 1004,
<a href="#a5423a0a57d880d1f3869b81c2c31435da4feff580b736bf76918a1679b20ef09b" class="m-doc">GetRaceStateCommand</a> = 2000,
<a href="#a5423a0a57d880d1f3869b81c2c31435da0b0811d7d9da70db64c721e0428e1ed8" class="m-doc">GetRaceDetailsCommand</a> = 2001,
<a href="#a5423a0a57d880d1f3869b81c2c31435dacc68f94afda8dd51d214ea72de8f35d9" class="m-doc">GetExtensionsCommand</a> = 2006,
<a href="#a5423a0a57d880d1f3869b81c2c31435dad2ebce11c93924f366c3db2fba4a70eb" class="m-doc">GetTimersCommand</a> = 2007,
<a href="#a5423a0a57d880d1f3869b81c2c31435dac2fc21420cf257d4ee8544ee7ff2c5da" class="m-doc">GetCurrentStartDelayCommand</a> = 2009,
<a href="#a5423a0a57d880d1f3869b81c2c31435da7dfdefe46bb07e4f61a109071cd514f0" class="m-doc">WriteSettingCommand</a> = 3000,
<a href="#a5423a0a57d880d1f3869b81c2c31435da9b21491ad5679551564117fdd8037dfa" class="m-doc">ReadSettingCommand</a> = 3001,
<a href="#a5423a0a57d880d1f3869b81c2c31435da0cd9075af5093deb2440ae88153b8710" class="m-doc">LoginAthleteCommand</a> = 4000,
<a href="#a5423a0a57d880d1f3869b81c2c31435dad8ee0cacc4af2fca0fed7df86cdb9d7b" class="m-doc">CreateAthleteCommand</a> = 4001,
<a href="#a5423a0a57d880d1f3869b81c2c31435daefd2ac3fd192ce7301aa92ec9bfffd91" class="m-doc">DeleteAthleteCommand</a> = 4002,
<a href="#a5423a0a57d880d1f3869b81c2c31435da1e70a71892186a0fdf75776a3436830a" class="m-doc">GetAtheletesCommand</a> = 4003,
<a href="#a5423a0a57d880d1f3869b81c2c31435da7d41c99c0143ba83183d4d125c026937" class="m-doc">GetAthleteResultsCommand</a> = 4004,
<a href="#a5423a0a57d880d1f3869b81c2c31435da7baee66c53c8db6428cfe9b920db0068" class="m-doc">UpdateFirmwareCommand</a> = 5000,
<a href="#a5423a0a57d880d1f3869b81c2c31435dab569d653ad233358e01a5a9feffe992d" class="m-doc">UpdateSystemTimeCommand</a> = 5001,
<a href="#a5423a0a57d880d1f3869b81c2c31435da694deb2480537d40ad462b150f14b367" class="m-doc">PairExtensionsCommand</a> = 5002 }</span>
</dt>
<dd>The SocketCommand enum contains all commands the base station can handle.</dd>
<dt>
<span class="m-doc-wrap-bumper">enum <a href="#ad0a329ddc142cab81bc98e0d40d32068" class="m-doc">StatusCode</a> { </span><span class="m-doc-wrap"><a href="#ad0a329ddc142cab81bc98e0d40d32068ac90bc44b984e9b18f2a0502aaeadbc70" class="m-doc">Success</a> = 200,
<a href="#ad0a329ddc142cab81bc98e0d40d32068a8c5d88049fa4b6772f45334aaaea7ed8" class="m-doc">FirmwareAlreadyUpToDateInfo</a> = 304,
<a href="#ad0a329ddc142cab81bc98e0d40d32068a1402c3028428a1014af069ce5a1b5e5a" class="m-doc">AccessDeniedError</a> = 401,
<a href="#ad0a329ddc142cab81bc98e0d40d32068a38ceb962d98837024c73f7c1ff892650" class="m-doc">UpdateSignatureInvalidError</a> = 402,
<a href="#ad0a329ddc142cab81bc98e0d40d32068ae66e653e8758f291409a03a2e594fb66" class="m-doc">CurrentStateNotVaildForOperationError</a> = 403,
<a href="#ad0a329ddc142cab81bc98e0d40d32068a88cd97a3c92c7827347d838c290a1d1a" class="m-doc">CommandNotFoundError</a> = 404,
<a href="#ad0a329ddc142cab81bc98e0d40d32068afc606bfc04e661c0f3322918d5971b8e" class="m-doc">RequiredParameterNotGivenError</a> = 405,
<a href="#ad0a329ddc142cab81bc98e0d40d32068a3dbfdee6e7375265d4d368da015fff6a" class="m-doc">TimestampTooSmallError</a> = 406,
<a href="#ad0a329ddc142cab81bc98e0d40d32068a4adf2bcdb8d85a40dfa6186b2dc636d8" class="m-doc">ClientSessionAlreadyActiveError</a> = 407,
<a href="#ad0a329ddc142cab81bc98e0d40d32068a295c2b1f44a6f1791df9e62c5e4f09b6" class="m-doc">NoSessionActiveError</a> = 408,
<a href="#ad0a329ddc142cab81bc98e0d40d32068ad8022967fadac3af0477abeb94eefba6" class="m-doc">ItemNotFoundError</a> = 409,
<a href="#ad0a329ddc142cab81bc98e0d40d32068a67a867bdb5323675c8971d506f322dd9" class="m-doc">LastTimerCannotBeDisabledError</a> = 410,
<a href="#ad0a329ddc142cab81bc98e0d40d32068a9856621699e04ac7e336411c34769ef2" class="m-doc">UpdateFailedError</a> = 500,
<a href="#ad0a329ddc142cab81bc98e0d40d32068ad0bcc0ff858abd7ebcf6842662fdad28" class="m-doc">Error</a> = 900,
<a href="#ad0a329ddc142cab81bc98e0d40d32068a8b76f1bc500981c49d4bf1880b02e7cd" class="m-doc">NotConnectedError</a> = 910,
<a href="#ad0a329ddc142cab81bc98e0d40d32068a5f7d9a63e9b48a1f4ca4f212de3998e5" class="m-doc">TimeoutError</a> = 911,
<a href="#ad0a329ddc142cab81bc98e0d40d32068a18b1139de766f9ae6aab6fddb5f2e3f4" class="m-doc">SettingNotAccessibleError</a> = 901,
<a href="#ad0a329ddc142cab81bc98e0d40d32068a4238fbecbd83ec9d9d88503274a4fc55" class="m-doc">InternalError</a> = 950,
<a href="#ad0a329ddc142cab81bc98e0d40d32068a98e06a2ac920230686410995bfb52071" class="m-doc">InternalErrorTimerOperationFailed</a> = 951,
<a href="#ad0a329ddc142cab81bc98e0d40d32068a6983d437713d173257ac8ba9e59a21a1" class="m-doc">ApiVersionNotSupportedError</a> = 952,
<a href="#ad0a329ddc142cab81bc98e0d40d32068aa09b339c976ac6155e57482213b0dacc" class="m-doc">CompetitionModeProhibitsThisError</a> = 953,
<a href="#ad0a329ddc142cab81bc98e0d40d32068afe579c343439c557042b405213c0a767" class="m-doc">FirmwareUpdateFormatInvalidError</a> = 954,
<a href="#ad0a329ddc142cab81bc98e0d40d32068a98d7b4970249f97e6063e98894310fe3" class="m-doc">TimersNotReadyError</a> = 501 }</span>
</dt>
<dd>The ErrorCode enum contains all error codes that can occur when sending a command to the basestation.</dd>
<dt id="afb007a099c165449761afaed23a54c45">
<span class="m-doc-wrap-bumper">enum <a href="#afb007a099c165449761afaed23a54c45" class="m-doc-self">ExtensionType</a> { </span><span class="m-doc-wrap"><a href="#afb007a099c165449761afaed23a54c45a11143192831b8c7c1561b7a5fe49c73b" class="m-doc">StartPad</a>,
<a href="#afb007a099c165449761afaed23a54c45af805ee1d649fb700b311d78a539de5d0" class="m-doc">TopPad</a> }</span>
</dt>
<dd>The ExtensionType enum contains all types of extensions.</dd>
<dt id="a45d2f89b38509f9249c62fcf8615a5e4">
<span class="m-doc-wrap-bumper">enum <a href="#a45d2f89b38509f9249c62fcf8615a5e4" class="m-doc-self">ExtensionState</a> { </span><span class="m-doc-wrap"><a href="#a45d2f89b38509f9249c62fcf8615a5e4ad4bc7e3ba3f8b4bb17565f5c09d0e923" class="m-doc">ExtensionDisconnected</a> = 0,
<a href="#a45d2f89b38509f9249c62fcf8615a5e4ac5e22f94e3075e4f2b42079acee12af0" class="m-doc">ExtensionConnecting</a> = 1,
<a href="#a45d2f89b38509f9249c62fcf8615a5e4a33849788f83325582fed003b0c5cdd53" class="m-doc">ExtensionInitialising</a> = 2,
<a href="#a45d2f89b38509f9249c62fcf8615a5e4a61b99a659b183161287cc5871dacd49c" class="m-doc">ExtensionConnected</a> = 3 }</span>
</dt>
<dd>The ExtensionState enum contains all possible states of an extension.</dd>
<dt id="a834ac2b3f360fa60c7c4ff595901872b">
<span class="m-doc-wrap-bumper">enum <a href="#a834ac2b3f360fa60c7c4ff595901872b" class="m-doc-self">ExtensionBatteryState</a> { </span><span class="m-doc-wrap"><a href="#a834ac2b3f360fa60c7c4ff595901872ba52242d1e8319f37044fc08462c833dab" class="m-doc">BatteryUnknown</a> = -1,
<a href="#a834ac2b3f360fa60c7c4ff595901872ba97904f100f4fe2ced6aad97c28b7e19e" class="m-doc">BatteryCritical</a> = 0,
<a href="#a834ac2b3f360fa60c7c4ff595901872ba80c048b281765407456f0d95134b033f" class="m-doc">BatteryWarning</a> = 1,
<a href="#a834ac2b3f360fa60c7c4ff595901872ba24ae0b56e578f11fb248920033b319c5" class="m-doc">BatteryFine</a> = 2,
<a href="#a834ac2b3f360fa60c7c4ff595901872ba0852dfdec85e155f5def253a26ce9264" class="m-doc">BatteryCharging</a> = 3,
<a href="#a834ac2b3f360fa60c7c4ff595901872ba5d94a347cddac0a18dd2e017ffd903ed" class="m-doc">BatteryNotCharging</a> = 4 }</span>
</dt>
<dd>The ExtensionBatteryState enum contains all possible battery states of an extension.</dd>
<dt id="a7311db682ac8e761198339dd5ba53d44">
<span class="m-doc-wrap-bumper">enum <a href="#a7311db682ac8e761198339dd5ba53d44" class="m-doc-self">PadState</a> { </span><span class="m-doc-wrap"><a href="#a7311db682ac8e761198339dd5ba53d44acb5fd37b5f8d10eb23270d8c346e9c77" class="m-doc">PadNotPressed</a> = 0,
<a href="#a7311db682ac8e761198339dd5ba53d44a251d1dab4490f91a2e42fa54d1fb71b8" class="m-doc">PadPressed</a> = 1 }</span>
</dt>
<dd>The PadState enum contains whether a pad is currently pressed or not.</dd>
</dl>
</section>
<section id="pub-static-attribs">
<h2><a href="#pub-static-attribs">Public static variables</a></h2>
<dl class="m-doc">
<dt id="a55de84e3e91a8e3834a629ed7eb805a7">
static const char* <a href="#a55de84e3e91a8e3834a629ed7eb805a7" class="m-doc-self">SOCKET_MESSAGE_START_KEY</a>
</dt>
<dd>SOCKET_MESSAGE_START_KEY contains the key, a message is supposed to start with.</dd>
<dt id="a8c677bb34fc8286af58b4ace13cf8c89">
static const char* <a href="#a8c677bb34fc8286af58b4ace13cf8c89" class="m-doc-self">SOCKET_MESSAGE_END_KEY</a>
</dt>
<dd>SOCKET_MESSAGE_END_KEY contains the key, a message is supposed to end with.</dd>
</dl>
</section>
<section id="pub-static-methods">
<h2><a href="#pub-static-methods">Public static functions</a></h2>
<dl class="m-doc">
<dt>
<span class="m-doc-wrap-bumper">static auto <a href="#a781770df5498946a23e1d91613c6c5e7" class="m-doc">signalKeyFromInt</a>(</span><span class="m-doc-wrap">int i) -&gt; <a href="classScStw.html#ae1e6a4063ef25e60b06a96be66ae98f5" class="m-doc">SignalKey</a></span>
</dt>
<dd>Function to convert an int to a SignalKey.</dd>
<dt>
<span class="m-doc-wrap-bumper">static auto <a href="#a8102a6fee01f43144d8bf3ebe054b753" class="m-doc">socketCommandFromInt</a>(</span><span class="m-doc-wrap">int i) -&gt; <a href="classScStw.html#a5423a0a57d880d1f3869b81c2c31435d" class="m-doc">SocketCommand</a></span>
</dt>
<dd>Function to convert an int to a SocketCommand.</dd>
<dt>
<span class="m-doc-wrap-bumper">static auto <a href="#ad40564b2338ba1cf01ccacedfd1525ca" class="m-doc">extensionTypeToString</a>(</span><span class="m-doc-wrap"><a href="classScStw.html#afb007a099c165449761afaed23a54c45" class="m-doc">ExtensionType</a> t) -&gt; QString</span>
</dt>
<dd>Function to convert an ExtensionType to a string.</dd>
<dt>
<span class="m-doc-wrap-bumper">static auto <a href="#a4732d5c78f05a171b492efbf1d8e4820" class="m-doc">firmwareCompare</a>(</span><span class="m-doc-wrap">QString a,
QString b) -&gt; int</span>
</dt>
<dd>Function to compare to string firmware versions in &lt;major&gt;.&lt;minor&gt;.&lt;patch&gt; formar.</dd>
<dt id="ad93a64f89f0bec0903e5b78d714b1cb3">
<div class="m-doc-template">template&lt;typename Enum&gt;</div>
<span class="m-doc-wrap-bumper">static auto <a href="#ad93a64f89f0bec0903e5b78d714b1cb3" class="m-doc-self">toEnumValue</a>(</span><span class="m-doc-wrap">const int&amp; value,
bool* ok) -&gt; Enum</span>
</dt>
<dd>Function to convert a value to an enum.</dd>
</dl>
</section>
<section>
<h2>Enum documentation</h2>
<section class="m-doc-details" id="ae1e6a4063ef25e60b06a96be66ae98f5"><div>
<h3>
enum ScStw::<wbr /><a href="#ae1e6a4063ef25e60b06a96be66ae98f5" class="m-doc-self">SignalKey</a>
</h3>
<p>The SignalKey enum contains all signal keys a client can subscribe to.</p>
<aside class="m-note m-default"><h4>See also</h4><p><a href="classScStw.html#a781770df5498946a23e1d91613c6c5e7" class="m-doc">ScStw::<wbr />signalKeyFromInt()</a></p></aside>
</div></section>
<section class="m-doc-details" id="a5423a0a57d880d1f3869b81c2c31435d"><div>
<h3>
enum ScStw::<wbr /><a href="#a5423a0a57d880d1f3869b81c2c31435d" class="m-doc-self">SocketCommand</a>
</h3>
<p>The SocketCommand enum contains all commands the base station can handle.</p>
<aside class="m-note m-default"><h4>See also</h4><p><a href="classScStw.html#a8102a6fee01f43144d8bf3ebe054b753" class="m-doc">ScStw::<wbr />socketCommandFromInt()</a></p></aside>
</div></section>
<section class="m-doc-details" id="ad0a329ddc142cab81bc98e0d40d32068"><div>
<h3>
enum ScStw::<wbr /><a href="#ad0a329ddc142cab81bc98e0d40d32068" class="m-doc-self">StatusCode</a>
</h3>
<p>The ErrorCode enum contains all error codes that can occur when sending a command to the basestation.</p>
<table class="m-table m-fullwidth m-flat m-doc">
<thead><tr><th style="width: 1%">Enumerators</th><th></th></tr></thead>
<tbody>
<tr>
<td><a href="#ad0a329ddc142cab81bc98e0d40d32068ac90bc44b984e9b18f2a0502aaeadbc70" class="m-doc-self" id="ad0a329ddc142cab81bc98e0d40d32068ac90bc44b984e9b18f2a0502aaeadbc70">Success</a></td>
<td>
</td>
</tr>
<tr>
<td><a href="#ad0a329ddc142cab81bc98e0d40d32068a8c5d88049fa4b6772f45334aaaea7ed8" class="m-doc-self" id="ad0a329ddc142cab81bc98e0d40d32068a8c5d88049fa4b6772f45334aaaea7ed8">FirmwareAlreadyUpToDateInfo</a></td>
<td>
</td>
</tr>
<tr>
<td><a href="#ad0a329ddc142cab81bc98e0d40d32068a1402c3028428a1014af069ce5a1b5e5a" class="m-doc-self" id="ad0a329ddc142cab81bc98e0d40d32068a1402c3028428a1014af069ce5a1b5e5a">AccessDeniedError</a></td>
<td>
</td>
</tr>
<tr>
<td><a href="#ad0a329ddc142cab81bc98e0d40d32068a38ceb962d98837024c73f7c1ff892650" class="m-doc-self" id="ad0a329ddc142cab81bc98e0d40d32068a38ceb962d98837024c73f7c1ff892650">UpdateSignatureInvalidError</a></td>
<td>
</td>
</tr>
<tr>
<td><a href="#ad0a329ddc142cab81bc98e0d40d32068ae66e653e8758f291409a03a2e594fb66" class="m-doc-self" id="ad0a329ddc142cab81bc98e0d40d32068ae66e653e8758f291409a03a2e594fb66">CurrentStateNotVaildForOperationError</a></td>
<td>
</td>
</tr>
<tr>
<td><a href="#ad0a329ddc142cab81bc98e0d40d32068a88cd97a3c92c7827347d838c290a1d1a" class="m-doc-self" id="ad0a329ddc142cab81bc98e0d40d32068a88cd97a3c92c7827347d838c290a1d1a">CommandNotFoundError</a></td>
<td>
</td>
</tr>
<tr>
<td><a href="#ad0a329ddc142cab81bc98e0d40d32068afc606bfc04e661c0f3322918d5971b8e" class="m-doc-self" id="ad0a329ddc142cab81bc98e0d40d32068afc606bfc04e661c0f3322918d5971b8e">RequiredParameterNotGivenError</a></td>
<td>
</td>
</tr>
<tr>
<td><a href="#ad0a329ddc142cab81bc98e0d40d32068a3dbfdee6e7375265d4d368da015fff6a" class="m-doc-self" id="ad0a329ddc142cab81bc98e0d40d32068a3dbfdee6e7375265d4d368da015fff6a">TimestampTooSmallError</a></td>
<td>
</td>
</tr>
<tr>
<td><a href="#ad0a329ddc142cab81bc98e0d40d32068a4adf2bcdb8d85a40dfa6186b2dc636d8" class="m-doc-self" id="ad0a329ddc142cab81bc98e0d40d32068a4adf2bcdb8d85a40dfa6186b2dc636d8">ClientSessionAlreadyActiveError</a></td>
<td>
</td>
</tr>
<tr>
<td><a href="#ad0a329ddc142cab81bc98e0d40d32068a295c2b1f44a6f1791df9e62c5e4f09b6" class="m-doc-self" id="ad0a329ddc142cab81bc98e0d40d32068a295c2b1f44a6f1791df9e62c5e4f09b6">NoSessionActiveError</a></td>
<td>
</td>
</tr>
<tr>
<td><a href="#ad0a329ddc142cab81bc98e0d40d32068ad8022967fadac3af0477abeb94eefba6" class="m-doc-self" id="ad0a329ddc142cab81bc98e0d40d32068ad8022967fadac3af0477abeb94eefba6">ItemNotFoundError</a></td>
<td>
</td>
</tr>
<tr>
<td><a href="#ad0a329ddc142cab81bc98e0d40d32068a67a867bdb5323675c8971d506f322dd9" class="m-doc-self" id="ad0a329ddc142cab81bc98e0d40d32068a67a867bdb5323675c8971d506f322dd9">LastTimerCannotBeDisabledError</a></td>
<td>
</td>
</tr>
<tr>
<td><a href="#ad0a329ddc142cab81bc98e0d40d32068a9856621699e04ac7e336411c34769ef2" class="m-doc-self" id="ad0a329ddc142cab81bc98e0d40d32068a9856621699e04ac7e336411c34769ef2">UpdateFailedError</a></td>
<td>
</td>
</tr>
<tr>
<td><a href="#ad0a329ddc142cab81bc98e0d40d32068ad0bcc0ff858abd7ebcf6842662fdad28" class="m-doc-self" id="ad0a329ddc142cab81bc98e0d40d32068ad0bcc0ff858abd7ebcf6842662fdad28">Error</a></td>
<td>
</td>
</tr>
<tr>
<td><a href="#ad0a329ddc142cab81bc98e0d40d32068a8b76f1bc500981c49d4bf1880b02e7cd" class="m-doc-self" id="ad0a329ddc142cab81bc98e0d40d32068a8b76f1bc500981c49d4bf1880b02e7cd">NotConnectedError</a></td>
<td>
</td>
</tr>
<tr>
<td><a href="#ad0a329ddc142cab81bc98e0d40d32068a5f7d9a63e9b48a1f4ca4f212de3998e5" class="m-doc-self" id="ad0a329ddc142cab81bc98e0d40d32068a5f7d9a63e9b48a1f4ca4f212de3998e5">TimeoutError</a></td>
<td>
</td>
</tr>
<tr>
<td><a href="#ad0a329ddc142cab81bc98e0d40d32068a18b1139de766f9ae6aab6fddb5f2e3f4" class="m-doc-self" id="ad0a329ddc142cab81bc98e0d40d32068a18b1139de766f9ae6aab6fddb5f2e3f4">SettingNotAccessibleError</a></td>
<td>
</td>
</tr>
<tr>
<td><a href="#ad0a329ddc142cab81bc98e0d40d32068a4238fbecbd83ec9d9d88503274a4fc55" class="m-doc-self" id="ad0a329ddc142cab81bc98e0d40d32068a4238fbecbd83ec9d9d88503274a4fc55">InternalError</a></td>
<td>
</td>
</tr>
<tr>
<td><a href="#ad0a329ddc142cab81bc98e0d40d32068a98e06a2ac920230686410995bfb52071" class="m-doc-self" id="ad0a329ddc142cab81bc98e0d40d32068a98e06a2ac920230686410995bfb52071">InternalErrorTimerOperationFailed</a></td>
<td>
</td>
</tr>
<tr>
<td><a href="#ad0a329ddc142cab81bc98e0d40d32068a6983d437713d173257ac8ba9e59a21a1" class="m-doc-self" id="ad0a329ddc142cab81bc98e0d40d32068a6983d437713d173257ac8ba9e59a21a1">ApiVersionNotSupportedError</a></td>
<td>
</td>
</tr>
<tr>
<td><a href="#ad0a329ddc142cab81bc98e0d40d32068aa09b339c976ac6155e57482213b0dacc" class="m-doc-self" id="ad0a329ddc142cab81bc98e0d40d32068aa09b339c976ac6155e57482213b0dacc">CompetitionModeProhibitsThisError</a></td>
<td>
</td>
</tr>
<tr>
<td><a href="#ad0a329ddc142cab81bc98e0d40d32068afe579c343439c557042b405213c0a767" class="m-doc-self" id="ad0a329ddc142cab81bc98e0d40d32068afe579c343439c557042b405213c0a767">FirmwareUpdateFormatInvalidError</a></td>
<td>
</td>
</tr>
<tr>
<td><a href="#ad0a329ddc142cab81bc98e0d40d32068a98d7b4970249f97e6063e98894310fe3" class="m-doc-self" id="ad0a329ddc142cab81bc98e0d40d32068a98d7b4970249f97e6063e98894310fe3">TimersNotReadyError</a></td>
<td>
<p>One or more timer is not ready</p>
</td>
</tr>
</tbody>
</table>
</div></section>
</section>
<section>
<h2>Function documentation</h2>
<section class="m-doc-details" id="a781770df5498946a23e1d91613c6c5e7"><div>
<h3>
<span class="m-doc-wrap-bumper">static <a href="classScStw.html#ae1e6a4063ef25e60b06a96be66ae98f5" class="m-doc">SignalKey</a> ScStw::<wbr /></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a href="#a781770df5498946a23e1d91613c6c5e7" class="m-doc-self">signalKeyFromInt</a>(</span><span class="m-doc-wrap">int i)</span></span>
</h3>
<p>Function to convert an int to a SignalKey.</p>
<table class="m-table m-fullwidth m-flat">
<thead>
<tr><th colspan="2">Parameters</th></tr>
</thead>
<tbody>
<tr>
<td style="width: 1%">i</td>
<td>the int to convert</td>
</tr>
</tbody>
<tfoot>
<tr>
<th>Returns</th>
<td>a SignalKey</td>
</tr>
</tfoot>
</table>
<aside class="m-note m-default"><h4>See also</h4><p><a href="classScStw.html#ae1e6a4063ef25e60b06a96be66ae98f5" class="m-doc">ScStw::<wbr />SignalKey</a></p></aside>
</div></section>
<section class="m-doc-details" id="a8102a6fee01f43144d8bf3ebe054b753"><div>
<h3>
<span class="m-doc-wrap-bumper">static <a href="classScStw.html#a5423a0a57d880d1f3869b81c2c31435d" class="m-doc">SocketCommand</a> ScStw::<wbr /></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a href="#a8102a6fee01f43144d8bf3ebe054b753" class="m-doc-self">socketCommandFromInt</a>(</span><span class="m-doc-wrap">int i)</span></span>
</h3>
<p>Function to convert an int to a SocketCommand.</p>
<table class="m-table m-fullwidth m-flat">
<thead>
<tr><th colspan="2">Parameters</th></tr>
</thead>
<tbody>
<tr>
<td style="width: 1%">i</td>
<td>the int to convert</td>
</tr>
</tbody>
<tfoot>
<tr>
<th>Returns</th>
<td>a SocketCommand</td>
</tr>
</tfoot>
</table>
<aside class="m-note m-default"><h4>See also</h4><p><a href="classScStw.html#a5423a0a57d880d1f3869b81c2c31435d" class="m-doc">ScStw::<wbr />SocketCommand</a></p></aside>
</div></section>
<section class="m-doc-details" id="ad40564b2338ba1cf01ccacedfd1525ca"><div>
<h3>
<span class="m-doc-wrap-bumper">static QString ScStw::<wbr /></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a href="#ad40564b2338ba1cf01ccacedfd1525ca" class="m-doc-self">extensionTypeToString</a>(</span><span class="m-doc-wrap"><a href="classScStw.html#afb007a099c165449761afaed23a54c45" class="m-doc">ExtensionType</a> t)</span></span>
</h3>
<p>Function to convert an ExtensionType to a string.</p>
<table class="m-table m-fullwidth m-flat">
<thead>
<tr><th colspan="2">Parameters</th></tr>
</thead>
<tbody>
<tr>
<td style="width: 1%">t</td>
<td>the ExtensionType to convert</td>
</tr>
</tbody>
<tfoot>
<tr>
<th>Returns</th>
<td>String</td>
</tr>
</tfoot>
</table>
<aside class="m-note m-default"><h4>See also</h4><p>ScStwExtensionType</p></aside>
</div></section>
<section class="m-doc-details" id="a4732d5c78f05a171b492efbf1d8e4820"><div>
<h3>
<span class="m-doc-wrap-bumper">static int ScStw::<wbr /></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a href="#a4732d5c78f05a171b492efbf1d8e4820" class="m-doc-self">firmwareCompare</a>(</span><span class="m-doc-wrap">QString a,
QString b)</span></span>
</h3>
<p>Function to compare to string firmware versions in &lt;major&gt;.&lt;minor&gt;.&lt;patch&gt; formar.</p>
<table class="m-table m-fullwidth m-flat">
<thead>
<tr><th colspan="2">Parameters</th></tr>
</thead>
<tbody>
<tr>
<td style="width: 1%">a</td>
<td>version a</td>
</tr>
<tr>
<td>b</td>
<td>version b</td>
</tr>
</tbody>
<tfoot>
<tr>
<th>Returns</th>
<td>-4: a is of invalid format -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 4: b is of invalid format</td>
</tr>
</tfoot>
</table>
</div></section>
</section>
</div>
</div>
</div>
</article></main>
<div class="m-doc-search" id="search">
<a href="#!" onclick="return hideSearch()"></a>
<div class="m-container">
<div class="m-row">
<div class="m-col-m-8 m-push-m-2">
<div class="m-doc-search-header m-text m-small">
<div><span class="m-label m-default">Tab</span> / <span class="m-label m-default">T</span> to search, <span class="m-label m-default">Esc</span> to close</div>
<div id="search-symbolcount">&hellip;</div>
</div>
<div class="m-doc-search-content">
<form>
<input type="search" name="q" id="search-input" placeholder="Loading &hellip;" disabled="disabled" autofocus="autofocus" autocomplete="off" spellcheck="false" />
</form>
<noscript class="m-text m-danger m-text-center">Unlike everything else in the docs, the search functionality <em>requires</em> JavaScript.</noscript>
<div id="search-help" class="m-text m-dim m-text-center">
<p class="m-noindent">Search for symbols, directories, files, pages or
modules. You can omit any prefix from the symbol or file path; adding a
<code>:</code> or <code>/</code> suffix lists all members of given symbol or
directory.</p>
<p class="m-noindent">Use <span class="m-label m-dim">&darr;</span>
/ <span class="m-label m-dim">&uarr;</span> to navigate through the list,
<span class="m-label m-dim">Enter</span> to go.
<span class="m-label m-dim">Tab</span> autocompletes common prefix, you can
copy a link to the result using <span class="m-label m-dim"></span>
<span class="m-label m-dim">L</span> while <span class="m-label m-dim"></span>
<span class="m-label m-dim">M</span> produces a Markdown link.</p>
</div>
<div id="search-notfound" class="m-text m-warning m-text-center">Sorry, nothing was found.</div>
<ul id="search-results"></ul>
</div>
</div>
</div>
</div>
</div>
<script src="search-v2.js"></script>
<script src="searchdata-v2.js" async="async"></script>
<footer><nav>
<div class="m-container">
<div class="m-row">
<div class="m-col-l-10 m-push-l-1">
<p>ScStw shared libraries. Created with <a href="https://doxygen.org/">Doxygen</a> 1.9.4 and <a href="https://mcss.mosra.cz/">m.css</a>.</p>
</div>
</div>
</div>
</nav></footer>
</body>
</html>