//------------------------------------------------------------------------- void CTimerdClient::setRecordingSafety(int pre, int post) { CTimerdMsg::commandRecordingSafety data; VALGRIND_PARANOIA(data); data.pre = pre; data.post = post; send(CTimerdMsg::CMD_SETRECSAFETY, (char*) &data, sizeof(data)); close_connection(); }
//------------------------------------------------------------------------- void CTimerdClient::modifyTimerAPid(int eventid, unsigned char apids) { CTimerdMsg::commandSetAPid data; VALGRIND_PARANOIA(data); data.eventID=eventid; data.apids = apids; send(CTimerdMsg::CMD_SETAPID, (char*) &data, sizeof(data)); close_connection(); }
//------------------------------------------------------------------------- void CTimerdClient::stopTimerEvent( int evId) { CTimerdMsg::commandRemoveTimer msgRemoveTimer; VALGRIND_PARANOIA(msgRemoveTimer); msgRemoveTimer.eventID = evId; send(CTimerdMsg::CMD_STOPTIMER, (char*) &msgRemoveTimer, sizeof(msgRemoveTimer)); close_connection(); }
void CTimerdClient::unRegisterEvent(unsigned int eventID, unsigned int clientID) { CEventServer::commandUnRegisterEvent msg2; VALGRIND_PARANOIA(msg2); msg2.eventID = eventID; msg2.clientID = clientID; send(CTimerdMsg::CMD_UNREGISTEREVENT, (char*)&msg2, sizeof(msg2)); close_connection(); }
void CSectionsdClient::unRegisterEvent(const unsigned int eventID, const unsigned int clientID) { CEventServer::commandUnRegisterEvent msg2; VALGRIND_PARANOIA(msg2); msg2.eventID = eventID; msg2.clientID = clientID; send(sectionsd::CMD_unregisterEvents, (char*)&msg2, sizeof(msg2)); close_connection(); }
void CTimerdClient::removeTimerEvent( int evId) { if(evId == adzap_eventID) adzap_eventID = 0;//reset adzap flag CTimerdMsg::commandRemoveTimer msgRemoveTimer; VALGRIND_PARANOIA(msgRemoveTimer); msgRemoveTimer.eventID = evId; send(CTimerdMsg::CMD_REMOVETIMER, (char*) &msgRemoveTimer, sizeof(msgRemoveTimer)); close_connection(); }
void CTimerdClient::registerEvent(unsigned int eventID, unsigned int clientID, const char * const udsName) { CEventServer::commandRegisterEvent msg2; VALGRIND_PARANOIA(msg2); msg2.eventID = eventID; msg2.clientID = clientID; cstrncpy(msg2.udsName, udsName, sizeof(msg2.udsName)); send(CTimerdMsg::CMD_REGISTEREVENT, (char*)&msg2, sizeof(msg2)); close_connection(); }
void CSectionsdClient::registerEvent(const unsigned int eventID, const unsigned int clientID, const char * const udsName) { CEventServer::commandRegisterEvent msg2; VALGRIND_PARANOIA(msg2); msg2.eventID = eventID; msg2.clientID = clientID; cstrncpy(msg2.udsName, udsName, sizeof(msg2.udsName)); send(sectionsd::CMD_registerEvents, (char*)&msg2, sizeof(msg2)); close_connection(); }
void CSectionsdClient::setServiceChanged(const t_channel_id channel_id, const bool requestEvent, int dnum) { sectionsd::commandSetServiceChanged msg; VALGRIND_PARANOIA(msg); msg.channel_id = channel_id; msg.requestEvent = requestEvent; msg.dnum = dnum; send(sectionsd::serviceChanged, (char *)&msg, sizeof(msg)); readResponse(); close_connection(); }
bool CTimerdClient::rescheduleTimerEvent(int eventid, time_t announcediff, time_t alarmdiff, time_t stopdiff) { CTimerdMsg::commandModifyTimer msgModifyTimer; VALGRIND_PARANOIA(msgModifyTimer); msgModifyTimer.eventID = eventid; msgModifyTimer.announceTime = announcediff; msgModifyTimer.alarmTime = alarmdiff; msgModifyTimer.stopTime = stopdiff; send(CTimerdMsg::CMD_RESCHEDULETIMER, (char*) &msgModifyTimer, sizeof(msgModifyTimer)); CTimerdMsg::responseStatus response; receive_data((char*)&response, sizeof(response)); close_connection(); return response.status; }
bool CSectionsdClient::send(const unsigned char command, const char* data, const unsigned int size) { sectionsd::msgRequestHeader msgHead; VALGRIND_PARANOIA(msgHead); msgHead.version = getVersion(); msgHead.command = command; msgHead.dataLength = size; open_connection(); // if the return value is false, the next send_data call will return false, too if (!send_data((char*)&msgHead, sizeof(msgHead))) return false; if (size != 0) return send_data(data, size); return true; }
bool CTimerdClient::modifyTimerEvent(int eventid, time_t announcetime, time_t alarmtime, time_t stoptime, CTimerd::CTimerEventRepeat evrepeat, uint32_t repeatcount, void *data, int datalen) { // set new time values for event eventid CTimerdMsg::commandModifyTimer msgModifyTimer; VALGRIND_PARANOIA(msgModifyTimer); msgModifyTimer.eventID = eventid; msgModifyTimer.announceTime = announcetime; msgModifyTimer.alarmTime = alarmtime; msgModifyTimer.stopTime = stoptime; msgModifyTimer.eventRepeat = evrepeat; msgModifyTimer.repeatCount = repeatcount; send(CTimerdMsg::CMD_MODIFYTIMER, (char*) &msgModifyTimer, sizeof(msgModifyTimer)); if (data && datalen) send_data((char*)data,datalen); CTimerdMsg::responseStatus response; receive_data((char*)&response, sizeof(response)); close_connection(); return true; }
//------------------------------------------------------------------------- int CTimerdClient::addTimerEvent( CTimerd::CTimerEventTypes evType, void* data, time_t announcetime, time_t alarmtime,time_t stoptime, CTimerd::CTimerEventRepeat evrepeat, uint32_t repeatcount,bool forceadd) { if(checkDouble(evType, data, announcetime, alarmtime, stoptime, evrepeat, repeatcount))//check if timer is add double return -1; if (!forceadd) { //printf("[CTimerdClient] checking for overlapping timers\n"); CTimerd::TimerList overlappingTimer; overlappingTimer = getOverlappingTimers(alarmtime, stoptime); if (!overlappingTimer.empty()) { // timerd starts eventID at 0 so we can return -1 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; VALGRIND_PARANOIA(tei); VALGRIND_PARANOIA(tri); VALGRIND_PARANOIA(msgAddTimer); msgAddTimer.alarmTime = alarmtime; msgAddTimer.announceTime = announcetime; msgAddTimer.stopTime = stoptime; msgAddTimer.eventType = evType; msgAddTimer.eventRepeat = evrepeat; msgAddTimer.repeatCount = repeatcount; int length; if( evType == CTimerd::TIMER_SHUTDOWN || evType == CTimerd::TIMER_SLEEPTIMER ) { length = 0; } /* else if(evType == CTimerd::TIMER_NEXTPROGRAM || evType == CTimerd::TIMER_ZAPTO || */ else if (evType == CTimerd::TIMER_ZAPTO || evType == CTimerd::TIMER_IMMEDIATE_RECORD || evType == CTimerd::TIMER_ADZAP) { CTimerd::EventInfo *ei=static_cast<CTimerd::EventInfo*>(data); tei.apids = ei->apids; tei.channel_id = ei->channel_id; tei.epg_starttime = ei->epg_starttime; tei.epgID = ei->epgID; tei.recordingSafety = ei->recordingSafety; length = sizeof( CTimerd::TransferEventInfo); data = &tei; } else if(evType == CTimerd::TIMER_RECORD) { CTimerd::RecordingInfo *ri=static_cast<CTimerd::RecordingInfo*>(data); tri.apids = ri->apids; tri.channel_id = ri->channel_id; tri.epg_starttime = ri->epg_starttime; tri.epgID = ri->epgID; tri.recordingSafety = ri->recordingSafety; strncpy(tri.recordingDir, ri->recordingDir, RECORD_DIR_MAXLEN-1); length = sizeof( CTimerd::TransferRecordingInfo); data = &tri; } else if(evType == CTimerd::TIMER_STANDBY) { length = sizeof(CTimerdMsg::commandSetStandby); } else if(evType == CTimerd::TIMER_REMIND) { length = sizeof(CTimerdMsg::commandRemind); } else if(evType == CTimerd::TIMER_EXEC_PLUGIN) { length = sizeof(CTimerdMsg::commandExecPlugin); } else { length = 0; } send(CTimerdMsg::CMD_ADDTIMER, (char*)&msgAddTimer, sizeof(msgAddTimer)); if((data != NULL) && (length > 0)) send_data((char*)data, length); CTimerdMsg::responseAddTimer response; receive_data((char*)&response, sizeof(response)); close_connection(); if(adzaptimer){ adzap_eventID = response.eventID;//set adzap flag } return( response.eventID); }