void CAddonCallbacksPVR::PVRTransferTimerEntry(void *addonData, const ADDON_HANDLE handle, const PVR_TIMER *timer) { if (!handle) { CLog::Log(LOGERROR, "PVR - %s - invalid handler data", __FUNCTION__); return; } CPVRClient *client = GetPVRClient(addonData); CPVRTimers *xbmcTimers = static_cast<CPVRTimers *>(handle->dataAddress); if (!timer || !client || !xbmcTimers) { CLog::Log(LOGERROR, "PVR - %s - invalid handler data", __FUNCTION__); return; } CPVRChannelPtr channel = g_PVRChannelGroups->GetByUniqueID(timer->iClientChannelUid, client->GetID()); if (!channel) { CLog::Log(LOGERROR, "PVR - %s - cannot find channel %d on client %d", __FUNCTION__, timer->iClientChannelUid, client->GetID()); return; } /* transfer this entry to the timers container */ CPVRTimerInfoTag transferTimer(*timer, channel, client->GetID()); xbmcTimers->UpdateFromClient(transferTimer); }
void CAddonCallbacksPVR::PVRTransferTimerEntry(void *addonData, const PVR_HANDLE handle, const PVR_TIMER *timer) { CAddonCallbacks* addon = (CAddonCallbacks*) addonData; if (addon == NULL || handle == NULL || timer == NULL) { CLog::Log(LOGERROR, "CAddonCallbacksPVR - %s - called with a null pointer", __FUNCTION__); return; } CPVRTimers *xbmcTimers = (CPVRTimers*) handle->dataAddress; CPVRClient* client = (CPVRClient*) handle->callerAddress; CPVRChannel *channel = (CPVRChannel *) g_PVRChannelGroups->GetByUniqueID(timer->iClientChannelUid, client->GetClientID()); if (channel == NULL) { CLog::Log(LOGERROR, "CAddonCallbacksPVR - %s - cannot find channel %d on client %d", __FUNCTION__, timer->iClientChannelUid, client->GetClientID()); return; } CPVRTimerInfoTag tag(*timer, channel, client->GetClientID()); /* transfer this entry to the timers container */ xbmcTimers->UpdateFromClient(tag); }
void CAddonCallbacksPVR::PVRTransferTimerEntry(void *addonData, const ADDON_HANDLE handle, const PVR_TIMER *timer) { if (!handle) { CLog::Log(LOGERROR, "PVR - %s - invalid handler data", __FUNCTION__); return; } CPVRClient *client = GetPVRClient(addonData); CPVRTimers *xbmcTimers = static_cast<CPVRTimers *>(handle->dataAddress); if (!timer || !client || !xbmcTimers) { CLog::Log(LOGERROR, "PVR - %s - invalid handler data", __FUNCTION__); return; } /* Note: channel can be NULL here, for instance for epg-based timer rules ("record on any channel" condition). */ CPVRChannelPtr channel = g_PVRChannelGroups->GetByUniqueID(timer->iClientChannelUid, client->GetID()); /* transfer this entry to the timers container */ CPVRTimerInfoTagPtr transferTimer(new CPVRTimerInfoTag(*timer, channel, client->GetID())); xbmcTimers->UpdateFromClient(transferTimer); }