Merge remote-tracking branch 'check/next-cc'

...only build-tested, needs fixes
This commit is contained in:
Stefan Seyfried
2014-02-15 20:22:07 +01:00
77 changed files with 1056 additions and 396 deletions

View File

@@ -34,6 +34,7 @@
#define VALGRIND_PARANOIA(x) {}
#endif
int CTimerdClient::adzap_eventID = 0;
unsigned char CTimerdClient::getVersion () const
{
return CTimerdMsg::ACTVERSION;
@@ -262,7 +263,11 @@ int CTimerdClient::addTimerEvent( CTimerd::CTimerEventTypes evType, void* data,
return -1;
}
}
bool adzaptimer = false;
if(evType == CTimerd::TIMER_ADZAP){
evType = CTimerd::TIMER_ZAPTO;
adzaptimer = true;
}
CTimerd::TransferEventInfo tei;
CTimerd::TransferRecordingInfo tri;
CTimerdMsg::commandAddTimer msgAddTimer;
@@ -282,7 +287,8 @@ int CTimerdClient::addTimerEvent( CTimerd::CTimerEventTypes evType, void* data,
}
/* else if(evType == CTimerd::TIMER_NEXTPROGRAM || 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);
tei.apids = ei->apids;
@@ -330,13 +336,19 @@ int CTimerdClient::addTimerEvent( CTimerd::CTimerEventTypes evType, void* data,
CTimerdMsg::responseAddTimer response;
receive_data((char*)&response, sizeof(response));
close_connection();
if(adzaptimer){
adzap_eventID = response.eventID;//set adzap flag
}
return( response.eventID);
}
//-------------------------------------------------------------------------
void CTimerdClient::removeTimerEvent( int evId)
{
if(evId == adzap_eventID)
adzap_eventID = 0;//reset adzap flag
CTimerdMsg::commandRemoveTimer msgRemoveTimer;
VALGRIND_PARANOIA(msgRemoveTimer);

View File

@@ -61,6 +61,7 @@ class CTimerdClient:private CBasicClient
void registerEvent(unsigned int eventID, unsigned int clientID, const char * const udsName);
void unRegisterEvent(unsigned int eventID, unsigned int clientID);
static int adzap_eventID;
bool isTimerdAvailable(); // check if timerd is running
@@ -151,6 +152,18 @@ class CTimerdClient:private CBasicClient
eventInfo.recordingSafety = false;
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
int addNextProgramTimerEvent(CTimerd::EventInfo eventInfo,time_t alarmtime, time_t announcetime = 0, time_t stoptime = 0)

View File

@@ -33,9 +33,9 @@
#include <vector>
#define REMINDER_MESSAGE_MAXLEN 31
#define EXEC_PLUGIN_NAME_MAXLEN 31
#define RECORD_DIR_MAXLEN 100
#define EPG_TITLE_MAXLEN 50
#define EXEC_PLUGIN_NAME_MAXLEN 256
#define RECORD_DIR_MAXLEN 1024
#define EPG_TITLE_MAXLEN 51
#define TIMERD_APIDS_CONF 0x00
#define TIMERD_APIDS_STD 0x01
@@ -68,7 +68,8 @@ class CTimerd
TIMER_REMIND,
TIMER_SLEEPTIMER,
TIMER_EXEC_PLUGIN,
TIMER_IMMEDIATE_RECORD
TIMER_IMMEDIATE_RECORD,
TIMER_ADZAP
};
enum CTimerEventStates