本文整理汇总了C++中CLIENTMAP::begin方法的典型用法代码示例。如果您正苦于以下问题:C++ CLIENTMAP::begin方法的具体用法?C++ CLIENTMAP::begin怎么用?C++ CLIENTMAP::begin使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CLIENTMAP
的用法示例。
在下文中一共展示了CLIENTMAP::begin方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetChannelGroupMembers
int CPVRClients::GetChannelGroupMembers(CPVRChannelGroup *group, PVR_ERROR *error)
{
*error = PVR_ERROR_NO_ERROR;
int iCurSize = group->GetNumChannels();
CLIENTMAP clients;
GetActiveClients(&clients);
/* get the member list from each client */
CLIENTMAPITR itrClients = clients.begin();
while (itrClients != clients.end())
{
if (HasChannelGroupSupport((*itrClients).first))
{
PVR_ERROR currentError;
currentError = (*itrClients).second->GetChannelGroupMembers(group);
if (currentError != PVR_ERROR_NO_ERROR)
*error = currentError;
}
itrClients++;
}
return group->GetNumChannels() - iCurSize;
}
示例2: GetChannels
int CPVRClients::GetChannels(CPVRChannelGroupInternal *group, PVR_ERROR *error)
{
*error = PVR_ERROR_NO_ERROR;
int iCurSize = group->GetNumChannels();
CLIENTMAP clients;
GetActiveClients(&clients);
/* get the channel list from each client */
CLIENTMAPITR itrClients = clients.begin();
while (itrClients != clients.end())
{
if ((*itrClients).second->ReadyToUse())
{
PVR_ERROR currentError;
currentError = (*itrClients).second->GetChannels(*group, group->IsRadio());
if (currentError != PVR_ERROR_NO_ERROR)
*error = currentError;
}
itrClients++;
}
return group->GetNumChannels() - iCurSize;
}
示例3: GetRecordings
int CPVRClients::GetRecordings(CPVRRecordings *recordings)
{
int iCurSize = recordings->size();
CLIENTMAP clients;
GetActiveClients(&clients);
CLIENTMAPITR itrClients = clients.begin();
while (itrClients != clients.end())
{
if (HasRecordingsSupport((*itrClients).first))
(*itrClients).second->GetRecordings(recordings);
itrClients++;
}
return recordings->size() - iCurSize;
}
示例4: GetTimers
int CPVRClients::GetTimers(CPVRTimers *timers)
{
int iCurSize = timers->size();
CLIENTMAP clients;
GetActiveClients(&clients);
/* get the timer list from each client */
CLIENTMAPITR itrClients = clients.begin();
while (itrClients != clients.end())
{
if (HasTimerSupport((*itrClients).first))
(*itrClients).second->GetTimers(timers);
++itrClients;
}
return timers->size() - iCurSize;
}
示例5: GetChannelGroups
int CPVRClients::GetChannelGroups(CPVRChannelGroups *groups, PVR_ERROR *error)
{
*error = PVR_ERROR_UNKNOWN;
int iCurSize = groups->size();
CLIENTMAP clients;
GetActiveClients(&clients);
/* get the channel groups list from each client */
CLIENTMAPITR itrClients = clients.begin();
while (itrClients != clients.end())
{
if (HasChannelGroupSupport((*itrClients).first))
(*itrClients).second->GetChannelGroups(groups);
itrClients++;
}
return groups->size() - iCurSize;
}
示例6: GetFromClients
int CPVRChannelGroupInternal::GetFromClients(void)
{
CLIENTMAP *clients = CPVRManager::Get()->Clients();
if (!clients)
return 0;
int iCurSize = size();
/* get the channel list from each client */
CLIENTMAPITR itrClients = clients->begin();
while (itrClients != clients->end())
{
if ((*itrClients).second->ReadyToUse() && (*itrClients).second->GetNumChannels() > 0)
(*itrClients).second->GetChannelList(*this, m_bRadio);
itrClients++;
}
return size() - iCurSize;
}
示例7: UpdateBackendCache
void CPVRGUIInfo::UpdateBackendCache(void)
{
CStdString strBackendName;
CStdString strBackendVersion;
CStdString strBackendHost;
CStdString strBackendDiskspace;
CStdString strBackendTimers;
CStdString strBackendRecordings;
CStdString strBackendChannels;
int iActiveClients(0);
if (!AddonInfoToggle())
return;
CPVRClients *clients = g_PVRClients;
CLIENTMAP activeClients;
iActiveClients = clients->GetConnectedClients(&activeClients);
if (iActiveClients > 0)
{
CLIENTMAPITR activeClient = activeClients.begin();
/* safe to read unlocked */
for (unsigned int i = 0; i < m_iAddonInfoToggleCurrent; i++)
activeClient++;
long long kBTotal = 0;
long long kBUsed = 0;
if (activeClient->second->GetDriveSpace(&kBTotal, &kBUsed) == PVR_ERROR_NO_ERROR)
{
kBTotal /= 1024; // Convert to MBytes
kBUsed /= 1024; // Convert to MBytes
strBackendDiskspace.Format("%s %.1f GByte - %s: %.1f GByte",
g_localizeStrings.Get(20161), (float) kBTotal / 1024, g_localizeStrings.Get(20162), (float) kBUsed / 1024);
}
else
{
strBackendDiskspace = g_localizeStrings.Get(19055);
}
int NumChannels = activeClient->second->GetChannelsAmount();
if (NumChannels >= 0)
strBackendChannels.Format("%i", NumChannels);
else
strBackendChannels = g_localizeStrings.Get(161);
int NumTimers = activeClient->second->GetTimersAmount();
if (NumTimers >= 0)
strBackendTimers.Format("%i", NumTimers);
else
strBackendTimers = g_localizeStrings.Get(161);
int NumRecordings = activeClient->second->GetRecordingsAmount();
if (NumRecordings >= 0)
strBackendRecordings.Format("%i", NumRecordings);
else
strBackendRecordings = g_localizeStrings.Get(161);
strBackendName = activeClient->second->GetBackendName();
strBackendVersion = activeClient->second->GetBackendVersion();
strBackendHost = activeClient->second->GetConnectionString();
}
CSingleLock lock(m_critSection);
m_strBackendName = strBackendName;
m_strBackendVersion = strBackendVersion;
m_strBackendHost = strBackendHost;
m_strBackendDiskspace = strBackendDiskspace;
m_strBackendTimers = strBackendTimers;
m_strBackendRecordings = strBackendRecordings;
m_strBackendChannels = strBackendChannels;
m_iActiveClients = iActiveClients;
}
示例8: 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;
}