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 CAddonHelpers_PVR::PVRTransferChannelEntry(void *addonData, const PVRHANDLE handle, const PVR_CHANNEL *channel) { CAddonHelpers* addon = (CAddonHelpers*) addonData; if (addon == NULL || handle == NULL || channel == NULL) { CLog::Log(LOGERROR, "PVR: PVRTransferChannelEntry is called with NULL-Pointer!!!"); return; } CPVRClient* client = (CPVRClient*) handle->CALLER_ADDRESS; CPVRChannelGroupInternal *xbmcChannels = (CPVRChannelGroupInternal*) handle->DATA_ADDRESS; CPVRChannel channelTag(channel->radio); channelTag.SetClientChannelNumber(channel->number); channelTag.SetClientID(client->GetClientID()); channelTag.SetUniqueID(channel->uid); channelTag.SetChannelName(channel->name); channelTag.SetClientChannelName(channel->callsign); channelTag.SetIconPath(channel->iconpath); channelTag.SetEncryptionSystem(channel->encryption); channelTag.SetHidden(channel->hide); channelTag.SetRecording(channel->recording); channelTag.SetInputFormat(channel->input_format); channelTag.SetStreamURL(channel->stream_url); xbmcChannels->UpdateChannel(channelTag); }
void CAddonHelpers_PVR::PVRTransferRecordingEntry(void *addonData, const PVRHANDLE handle, const PVR_RECORDINGINFO *recording) { CAddonHelpers* addon = (CAddonHelpers*) addonData; if (addon == NULL || handle == NULL || recording == NULL) { CLog::Log(LOGERROR, "PVR: PVRTransferRecordingEntry is called with NULL-Pointer!!!"); return; } CPVRClient* client = (CPVRClient*) handle->CALLER_ADDRESS; CPVRRecordings *xbmcRecordings = (CPVRRecordings*) handle->DATA_ADDRESS; CPVRRecordingInfoTag tag; tag.SetClientIndex(recording->index); tag.SetClientID(client->GetClientID()); tag.SetTitle(recording->title); tag.SetRecordingTime(recording->recording_time); tag.SetDuration(CDateTimeSpan(0, 0, recording->duration / 60, recording->duration % 60)); tag.SetPriority(recording->priority); tag.SetLifetime(recording->lifetime); tag.SetDirectory(recording->directory); tag.SetPlot(recording->description); tag.SetPlotOutline(recording->subtitle); tag.SetStreamURL(recording->stream_url); tag.SetChannelName(recording->channel_name); xbmcRecordings->push_back(tag); return; }
void CAddonCallbacksPVR::PVRTransferRecordingEntry(void *addonData, const PVR_HANDLE handle, const PVR_RECORDING *recording) { CAddonCallbacks* addon = (CAddonCallbacks*) addonData; if (addon == NULL || handle == NULL || recording == NULL) { CLog::Log(LOGERROR, "CAddonCallbacksPVR - %s - called with a null pointer", __FUNCTION__); return; } CPVRClient* client = (CPVRClient*) handle->callerAddress; CPVRRecordings *xbmcRecordings = (CPVRRecordings*) handle->dataAddress; CPVRRecording tag(*recording, client->GetClientID()); /* transfer this entry to the recordings container */ xbmcRecordings->UpdateFromClient(tag); }
void CAddonCallbacksPVR::PVRTransferChannelEntry(void *addonData, const PVR_HANDLE handle, const PVR_CHANNEL *channel) { CAddonCallbacks* addon = (CAddonCallbacks*) addonData; if (addon == NULL || handle == NULL || channel == NULL) { CLog::Log(LOGERROR, "CAddonCallbacksPVR - %s - called with a null pointer", __FUNCTION__); return; } CPVRClient* client = (CPVRClient*) handle->callerAddress; CPVRChannelGroupInternal *xbmcChannels = (CPVRChannelGroupInternal*) handle->dataAddress; CPVRChannel channelTag(*channel, client->GetClientID()); /* transfer this entry to the internal channels group */ xbmcChannels->UpdateFromClient(channelTag); }
void CAddonHelpers_PVR::PVRTransferTimerEntry(void *addonData, const PVRHANDLE handle, const PVR_TIMERINFO *timer) { CAddonHelpers* addon = (CAddonHelpers*) addonData; if (addon == NULL || handle == NULL || timer == NULL) { CLog::Log(LOGERROR, "PVR: PVRTransferTimerEntry is called with NULL-Pointer!!!"); return; } CPVRTimers *xbmcTimers = (CPVRTimers*) handle->DATA_ADDRESS; CPVRClient* client = (CPVRClient*) handle->CALLER_ADDRESS; const CPVRChannel *channel = CPVRManager::GetChannelGroups()->GetByClientFromAll(timer->channelNum, client->GetClientID()); if (channel == NULL) { CLog::Log(LOGERROR, "PVR: PVRTransferTimerEntry is called with not present channel"); return; } CPVRTimerInfoTag tag; tag.SetClientID(client->GetClientID()); tag.SetClientIndex(timer->index); tag.SetActive(timer->active == 1); tag.SetTitle(timer->title); tag.SetDir(timer->directory); tag.SetClientNumber(timer->channelNum); tag.SetStart((time_t) (timer->starttime+client->GetTimeCorrection())); tag.SetStop((time_t) (timer->endtime+client->GetTimeCorrection())); tag.SetFirstDay((time_t) (timer->firstday+client->GetTimeCorrection())); tag.SetPriority(timer->priority); tag.SetLifetime(timer->lifetime); tag.SetRecording(timer->recording == 1); tag.SetRepeating(timer->repeat == 1); tag.SetWeekdays(timer->repeatflags); CStdString path; path.Format("pvr://client%i/timers/%i", tag.ClientID(), tag.ClientIndex()); tag.SetPath(path); xbmcTimers->Update(tag); return; }
void CAddonCallbacksPVR::PVRTransferChannelGroupMember(void *addonData, const PVR_HANDLE handle, const PVR_CHANNEL_GROUP_MEMBER *member) { CAddonCallbacks* addon = (CAddonCallbacks*) addonData; if (addon == NULL || handle == NULL || member == NULL || handle->dataAddress == NULL) { CLog::Log(LOGERROR, "CAddonCallbacksPVR - %s - called with a null pointer", __FUNCTION__); return; } CPVRClient* client = (CPVRClient*) handle->callerAddress; CPVRChannelGroup *group = (CPVRChannelGroup *) handle->dataAddress; CPVRChannel *channel = (CPVRChannel *) g_PVRChannelGroups->GetByUniqueID(member->iChannelUniqueId, client->GetClientID()); if (group != NULL && channel != NULL && group->IsRadio() == channel->IsRadio()) { /* transfer this entry to the group */ group->AddToGroup(*channel, member->iChannelNumber, false); } else { CLog::Log(LOGERROR, "CAddonCallbacksPVR - %s - cannot find group '%s' or channel '%d'", __FUNCTION__, member->strGroupName, member->iChannelUniqueId); } }