本文整理汇总了C++中CPVRTimerInfoTagPtr::DeleteFromClient方法的典型用法代码示例。如果您正苦于以下问题:C++ CPVRTimerInfoTagPtr::DeleteFromClient方法的具体用法?C++ CPVRTimerInfoTagPtr::DeleteFromClient怎么用?C++ CPVRTimerInfoTagPtr::DeleteFromClient使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CPVRTimerInfoTagPtr
的用法示例。
在下文中一共展示了CPVRTimerInfoTagPtr::DeleteFromClient方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DeleteTimer
bool CPVRTimers::DeleteTimer(const CFileItem &item, bool bForce /* = false */, bool bDeleteSchedule /* = false */)
{
/* Check if a CPVRTimerInfoTag is inside file item */
if (!item.IsPVRTimer())
{
CLog::Log(LOGERROR, "PVRTimers - %s - no TimerInfoTag given", __FUNCTION__);
return false;
}
CPVRTimerInfoTagPtr tag = item.GetPVRTimerInfoTag();
if (!tag)
return false;
if (bDeleteSchedule)
{
/* delete the repeating timer that scheduled this timer. */
tag = g_PVRTimers->GetByClient(tag->m_iClientId, tag->GetTimerScheduleId());
if (!tag)
{
CLog::Log(LOGERROR, "PVRTimers - %s - unable to obtain parent timer for given timer", __FUNCTION__);
return false;
}
}
return tag->DeleteFromClient(bForce);
}
示例2: DeleteTimersOnChannel
bool CPVRTimers::DeleteTimersOnChannel(const CPVRChannel &channel, bool bDeleteRepeating /* = true */, bool bCurrentlyActiveOnly /* = false */)
{
bool bReturn = false;
CSingleLock lock(m_critSection);
for (map<CDateTime, vector<CPVRTimerInfoTagPtr>* >::reverse_iterator it = m_tags.rbegin(); it != m_tags.rend(); it++)
{
for (vector<CPVRTimerInfoTagPtr>::iterator timerIt = it->second->begin(); timerIt != it->second->end(); timerIt++)
{
CPVRTimerInfoTagPtr timer = (*timerIt);
if (bCurrentlyActiveOnly &&
(CDateTime::GetCurrentDateTime() < timer->StartAsLocalTime() ||
CDateTime::GetCurrentDateTime() > timer->EndAsLocalTime()))
continue;
if (!bDeleteRepeating && timer->m_bIsRepeating)
continue;
if (timer->ChannelNumber() == channel.ChannelNumber() && timer->m_bIsRadio == channel.IsRadio())
{
bReturn = timer->DeleteFromClient(true) || bReturn;
it->second->erase(timerIt);
}
}
}
return bReturn;
}
示例3: DeleteTimer
bool CPVRTimers::DeleteTimer(const CPVRTimerInfoTagPtr &tag, bool bForce /* = false */, bool bDeleteRule /* = false */)
{
if (!tag)
return false;
if (bDeleteRule)
{
/* delete the timer rule that scheduled this timer. */
CPVRTimerInfoTagPtr ruleTag = g_PVRTimers->GetByClient(tag->m_iClientId, tag->GetTimerRuleId());
if (!ruleTag)
{
CLog::Log(LOGERROR, "PVRTimers - %s - unable to obtain timer rule for given timer", __FUNCTION__);
return false;
}
return ruleTag->DeleteFromClient(bForce);
}
return tag->DeleteFromClient(bForce);
}
示例4: DeleteTimer
TimerOperationResult CPVRTimers::DeleteTimer(const CPVRTimerInfoTagPtr &tag, bool bForce /* = false */, bool bDeleteRule /* = false */)
{
if (!tag)
return TimerOperationResult::FAILED;
if (bDeleteRule)
{
/* delete the timer rule that scheduled this timer. */
CPVRTimerInfoTagPtr ruleTag = CServiceBroker::GetPVRManager().Timers()->GetByClient(tag->m_iClientId, tag->GetTimerRuleId());
if (!ruleTag)
{
CLog::LogF(LOGERROR, "Unable to obtain timer rule for given timer");
return TimerOperationResult::FAILED;
}
return ruleTag->DeleteFromClient(bForce);
}
return tag->DeleteFromClient(bForce);
}
示例5: DeleteTimer
bool CPVRTimers::DeleteTimer(const CFileItem &item, bool bForce /* = false */, bool bDeleteSchedule /* = false */)
{
/* Check if a CPVRTimerInfoTag is inside file item */
if (!item.IsPVRTimer())
{
CLog::Log(LOGERROR, "PVRTimers - %s - no TimerInfoTag given", __FUNCTION__);
return false;
}
const CPVRTimerInfoTagPtr tag = item.GetPVRTimerInfoTag();
if (!tag)
return false;
return tag->DeleteFromClient(bForce, bDeleteSchedule);
}