本文整理汇总了C++中CPVRChannelPtr::UpdatePath方法的典型用法代码示例。如果您正苦于以下问题:C++ CPVRChannelPtr::UpdatePath方法的具体用法?C++ CPVRChannelPtr::UpdatePath怎么用?C++ CPVRChannelPtr::UpdatePath使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CPVRChannelPtr
的用法示例。
在下文中一共展示了CPVRChannelPtr::UpdatePath方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: UpdateFromClient
CPVRChannelPtr CPVRChannelGroupInternal::UpdateFromClient(const CPVRChannelPtr &channel, const CPVRChannelNumber &channelNumber)
{
CSingleLock lock(m_critSection);
const PVRChannelGroupMember& realChannel(GetByUniqueID(channel->StorageId()));
if (realChannel.channel)
{
realChannel.channel->UpdateFromClient(channel);
return realChannel.channel;
}
else
{
unsigned int iChannelNumber = channelNumber.GetChannelNumber();
if (iChannelNumber == 0)
iChannelNumber = static_cast<int>(m_sortedMembers.size()) + 1;
PVRChannelGroupMember newMember(channel, CPVRChannelNumber(iChannelNumber, channelNumber.GetSubChannelNumber()), 0);
channel->UpdatePath(GetPath());
m_sortedMembers.push_back(newMember);
m_members.insert(std::make_pair(channel->StorageId(), newMember));
m_bChanged = true;
SortAndRenumber();
}
return channel;
}
示例2: UpdateFromClient
CPVRChannelPtr CPVRChannelGroupInternal::UpdateFromClient(const CPVRChannelPtr &channel, unsigned int iChannelNumber /* = 0 */)
{
assert(channel.get());
CSingleLock lock(m_critSection);
const PVRChannelGroupMember& realChannel(GetByUniqueID(channel->StorageId()));
if (realChannel.channel)
{
realChannel.channel->UpdateFromClient(channel);
return realChannel.channel;
}
else
{
PVRChannelGroupMember newMember = { channel, iChannelNumber > 0l ? iChannelNumber : (int)m_sortedMembers.size() + 1 };
channel->UpdatePath(this);
m_sortedMembers.push_back(newMember);
m_members.insert(std::make_pair(channel->StorageId(), newMember));
m_bChanged = true;
SortAndRenumber();
}
return channel;
}