예제 #1
0
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);
}
예제 #2
0
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);
}