本文整理汇总了C++中CPVRTimerInfoTag::Number方法的典型用法代码示例。如果您正苦于以下问题:C++ CPVRTimerInfoTag::Number方法的具体用法?C++ CPVRTimerInfoTag::Number怎么用?C++ CPVRTimerInfoTag::Number使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CPVRTimerInfoTag
的用法示例。
在下文中一共展示了CPVRTimerInfoTag::Number方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: UpdateTimers
bool CPVRChannelGroupInternal::UpdateTimers(void)
{
/* update the timers with the new channel numbers */
CPVRTimers *timers = CPVRManager::GetTimers();
for (unsigned int ptr = 0; ptr < timers->size(); ptr++)
{
CPVRTimerInfoTag *timer = timers->at(ptr);
const CPVRChannel *tag = GetByClient(timer->Number(), timer->ClientID());
if (tag)
timer->SetNumber(tag->ChannelNumber());
}
return true;
}
示例2: MoveChannel
void CPVRChannels::MoveChannel(unsigned int iOldIndex, unsigned int iNewIndex)
{
if (iNewIndex == iOldIndex || iNewIndex == 0)
return;
CPVRDatabase *database = g_PVRManager.GetTVDatabase();
database->Open();
CPVRChannels tempChannels(m_bRadio);
/* move the channel */
tempChannels.push_back(at(iOldIndex - 1));
erase(begin() + iOldIndex - 1);
if (iNewIndex < size())
insert(begin() + iNewIndex - 1, tempChannels[0]);
else
push_back(tempChannels[0]);
/* update the channel numbers */
for (unsigned int ptr = 0; ptr < size(); ptr++)
{
CPVRChannel *channel = at(ptr);
if (channel->ChannelNumber() != (int) ptr + 1)
{
channel->SetChannelNumber(ptr + 1, true);
}
}
CLog::Log(LOGNOTICE, "%s - %s channel '%d' moved to '%d'",
__FUNCTION__, (m_bRadio ? "radio" : "tv"), iOldIndex, iNewIndex);
database->Close();
/* update the timers with the new channel numbers */
for (unsigned int ptr = 0; ptr < PVRTimers.size(); ptr++)
{
CPVRTimerInfoTag timer = PVRTimers[ptr];
CPVRChannel *tag = GetByClient(timer.Number(), timer.ClientID());
if (tag)
timer.SetNumber(tag->ChannelNumber());
}
m_bIsSorted = false;
}
示例3: Update
int CPVRTimers::Update()
{
CSingleLock lock(m_critSection);
CLog::Log(LOGDEBUG, "PVRTimers - %s - updating timers",
__FUNCTION__);
int iCurSize = size();
/* clear channel timers */
for (unsigned int iTimerPtr = 0; iTimerPtr < size(); iTimerPtr++)
{
CPVRTimerInfoTag *timerTag = &at(iTimerPtr);
if (!timerTag || !timerTag->Active())
continue;
CPVREpgInfoTag *epgTag = (CPVREpgInfoTag *)timerTag->EpgInfoTag();
if (!epgTag)
continue;
epgTag->SetTimer(NULL);
}
/* clear timers */
clear();
/* get all timers from the clients */
CLIENTMAP *clients = g_PVRManager.Clients();
CLIENTMAPITR itr = clients->begin();
while (itr != clients->end())
{
if (g_PVRManager.GetClientProps((*itr).second->GetID())->SupportTimers)
{
if ((*itr).second->GetNumTimers() > 0)
{
(*itr).second->GetAllTimers(this);
}
}
itr++;
}
//XXX
g_PVRManager.UpdateRecordingsCache();
/* set channel timers */
for (unsigned int ptr = 0; ptr < size(); ptr++)
{
/* get the timer tag */
CPVRTimerInfoTag *timerTag = &at(ptr);
if (!timerTag || !timerTag->Active())
continue;
/* try to get the channel */
CPVRChannel *channel = CPVRChannels::GetByClientFromAll(timerTag->Number(), timerTag->ClientID());
if (!channel)
continue;
/* try to get the EPG */
CPVREpg *epg = channel->GetEPG();
if (!epg)
continue;
/* try to set the timer on the epg tag that matches */
CPVREpgInfoTag *epgTag = (CPVREpgInfoTag *) epg->InfoTagBetween(timerTag->Start(), timerTag->Stop());
if (epgTag)
epgTag->SetTimer(timerTag);
}
return size() - iCurSize;
}