- controlapi: add possibility to check status of remote control

This commit is contained in:
svenhoefer
2016-01-21 11:17:05 +01:00
parent 9d72b086a2
commit 3553030bce
2 changed files with 28 additions and 8 deletions

View File

@@ -1655,6 +1655,16 @@ ok<br>
<div class="title1"><a name="rc"></a><b>Fernbedienung</b></div> <div class="title1"><a name="rc"></a><b>Fernbedienung</b></div>
<div class="URL">Handler: http://box_ip/control/rc</div> <div class="URL">Handler: http://box_ip/control/rc</div>
<br> <br>
<b>Parameter:</b>keine/status<br>
<b>R&uuml;ckgabe:</b>on/off<br>
<br>
Zeigt den Status der Fernbedienung<br>
<div class="example">
Beispiel:<br>
<br>
http://box_ip/control/rc?status<br>
on<br>
</div>
<b>Parameter:</b> lock<br> <b>Parameter:</b> lock<br>
<b>R&uuml;ckgabe:</b> ok<br> <b>R&uuml;ckgabe:</b> ok<br>
<br> <br>
@@ -1674,7 +1684,6 @@ Beispiel:<br>
<br> <br>
http://box_ip/control/rc?unlock<br> http://box_ip/control/rc?unlock<br>
ok<br> ok<br>
<br>
</div> </div>
<!-- ----------------------------------------------------------- --> <!-- ----------------------------------------------------------- -->

View File

@@ -496,23 +496,34 @@ void CControlAPI::StandbyCGI(CyhookHandler *hh)
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
void CControlAPI::RCCGI(CyhookHandler *hh) void CControlAPI::RCCGI(CyhookHandler *hh)
{ {
if (!(hh->ParamList.empty()))
{
bool locked = CRCLock::getInstance()->isLocked(); bool locked = CRCLock::getInstance()->isLocked();
if (hh->ParamList["1"] == "lock"){ // lock remote control if (hh->ParamList.empty() || hh->ParamList["1"] == "status")
{
if (locked)
hh->WriteLn("off");
else
hh->WriteLn("on");
}
else
{
if (hh->ParamList["1"] == "lock")
{
if (!locked) if (!locked)
NeutrinoAPI->EventServer->sendEvent(NeutrinoMessages::LOCK_RC, CEventServer::INITID_HTTPD); NeutrinoAPI->EventServer->sendEvent(NeutrinoMessages::LOCK_RC, CEventServer::INITID_HTTPD);
} }
else if (hh->ParamList["1"] == "unlock"){// unlock remote control else if (hh->ParamList["1"] == "unlock")
{
if (locked) if (locked)
NeutrinoAPI->EventServer->sendEvent(NeutrinoMessages::UNLOCK_RC, CEventServer::INITID_HTTPD); NeutrinoAPI->EventServer->sendEvent(NeutrinoMessages::UNLOCK_RC, CEventServer::INITID_HTTPD);
} }
else{ else
{
hh->SendError(); hh->SendError();
} return;
} }
hh->SendOk(); hh->SendOk();
}
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------