void CGUIDialogPVRTimerSettings::InitializeChannelsList() { m_channelEntries.clear(); int index = 0; // Add special "any channel" entries - one for every client (used for epg-based timer rules). CPVRClientMap clients; CServiceBroker::GetPVRManager().Clients()->GetCreatedClients(clients); for (const auto& client : clients) { m_channelEntries.insert({index, ChannelDescriptor(PVR_CHANNEL_INVALID_UID, client.second->GetID(), g_localizeStrings.Get(809))}); // "Any channel" ++index; } // Add regular channels CFileItemList channelsList; CServiceBroker::GetPVRManager().ChannelGroups()->GetGroupAll(m_bIsRadio)->GetMembers(channelsList); for (const auto& channelsEntry : channelsList) { const std::shared_ptr<CPVRChannel> channel = channelsEntry->GetPVRChannelInfoTag(); const std::string channelDescription = StringUtils::Format("%s %s", channel->ChannelNumber().FormattedChannelNumber().c_str(), channel->ChannelName().c_str()); m_channelEntries.insert({index, ChannelDescriptor(channel->UniqueID(), channel->ClientID(), channelDescription)}); ++index; } }
bool CPVRManager::IsParentalLocked(const std::shared_ptr<CPVREpgInfoTag>& epgTag) const { return m_channelGroups && epgTag && IsCurrentlyParentalLocked(m_channelGroups->GetByUniqueID(epgTag->UniqueChannelID(), epgTag->ClientID()), epgTag->IsParentalLocked()); }