本文整理汇总了C++中CPVRChannel::ChannelName方法的典型用法代码示例。如果您正苦于以下问题:C++ CPVRChannel::ChannelName方法的具体用法?C++ CPVRChannel::ChannelName怎么用?C++ CPVRChannel::ChannelName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CPVRChannel
的用法示例。
在下文中一共展示了CPVRChannel::ChannelName方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SaveCurrentChannelSettings
void CPVRClients::SaveCurrentChannelSettings(void)
{
CPVRChannel channel;
{
CSingleLock lock(m_critSection);
if (!GetPlayingChannel(channel) || !m_bIsValidChannelSettings)
return;
}
CPVRDatabase *database = GetPVRDatabase();
if (!database)
return;
if (g_settings.m_currentVideoSettings != g_settings.m_defaultVideoSettings)
{
CLog::Log(LOGDEBUG, "PVR - %s - persisting custom channel settings for channel '%s'",
__FUNCTION__, channel.ChannelName().c_str());
database->PersistChannelSettings(channel, g_settings.m_currentVideoSettings);
}
else
{
CLog::Log(LOGDEBUG, "PVR - %s - no custom channel settings for channel '%s'",
__FUNCTION__, channel.ChannelName().c_str());
database->DeleteChannelSettings(channel);
}
}
示例2: OnContextButtonUpdateEpg
bool CGUIWindowPVRChannels::OnContextButtonUpdateEpg(CFileItem *item, CONTEXT_BUTTON button)
{
bool bReturn = false;
if (button == CONTEXT_BUTTON_UPDATE_EPG)
{
CGUIDialogYesNo* pDialog = (CGUIDialogYesNo*)g_windowManager.GetWindow(WINDOW_DIALOG_YES_NO);
if (!pDialog)
return bReturn;
CPVRChannel *channel = item->GetPVRChannelInfoTag();
pDialog->SetHeading(19251);
pDialog->SetLine(0, g_localizeStrings.Get(19252));
pDialog->SetLine(1, channel->ChannelName());
pDialog->SetLine(2, "");
pDialog->DoModal();
if (!pDialog->IsConfirmed())
return bReturn;
bReturn = UpdateEpgForChannel(item);
CStdString strMessage;
strMessage.Format("%s: '%s'", g_localizeStrings.Get(bReturn ? 19253 : 19254), channel->ChannelName());
CGUIDialogKaiToast::QueueNotification(bReturn ? CGUIDialogKaiToast::Info : CGUIDialogKaiToast::Error,
g_localizeStrings.Get(19166),
strMessage);
}
return bReturn;
}
示例3: PerformChannelSwitch
bool CPVRManager::PerformChannelSwitch(const CPVRChannel &channel, bool bPreview)
{
bool bSwitched(false);
CSingleLock lock(m_critSection);
if (m_bIsSwitchingChannels)
{
CLog::Log(LOGDEBUG, "PVRManager - %s - can't switch to channel '%s'. waiting for the previous switch to complete",
__FUNCTION__, channel.ChannelName().c_str());
return bSwitched;
}
m_bIsSwitchingChannels = true;
CLog::Log(LOGDEBUG, "PVRManager - %s - switching to channel '%s'",
__FUNCTION__, channel.ChannelName().c_str());
/* make sure that channel settings are persisted */
if (!bPreview)
SaveCurrentChannelSettings();
if (m_currentFile)
{
delete m_currentFile;
m_currentFile = NULL;
}
lock.Leave();
if (!bPreview && (channel.ClientID() < 0 || !m_addons->SwitchChannel(channel)))
{
lock.Enter();
m_bIsSwitchingChannels = false;
lock.Leave();
CLog::Log(LOGERROR, "PVRManager - %s - failed to switch to channel '%s'",
__FUNCTION__, channel.ChannelName().c_str());
}
else
{
bSwitched = true;
lock.Enter();
m_currentFile = new CFileItem(channel);
if (!bPreview)
CLog::Log(LOGNOTICE, "PVRManager - %s - switched to channel '%s'",
__FUNCTION__, channel.ChannelName().c_str());
m_bIsSwitchingChannels = false;
}
if (!bSwitched)
{
CGUIDialogKaiToast::QueueNotification(CGUIDialogKaiToast::Error,
g_localizeStrings.Get(19166),
g_localizeStrings.Get(19035));
}
return bSwitched;
}
示例4: RemoveInvalidChannels
void CPVRChannelGroup::RemoveInvalidChannels(void)
{
for (unsigned int ptr = 0; ptr < size(); ptr--)
{
CPVRChannel *channel = at(ptr).channel;
if (channel->IsVirtual())
continue;
if (at(ptr).channel->ClientChannelNumber() <= 0)
{
CLog::Log(LOGERROR, "PVRChannelGroup - %s - removing invalid channel '%s' from client '%i': no valid client channel number",
__FUNCTION__, channel->ChannelName().c_str(), channel->ClientID());
erase(begin() + ptr);
ptr--;
m_bChanged = true;
continue;
}
if (channel->UniqueID() <= 0)
{
CLog::Log(LOGERROR, "PVRChannelGroup - %s - removing invalid channel '%s' from client '%i': no valid unique ID",
__FUNCTION__, channel->ChannelName().c_str(), channel->ClientID());
erase(begin() + ptr);
ptr--;
m_bChanged = true;
continue;
}
}
}
示例5: Persist
bool CPVRDatabase::Persist(CPVRChannel &channel, bool bQueueWrite /* = false */)
{
bool bReturn(false);
/* invalid channel */
if (channel.UniqueID() <= 0)
{
CLog::Log(LOGERROR, "PVR - %s - invalid channel uid: %d", __FUNCTION__, channel.UniqueID());
return bReturn;
}
CStdString strQuery;
if (channel.ChannelID() <= 0)
{
/* new channel */
strQuery = PrepareSQL("INSERT INTO channels ("
"iUniqueId, bIsRadio, bIsHidden, bIsUserSetIcon, bIsLocked, "
"sIconPath, sChannelName, bIsVirtual, bEPGEnabled, sEPGScraper, iLastWatched, iClientId, "
"iClientChannelNumber, sInputFormat, sStreamURL, iEncryptionSystem, idEpg) "
"VALUES (%i, %i, %i, %i, %i, '%s', '%s', %i, %i, '%s', %u, %i, %i, '%s', '%s', %i, %i)",
channel.UniqueID(), (channel.IsRadio() ? 1 :0), (channel.IsHidden() ? 1 : 0), (channel.IsUserSetIcon() ? 1 : 0), (channel.IsLocked() ? 1 : 0),
channel.IconPath().c_str(), channel.ChannelName().c_str(), (channel.IsVirtual() ? 1 : 0), (channel.EPGEnabled() ? 1 : 0), channel.EPGScraper().c_str(), channel.LastWatched(), channel.ClientID(),
channel.ClientChannelNumber(), channel.InputFormat().c_str(), channel.StreamURL().c_str(), channel.EncryptionSystem(),
channel.EpgID());
}
else
{
/* update channel */
strQuery = PrepareSQL("REPLACE INTO channels ("
"iUniqueId, bIsRadio, bIsHidden, bIsUserSetIcon, bIsLocked, "
"sIconPath, sChannelName, bIsVirtual, bEPGEnabled, sEPGScraper, iLastWatched, iClientId, "
"iClientChannelNumber, sInputFormat, sStreamURL, iEncryptionSystem, idChannel, idEpg) "
"VALUES (%i, %i, %i, %i, %i, '%s', '%s', %i, %i, '%s', %u, %i, %i, '%s', '%s', %i, %i, %i)",
channel.UniqueID(), (channel.IsRadio() ? 1 :0), (channel.IsHidden() ? 1 : 0), (channel.IsUserSetIcon() ? 1 : 0), (channel.IsLocked() ? 1 : 0),
channel.IconPath().c_str(), channel.ChannelName().c_str(), (channel.IsVirtual() ? 1 : 0), (channel.EPGEnabled() ? 1 : 0), channel.EPGScraper().c_str(), channel.LastWatched(), channel.ClientID(),
channel.ClientChannelNumber(), channel.InputFormat().c_str(), channel.StreamURL().c_str(), channel.EncryptionSystem(), channel.ChannelID(),
channel.EpgID());
}
if (bQueueWrite)
{
QueueInsertQuery(strQuery);
bReturn = true;
}
else if (ExecuteQuery(strQuery))
{
CSingleLock lock(channel.m_critSection);
if (channel.m_iChannelId <= 0)
channel.m_iChannelId = (int)m_pDS->lastinsertid();
bReturn = true;
}
return bReturn;
}
示例6: Persist
int CPVRDatabase::Persist(const CPVRChannel &channel, bool bQueueWrite /* = false */)
{
int iReturn = -1;
/* invalid channel */
if (channel.UniqueID() <= 0)
{
CLog::Log(LOGERROR, "PVRDB - %s - invalid channel uid: %d",
__FUNCTION__, channel.UniqueID());
return iReturn;
}
CStdString strQuery;
if (channel.ChannelID() <= 0)
{
/* new channel */
strQuery = FormatSQL("INSERT INTO channels ("
"iUniqueId, bIsRadio, bIsHidden, "
"sIconPath, sChannelName, bIsVirtual, bEPGEnabled, sEPGScraper, iLastWatched, iClientId, "
"iClientChannelNumber, sInputFormat, sStreamURL, iEncryptionSystem, idEpg) "
"VALUES (%i, %i, %i, '%s', '%s', %i, %i, '%s', %u, %i, %i, '%s', '%s', %i, %i);",
channel.UniqueID(), (channel.IsRadio() ? 1 :0), (channel.IsHidden() ? 1 : 0),
channel.IconPath().c_str(), channel.ChannelName().c_str(), (channel.IsVirtual() ? 1 : 0), (channel.EPGEnabled() ? 1 : 0), channel.EPGScraper().c_str(), channel.LastWatched(), channel.ClientID(),
channel.ClientChannelNumber(), channel.InputFormat().c_str(), channel.StreamURL().c_str(), channel.EncryptionSystem(),
channel.EpgID());
}
else
{
/* update channel */
strQuery = FormatSQL("REPLACE INTO channels ("
"iUniqueId, bIsRadio, bIsHidden, "
"sIconPath, sChannelName, bIsVirtual, bEPGEnabled, sEPGScraper, iLastWatched, iClientId, "
"iClientChannelNumber, sInputFormat, sStreamURL, iEncryptionSystem, idChannel, idEpg) "
"VALUES (%i, %i, %i, '%s', '%s', %i, %i, '%s', %u, %i, %i, '%s', '%s', %i, %i, %i);",
channel.UniqueID(), (channel.IsRadio() ? 1 :0), (channel.IsHidden() ? 1 : 0),
channel.IconPath().c_str(), channel.ChannelName().c_str(), (channel.IsVirtual() ? 1 : 0), (channel.EPGEnabled() ? 1 : 0), channel.EPGScraper().c_str(), channel.LastWatched(), channel.ClientID(),
channel.ClientChannelNumber(), channel.InputFormat().c_str(), channel.StreamURL().c_str(), channel.EncryptionSystem(), channel.ChannelID(),
channel.EpgID());
}
if (bQueueWrite)
{
QueueInsertQuery(strQuery);
iReturn = 0;
}
else if (ExecuteQuery(strQuery))
{
iReturn = (channel.ChannelID() <= 0) ? (int) m_pDS->lastinsertid() : channel.ChannelID();
}
return iReturn;
}
示例7: UpdateChannel
long CPVRDatabase::UpdateChannel(const CPVRChannel &channel, bool bQueueWrite /* = false */)
{
long iReturn = -1;
/* invalid channel */
if (channel.UniqueID() <= 0)
{
CLog::Log(LOGERROR, "PVRDB - %s - invalid channel uid: %d",
__FUNCTION__, channel.UniqueID());
return iReturn;
}
CStdString strQuery;
if (channel.ChannelID() <= 0)
{
/* new channel */
strQuery = FormatSQL("INSERT INTO Channels ("
"UniqueId, ChannelNumber, GroupId, IsRadio, IsHidden, "
"IconPath, ChannelName, IsVirtual, EPGEnabled, EPGScraper, ClientId, "
"ClientChannelNumber, InputFormat, StreamURL, EncryptionSystem) "
"VALUES (%i, %i, %i, %i, %i, '%s', '%s', %i, %i, '%s', %i, %i, '%s', '%s', %i)\n",
channel.UniqueID(), channel.ChannelNumber(), channel.GroupID(), (channel.IsRadio() ? 1 :0), (channel.IsHidden() ? 1 : 0),
channel.IconPath().c_str(), channel.ChannelName().c_str(), (channel.IsVirtual() ? 1 : 0), (channel.EPGEnabled() ? 1 : 0), channel.EPGScraper().c_str(), channel.ClientID(),
channel.ClientChannelNumber(), channel.InputFormat().c_str(), channel.StreamURL().c_str(), channel.EncryptionSystem());
}
else
{
/* update channel */
strQuery = FormatSQL("REPLACE INTO Channels ("
"UniqueId, ChannelNumber, GroupId, IsRadio, IsHidden, "
"IconPath, ChannelName, IsVirtual, EPGEnabled, EPGScraper, ClientId, "
"ClientChannelNumber, InputFormat, StreamURL, EncryptionSystem, ChannelId) "
"VALUES (%i, %i, %i, %i, %i, '%s', '%s', %i, %i, '%s', %i, %i, '%s', '%s', %i, %i)\n",
channel.UniqueID(), channel.ChannelNumber(), channel.GroupID(), (channel.IsRadio() ? 1 :0), (channel.IsHidden() ? 1 : 0),
channel.IconPath().c_str(), channel.ChannelName().c_str(), (channel.IsVirtual() ? 1 : 0), (channel.EPGEnabled() ? 1 : 0), channel.EPGScraper().c_str(), channel.ClientID(),
channel.ClientChannelNumber(), channel.InputFormat().c_str(), channel.StreamURL().c_str(), channel.EncryptionSystem(), channel.ChannelID());
}
if (bQueueWrite)
{
QueueInsertQuery(strQuery);
iReturn = 0;
}
else if (ExecuteQuery(strQuery))
{
iReturn = (channel.ChannelID() <= 0) ? (long) m_pDS->lastinsertid() : channel.ChannelID();
}
return iReturn;
}
示例8: Persist
bool CPVRDatabase::Persist(CPVRChannel &channel)
{
bool bReturn(false);
/* invalid channel */
if (channel.UniqueID() <= 0)
{
CLog::Log(LOGERROR, "PVR - %s - invalid channel uid: %d", __FUNCTION__, channel.UniqueID());
return bReturn;
}
std::string strQuery;
if (channel.ChannelID() <= 0)
{
/* new channel */
strQuery = PrepareSQL("INSERT INTO channels ("
"iUniqueId, bIsRadio, bIsHidden, bIsUserSetIcon, bIsUserSetName, bIsLocked, "
"sIconPath, sChannelName, bIsVirtual, bEPGEnabled, sEPGScraper, iLastWatched, iClientId, "
"idEpg) "
"VALUES (%i, %i, %i, %i, %i, %i, '%s', '%s', %i, %i, '%s', %u, %i, %i)",
channel.UniqueID(), (channel.IsRadio() ? 1 :0), (channel.IsHidden() ? 1 : 0), (channel.IsUserSetIcon() ? 1 : 0), (channel.IsUserSetName() ? 1 : 0), (channel.IsLocked() ? 1 : 0),
channel.IconPath().c_str(), channel.ChannelName().c_str(), 0, (channel.EPGEnabled() ? 1 : 0), channel.EPGScraper().c_str(), channel.LastWatched(), channel.ClientID(),
channel.EpgID());
}
else
{
/* update channel */
strQuery = PrepareSQL("REPLACE INTO channels ("
"iUniqueId, bIsRadio, bIsHidden, bIsUserSetIcon, bIsUserSetName, bIsLocked, "
"sIconPath, sChannelName, bIsVirtual, bEPGEnabled, sEPGScraper, iLastWatched, iClientId, "
"idChannel, idEpg) "
"VALUES (%i, %i, %i, %i, %i, %i, '%s', '%s', %i, %i, '%s', %u, %i, %i, %i)",
channel.UniqueID(), (channel.IsRadio() ? 1 :0), (channel.IsHidden() ? 1 : 0), (channel.IsUserSetIcon() ? 1 : 0), (channel.IsUserSetName() ? 1 : 0), (channel.IsLocked() ? 1 : 0),
channel.IconPath().c_str(), channel.ChannelName().c_str(), 0, (channel.EPGEnabled() ? 1 : 0), channel.EPGScraper().c_str(), channel.LastWatched(), channel.ClientID(),
channel.ChannelID(),
channel.EpgID());
}
if (QueueInsertQuery(strQuery))
{
/* update the channel ID for new channels */
if (channel.ChannelID() <= 0)
channel.SetChannelID((int)m_pDS->lastinsertid());
bReturn = true;
}
return bReturn;
}
示例9: GetEPGNext
int CPVREpgContainer::GetEPGNext(CFileItemList* results, bool bRadio)
{
CPVRChannelGroup *channels = (CPVRChannelGroup *) CPVRManager::GetChannelGroups()->GetGroupAll(bRadio);
CSingleLock lock(m_critSection);
int iInitialSize = results->Size();
for (unsigned int iChannelPtr = 0; iChannelPtr < channels->Size(); iChannelPtr++)
{
CPVRChannel *channel = (CPVRChannel *) channels->GetByIndex(iChannelPtr);
CPVREpg *epg = channel->GetEPG();
if (!epg->HasValidEntries())
continue;
const CPVREpgInfoTag *epgNext = (CPVREpgInfoTag *) epg->InfoTagNext();
if (!epgNext)
continue;
CFileItemPtr entry(new CFileItem(*epgNext));
entry->SetLabel2(epgNext->Start().GetAsLocalizedTime("", false));
entry->m_strPath = channel->ChannelName();
entry->SetThumbnailImage(channel->IconPath());
results->Add(entry);
}
return results->Size() - iInitialSize;
}
示例10: ActionDeleteChannel
bool CGUIWindowPVRCommon::ActionDeleteChannel(CFileItem *item)
{
CPVRChannel *channel = item->GetPVRChannelInfoTag();
/* check if the channel tag is valid */
if (!channel || channel->ChannelNumber() <= 0)
return false;
/* show a confirmation dialog */
CGUIDialogYesNo* pDialog = (CGUIDialogYesNo*) g_windowManager.GetWindow(WINDOW_DIALOG_YES_NO);
if (pDialog)
return false;
pDialog->SetHeading(19039);
pDialog->SetLine(0, "");
pDialog->SetLine(1, channel->ChannelName());
pDialog->SetLine(2, "");
pDialog->DoModal();
/* prompt for the user's confirmation */
if (!pDialog->IsConfirmed())
return false;
g_PVRChannelGroups->GetGroupAll(channel->IsRadio())->RemoveFromGroup(*channel);
UpdateData();
return true;
}
示例11: GetChannelSettings
bool CPVRDatabase::GetChannelSettings(const CPVRChannel &channel, CVideoSettings &settings)
{
bool bReturn = false;
/* invalid channel */
if (channel.ChannelID() <= 0)
{
CLog::Log(LOGERROR, "PVRDB - %s - invalid channel id: %i",
__FUNCTION__, channel.ChannelID());
return bReturn;
}
CStdString strQuery = FormatSQL("SELECT * FROM channelsettings WHERE idChannel = %u;", channel.ChannelID());
if (ResultQuery(strQuery))
{
try
{
if (m_pDS->num_rows() > 0)
{
settings.m_AudioDelay = m_pDS->fv("fAudioDelay").get_asFloat();
settings.m_AudioStream = m_pDS->fv("iAudioStream").get_asInt();
settings.m_Brightness = m_pDS->fv("fBrightness").get_asFloat();
settings.m_Contrast = m_pDS->fv("fContrast").get_asFloat();
settings.m_CustomPixelRatio = m_pDS->fv("fPixelRatio").get_asFloat();
settings.m_CustomNonLinStretch = m_pDS->fv("bCustomNonLinStretch").get_asBool();
settings.m_NoiseReduction = m_pDS->fv("fNoiseReduction").get_asFloat();
settings.m_PostProcess = m_pDS->fv("bPostProcess").get_asBool();
settings.m_Sharpness = m_pDS->fv("fSharpness").get_asFloat();
settings.m_CustomZoomAmount = m_pDS->fv("fCustomZoomAmount").get_asFloat();
settings.m_CustomVerticalShift = m_pDS->fv("fCustomVerticalShift").get_asFloat();
settings.m_Gamma = m_pDS->fv("fGamma").get_asFloat();
settings.m_SubtitleDelay = m_pDS->fv("fSubtitleDelay").get_asFloat();
settings.m_SubtitleOn = m_pDS->fv("bSubtitles").get_asBool();
settings.m_SubtitleStream = m_pDS->fv("iSubtitleStream").get_asInt();
settings.m_ViewMode = m_pDS->fv("iViewMode").get_asInt();
settings.m_Crop = m_pDS->fv("bCrop").get_asBool();
settings.m_CropLeft = m_pDS->fv("iCropLeft").get_asInt();
settings.m_CropRight = m_pDS->fv("iCropRight").get_asInt();
settings.m_CropTop = m_pDS->fv("iCropTop").get_asInt();
settings.m_CropBottom = m_pDS->fv("iCropBottom").get_asInt();
settings.m_InterlaceMethod = (EINTERLACEMETHOD)m_pDS->fv("iInterlaceMethod").get_asInt();
settings.m_VolumeAmplification = m_pDS->fv("fVolumeAmplification").get_asFloat();
settings.m_OutputToAllSpeakers = m_pDS->fv("bOutputToAllSpeakers").get_asBool();
settings.m_ScalingMethod = (ESCALINGMETHOD)m_pDS->fv("iScalingMethod").get_asInt();
bReturn = true;
}
m_pDS->close();
}
catch(...)
{
CLog::Log(LOGERROR, "PVRDB - %s - failed to get channel settings for channel '%s'",
__FUNCTION__, channel.ChannelName().c_str());
}
}
return bReturn;
}
示例12: RemoveDeletedChannels
bool CPVRChannelGroup::RemoveDeletedChannels(const CPVRChannelGroup &channels)
{
bool bReturn(false);
CSingleLock lock(m_critSection);
/* check for deleted channels */
for (int iChannelPtr = size() - 1; iChannelPtr >= 0; iChannelPtr--)
{
CPVRChannel *channel = at(iChannelPtr).channel;
if (!channel)
continue;
if (channels.GetByClient(channel->UniqueID(), channel->ClientID()) == NULL)
{
/* channel was not found */
CLog::Log(LOGINFO,"PVRChannelGroup - %s - deleted %s channel '%s' from group '%s'",
__FUNCTION__, m_bRadio ? "radio" : "TV", channel->ChannelName().c_str(), GroupName().c_str());
/* remove this channel from all non-system groups if this is the internal group */
if (IsInternalGroup())
{
g_PVRChannelGroups->Get(m_bRadio)->RemoveFromAllGroups(channel);
/* since it was not found in the internal group, it was deleted from the backend */
channel->Delete();
}
erase(begin() + iChannelPtr);
m_bChanged = true;
bReturn = true;
}
}
return bReturn;
}
示例13: AddAndUpdateChannels
bool CPVRChannelGroup::AddAndUpdateChannels(const CPVRChannelGroup &channels, bool bUseBackendChannelNumbers)
{
bool bReturn(false);
CSingleLock lock(m_critSection);
/* go through the channel list and check for new channels.
channels will only by updated in CPVRChannelGroupInternal to prevent dupe updates */
for (unsigned int iChannelPtr = 0; iChannelPtr < channels.size(); iChannelPtr++)
{
PVRChannelGroupMember member = channels.at(iChannelPtr);
if (!member.channel)
continue;
/* check whether this channel is known in the internal group */
CPVRChannel *existingChannel = (CPVRChannel *) g_PVRChannelGroups->GetGroupAll(m_bRadio)->GetByClient(member.channel->UniqueID(), member.channel->ClientID());
if (!existingChannel)
continue;
/* if it's found, add the channel to this group */
if (!IsGroupMember(*existingChannel))
{
int iChannelNumber = bUseBackendChannelNumbers ? member.channel->ClientChannelNumber() : 0;
AddToGroup(*existingChannel, iChannelNumber, false);
bReturn = true;
CLog::Log(LOGINFO,"PVRChannelGroup - %s - added %s channel '%s' at position %d in group '%s'",
__FUNCTION__, m_bRadio ? "radio" : "TV", existingChannel->ChannelName().c_str(), iChannelNumber, GroupName().c_str());
}
}
return bReturn;
}
示例14: GetEPGNext
int CPVRChannelGroup::GetEPGNext(CFileItemList &results)
{
int iInitialSize = results.Size();
CSingleLock lock(m_critSection);
for (unsigned int iChannelPtr = 0; iChannelPtr < size(); iChannelPtr++)
{
CPVRChannel *channel = at(iChannelPtr).channel;
CEpg *epg = channel->GetEPG();
if (!epg || !epg->HasValidEntries() || at(iChannelPtr).channel->IsHidden())
continue;
CEpgInfoTag epgNow;
if (!epg->InfoTagNext(epgNow))
continue;
CFileItemPtr entry(new CFileItem(epgNow));
entry->SetLabel2(epgNow.StartAsLocalTime().GetAsLocalizedTime(StringUtils::EmptyString, false));
entry->SetPath(channel->ChannelName());
entry->SetThumbnailImage(channel->IconPath());
results.Add(entry);
}
return results.Size() - iInitialSize;
}
示例15: GetEPGNext
int CPVREpgs::GetEPGNext(CFileItemList* results, bool bRadio)
{
CPVRChannels *channels = bRadio ? &PVRChannelsRadio : &PVRChannelsTV;
int iInitialSize = results->Size();
for (unsigned int iChannelPtr = 0; iChannelPtr < channels->size(); iChannelPtr++)
{
CPVRChannel *channel = channels->GetByIndex(iChannelPtr);
CPVREpg *epg = channel->GetEPG();
if (!epg->HasValidEntries() || epg->IsUpdateRunning())
continue;
const CPVREpgInfoTag *epgNext = epg->InfoTagNext();
if (!epgNext)
{
continue;
}
CFileItemPtr entry(new CFileItem(*epgNext));
entry->SetLabel2(epgNext->Start().GetAsLocalizedTime("", false));
entry->m_strPath = channel->ChannelName();
entry->SetThumbnailImage(channel->IconPath());
results->Add(entry);
}
return results->Size() - iInitialSize;
}