Origin commit data
------------------
Branch: ni/coolstream
Commit: b87ad3b5ea
Author: vanhofen <vanhofen@gmx.de>
Date: 2017-06-15 (Thu, 15 Jun 2017)


------------------
No further description and justification available within origin commit message!

------------------
This commit was generated by Migit
This commit is contained in:
vanhofen
2017-06-15 17:32:05 +02:00
4 changed files with 83 additions and 0 deletions

View File

@@ -217,6 +217,7 @@ const CControlAPI::TyCgiCall CControlAPI::yCgiCallList[]=
{"crypt", &CControlAPI::CryptCGI, "text/plain"}, {"crypt", &CControlAPI::CryptCGI, "text/plain"},
// timer // timer
{"timer", &CControlAPI::TimerCGI, "text/plain"}, {"timer", &CControlAPI::TimerCGI, "text/plain"},
{"sendalltimers", &CControlAPI::TimerSendCGI, "text/plain"},
// bouquet editing // bouquet editing
{"setbouquet", &CControlAPI::setBouquetCGI, "text/plain"}, {"setbouquet", &CControlAPI::setBouquetCGI, "text/plain"},
{"savebouquet", &CControlAPI::saveBouquetCGI, "text/plain"}, {"savebouquet", &CControlAPI::saveBouquetCGI, "text/plain"},
@@ -346,7 +347,34 @@ void CControlAPI::TimerCGI(CyhookHandler *hh)
hh->SendError(); hh->SendError();
} }
void CControlAPI::TimerSendCGI(CyhookHandler *hh)
{
hh->outStart();
if (NeutrinoAPI->Timerd->isTimerdAvailable())
{
if (!hh->ParamList.empty())
{
bool force = (hh->ParamList["force"] == "1") || (hh->ParamList["force"] == "true");
if(!hh->ParamList["ip"].empty())
{
NeutrinoAPI->SendAllTimers(hh->ParamList["ip"],force);
hh->SendOk();
}
else if(!hh->ParamList["name"].empty())
{
NeutrinoAPI->SendAllTimers(NeutrinoAPI->GetRemoteBoxIP(decodeString(hh->ParamList["name"])),force);
hh->SendOk();
}
else
hh->SendError();
}
}
else
hh->SendError();
}
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
void CControlAPI::SetModeCGI(CyhookHandler *hh) void CControlAPI::SetModeCGI(CyhookHandler *hh)
{ {
if (!(hh->ParamList.empty())) if (!(hh->ParamList.empty()))

View File

@@ -73,6 +73,7 @@ private:
// CGI functions for ExecuteCGI // CGI functions for ExecuteCGI
void TimerCGI(CyhookHandler *hh); void TimerCGI(CyhookHandler *hh);
void TimerSendCGI(CyhookHandler *hh);
void SetModeCGI(CyhookHandler *hh); void SetModeCGI(CyhookHandler *hh);
void GetModeCGI(CyhookHandler *hh); void GetModeCGI(CyhookHandler *hh);
void ExecCGI(CyhookHandler *hh); void ExecCGI(CyhookHandler *hh);

View File

@@ -27,6 +27,7 @@
#include <driver/rcinput.h> #include <driver/rcinput.h>
#include <driver/screen_max.h> #include <driver/screen_max.h>
#include <driver/pictureviewer/pictureviewer.h> #include <driver/pictureviewer/pictureviewer.h>
#include <system/httptool.h>
#include <gui/color.h> #include <gui/color.h>
#include <gui/widget/icons.h> #include <gui/widget/icons.h>
#include <gui/movieplayer.h> #include <gui/movieplayer.h>
@@ -530,3 +531,54 @@ std::string CNeutrinoAPI::getLogoFile(t_channel_id channelId)
return logoString; return logoString;
return ""; return "";
} }
std::string CNeutrinoAPI::GetRemoteBoxIP(std::string _rbname)
{
std::string c_url = "";
for (std::vector<timer_remotebox_item>::iterator it = g_settings.timer_remotebox_ip.begin(); it != g_settings.timer_remotebox_ip.end(); ++it)
{
if (it->rbname == _rbname)
{
if (!it->user.empty() && !it->pass.empty())
c_url += it->user + ":" + it->pass +"@";
c_url += it->rbaddress;
c_url += ":" + to_string(it->port);
break;
}
}
return c_url;
}
void CNeutrinoAPI::SendAllTimers(std::string url, bool force)
{
CTimerd::TimerList timerlist;
timerlist.clear();
Timerd->getTimerList(timerlist);
sort(timerlist.begin(), timerlist.end());
CTimerd::TimerList::iterator timer = timerlist.begin();
int pre,post;
Timerd->getRecordingSafety(pre,post);
CHTTPTool httpTool;
std::string r_url;
for(int i = 0; timer != timerlist.end(); ++timer)
{
if (timer->eventType == CTimerd::TIMER_RECORD) {
r_url = "http://";
r_url += url;
r_url += "/control/timer?action=new";
r_url += "&alarm=" + to_string((int)timer->alarmTime + pre);
r_url += "&stop=" + to_string((int)timer->stopTime - post);
r_url += "&announce=" + to_string((int)timer->announceTime + pre);
r_url += "&channel_id=" + string_printf(PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS, timer->channel_id);
r_url += "&aj=on";
r_url += "&rs=on";
r_url = httpTool.downloadString(r_url, -1, 300);
if ((r_url=="ok") || force)
Timerd->removeTimerEvent(timer->eventID);
}
}
}

View File

@@ -84,6 +84,8 @@ public:
std::string getAudioInfoAsString(void); std::string getAudioInfoAsString(void);
std::string getCryptInfoAsString(void); std::string getCryptInfoAsString(void);
std::string getLogoFile(t_channel_id channelId); std::string getLogoFile(t_channel_id channelId);
std::string GetRemoteBoxIP(std::string _rbname);
void SendAllTimers(std::string url, bool force = false);
public: public:
CNeutrinoAPI(); CNeutrinoAPI();
~CNeutrinoAPI(void); ~CNeutrinoAPI(void);