add pseudo AdZap timertype

Origin commit data
------------------
Branch: ni/coolstream
Commit: 8c7968edc4
Author: Jacek Jendrzej <overx300@gmail.com>
Date: 2014-02-07 (Fri, 07 Feb 2014)

Origin message was:
------------------
-add pseudo AdZap timertype

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

------------------
This commit was generated by Migit
This commit is contained in:
Jacek Jendrzej
2014-02-07 18:05:06 +01:00
parent 4da4b1a7fd
commit 02dd8b38cb
5 changed files with 50 additions and 17 deletions

View File

@@ -28,7 +28,7 @@
#include <timerdclient/timerdmsg.h> #include <timerdclient/timerdmsg.h>
#include <timerdclient/timerdclient.h> #include <timerdclient/timerdclient.h>
int CTimerdClient::adzap_eventID = 0;
unsigned char CTimerdClient::getVersion () const unsigned char CTimerdClient::getVersion () const
{ {
return CTimerdMsg::ACTVERSION; return CTimerdMsg::ACTVERSION;
@@ -253,7 +253,11 @@ int CTimerdClient::addTimerEvent( CTimerd::CTimerEventTypes evType, void* data,
return -1; return -1;
} }
} }
bool adzaptimer = false;
if(evType == CTimerd::TIMER_ADZAP){
evType = CTimerd::TIMER_ZAPTO;
adzaptimer = true;
}
CTimerd::TransferEventInfo tei; CTimerd::TransferEventInfo tei;
CTimerd::TransferRecordingInfo tri; CTimerd::TransferRecordingInfo tri;
CTimerdMsg::commandAddTimer msgAddTimer; CTimerdMsg::commandAddTimer msgAddTimer;
@@ -270,7 +274,8 @@ int CTimerdClient::addTimerEvent( CTimerd::CTimerEventTypes evType, void* data,
} }
/* else if(evType == CTimerd::TIMER_NEXTPROGRAM || evType == CTimerd::TIMER_ZAPTO || */ /* else if(evType == CTimerd::TIMER_NEXTPROGRAM || evType == CTimerd::TIMER_ZAPTO || */
else if (evType == CTimerd::TIMER_ZAPTO || else if (evType == CTimerd::TIMER_ZAPTO ||
evType == CTimerd::TIMER_IMMEDIATE_RECORD ) evType == CTimerd::TIMER_IMMEDIATE_RECORD ||
evType == CTimerd::TIMER_ADZAP)
{ {
CTimerd::EventInfo *ei=static_cast<CTimerd::EventInfo*>(data); CTimerd::EventInfo *ei=static_cast<CTimerd::EventInfo*>(data);
tei.apids = ei->apids; tei.apids = ei->apids;
@@ -319,14 +324,19 @@ int CTimerdClient::addTimerEvent( CTimerd::CTimerEventTypes evType, void* data,
receive_data((char*)&response, sizeof(response)); receive_data((char*)&response, sizeof(response));
close_connection(); close_connection();
if(adzaptimer){
adzap_eventID = response.eventID;//set adzap flag
}
return( response.eventID); return( response.eventID);
} }
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
void CTimerdClient::removeTimerEvent( int evId) void CTimerdClient::removeTimerEvent( int evId)
{ {
CTimerdMsg::commandRemoveTimer msgRemoveTimer; if(evId == adzap_eventID)
adzap_eventID = 0;//reset adzap flag
CTimerdMsg::commandRemoveTimer msgRemoveTimer;
msgRemoveTimer.eventID = evId; msgRemoveTimer.eventID = evId;
send(CTimerdMsg::CMD_REMOVETIMER, (char*) &msgRemoveTimer, sizeof(msgRemoveTimer)); send(CTimerdMsg::CMD_REMOVETIMER, (char*) &msgRemoveTimer, sizeof(msgRemoveTimer));

View File

@@ -61,6 +61,7 @@ class CTimerdClient:private CBasicClient
void registerEvent(unsigned int eventID, unsigned int clientID, const char * const udsName); void registerEvent(unsigned int eventID, unsigned int clientID, const char * const udsName);
void unRegisterEvent(unsigned int eventID, unsigned int clientID); void unRegisterEvent(unsigned int eventID, unsigned int clientID);
static int adzap_eventID;
bool isTimerdAvailable(); // check if timerd is running bool isTimerdAvailable(); // check if timerd is running
@@ -151,6 +152,18 @@ class CTimerdClient:private CBasicClient
eventInfo.recordingSafety = false; eventInfo.recordingSafety = false;
return addTimerEvent(CTimerd::TIMER_ZAPTO, &eventInfo, announcetime, alarmtime, stoptime); return addTimerEvent(CTimerd::TIMER_ZAPTO, &eventInfo, announcetime, alarmtime, stoptime);
}; };
// adds new adzap timer event //pseudo TIMER_ADZAP
int addAdZaptoTimerEvent(const t_channel_id channel_id, time_t alarmtime)
{
CTimerd::EventInfo eventInfo;
eventInfo.channel_id = channel_id;
eventInfo.epgID = 1;
eventInfo.epg_starttime = 0;
eventInfo.apids = 0;
eventInfo.recordingSafety = false;
return addTimerEvent(CTimerd::TIMER_ADZAP, &eventInfo, 0, alarmtime, 0);
};
#if 0 #if 0
int addNextProgramTimerEvent(CTimerd::EventInfo eventInfo,time_t alarmtime, time_t announcetime = 0, time_t stoptime = 0) int addNextProgramTimerEvent(CTimerd::EventInfo eventInfo,time_t alarmtime, time_t announcetime = 0, time_t stoptime = 0)

View File

@@ -68,7 +68,8 @@ class CTimerd
TIMER_REMIND, TIMER_REMIND,
TIMER_SLEEPTIMER, TIMER_SLEEPTIMER,
TIMER_EXEC_PLUGIN, TIMER_EXEC_PLUGIN,
TIMER_IMMEDIATE_RECORD TIMER_IMMEDIATE_RECORD,
TIMER_ADZAP
}; };
enum CTimerEventStates enum CTimerEventStates

View File

@@ -784,17 +784,24 @@ int CEpgData::show(const t_channel_id channel_id, uint64_t a_id, time_t* a_start
break; break;
case CRCInput::RC_page_up: case CRCInput::RC_page_up:
if(isCurrentEPG(channel_id)){ if(isCurrentEPG(channel_id)){
if(g_settings.wzap_time> 14)
g_settings.wzap_time+=5;
else
g_settings.wzap_time++; g_settings.wzap_time++;
if(g_settings.wzap_time>9) if(g_settings.wzap_time>60)
g_settings.wzap_time = 9; g_settings.wzap_time = 0;
showTimerEventBar(true, true); showTimerEventBar(true, true);
} }
break; break;
case CRCInput::RC_page_down: case CRCInput::RC_page_down:
if(isCurrentEPG(channel_id)){ if(isCurrentEPG(channel_id)){
if(g_settings.wzap_time> 19)
g_settings.wzap_time-=5;
else
g_settings.wzap_time--; g_settings.wzap_time--;
if(g_settings.wzap_time<0) if(g_settings.wzap_time<0)
g_settings.wzap_time = 0; g_settings.wzap_time = 60;
showTimerEventBar(true, true); showTimerEventBar(true, true);
} }
break; break;
@@ -886,11 +893,10 @@ int CEpgData::show(const t_channel_id channel_id, uint64_t a_id, time_t* a_start
//CTimerdClient timerdclient; //CTimerdClient timerdclient;
if (g_Timerd->isTimerdAvailable()) if (g_Timerd->isTimerdAvailable())
{ {
if(g_settings.wzap_time && isCurrentEPG(channel_id)){ if(!g_Timerd->adzap_eventID && g_settings.wzap_time && isCurrentEPG(channel_id)){
g_Timerd->addZaptoTimerEvent(channel_id, g_Timerd->addAdZaptoTimerEvent(channel_id,
time (NULL) + (g_settings.wzap_time * 60), time (NULL) + (g_settings.wzap_time * 60));
0, 0, loop = false;
0, 0, 0);
}else{ }else{
g_Timerd->addZaptoTimerEvent(channel_id, g_Timerd->addZaptoTimerEvent(channel_id,
epgData.epg_times.startzeit - (g_settings.zapto_pre_time * 60), epgData.epg_times.startzeit - (g_settings.zapto_pre_time * 60),
@@ -1183,7 +1189,7 @@ void CEpgData::showTimerEventBar (bool pshow, bool webzap)
/* 2 * ICON_LARGE_WIDTH for potential 16:9 and DD icons */ /* 2 * ICON_LARGE_WIDTH for potential 16:9 and DD icons */
int aw = ox - 20 - 2 * (ICON_LARGE_WIDTH + 2); int aw = ox - 20 - 2 * (ICON_LARGE_WIDTH + 2);
std::string tmp_but_name; std::string tmp_but_name;
if(g_settings.wzap_time && webzap){ if(g_settings.wzap_time && webzap && !g_Timerd->adzap_eventID){
tmp_but_name = g_Locale->getText(LOCALE_ADZAP); tmp_but_name = g_Locale->getText(LOCALE_ADZAP);
tmp_but_name += " "+ to_string(g_settings.wzap_time) + " "; tmp_but_name += " "+ to_string(g_settings.wzap_time) + " ";
tmp_but_name += g_Locale->getText(LOCALE_UNIT_SHORT_MINUTE); tmp_but_name += g_Locale->getText(LOCALE_UNIT_SHORT_MINUTE);

View File

@@ -1286,6 +1286,9 @@ void CTimerEvent_Zapto::announceEvent()
//------------------------------------------------------------ //------------------------------------------------------------
void CTimerEvent_Zapto::fireEvent() void CTimerEvent_Zapto::fireEvent()
{ {
if(CTimerdClient::adzap_eventID == eventID)
CTimerdClient::adzap_eventID = 0;//reset adzap flag
CTimerManager::getInstance()->getEventServer()->sendEvent(CTimerdClient::EVT_ZAPTO, CTimerManager::getInstance()->getEventServer()->sendEvent(CTimerdClient::EVT_ZAPTO,
CEventServer::INITID_TIMERD, CEventServer::INITID_TIMERD,
&eventInfo, &eventInfo,