本文整理汇总了C++中CPVRChannelGroupPtr::SetGroupType方法的典型用法代码示例。如果您正苦于以下问题:C++ CPVRChannelGroupPtr::SetGroupType方法的具体用法?C++ CPVRChannelGroupPtr::SetGroupType怎么用?C++ CPVRChannelGroupPtr::SetGroupType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CPVRChannelGroupPtr
的用法示例。
在下文中一共展示了CPVRChannelGroupPtr::SetGroupType方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Update
bool CPVRChannelGroups::Update(const CPVRChannelGroup &group, bool bUpdateFromClient /* = false */)
{
if (group.GroupName().empty() && group.GroupID() <= 0)
return true;
CPVRChannelGroupPtr updateGroup;
{
CSingleLock lock(m_critSection);
// There can be only one internal group! Make sure we never push a new one!
if (group.IsInternalGroup())
updateGroup = GetGroupAll();
// try to find the group by id
if (!updateGroup && group.GroupID() > 0)
updateGroup = GetById(group.GroupID());
// try to find the group by name if we didn't find it yet
if (!updateGroup)
updateGroup = GetByName(group.GroupName());
if (!updateGroup)
{
// create a new group if none was found. Copy the properties immediately
// so the group doesn't get flagged as "changed" further down.
updateGroup = CPVRChannelGroupPtr(new CPVRChannelGroup(group.IsRadio(), group.GroupID(), group.GroupName()));
m_groups.push_back(updateGroup);
}
updateGroup->SetRadio(group.IsRadio());
updateGroup->SetGroupID(group.GroupID());
updateGroup->SetGroupName(group.GroupName());
updateGroup->SetGroupType(group.GroupType());
updateGroup->SetPosition(group.GetPosition());
// don't override properties we only store locally in our PVR database
if (!bUpdateFromClient)
{
updateGroup->SetLastWatched(group.LastWatched());
updateGroup->SetHidden(group.IsHidden());
}
}
// sort groups
SortGroups();
// persist changes
if (bUpdateFromClient)
return updateGroup->Persist();
return true;
}
示例2: Update
bool CPVRChannelGroups::Update(const CPVRChannelGroup &group, bool bSaveInDb)
{
if (group.GroupName().empty() && group.GroupID() <= 0)
return true;
CPVRChannelGroupPtr updateGroup;
{
CSingleLock lock(m_critSection);
// try to find the group by id
if (group.GroupID() > 0)
updateGroup = GetById(group.GroupID());
// try to find the group by name if we didn't find it yet
if (!updateGroup)
updateGroup = GetByName(group.GroupName());
if (!updateGroup)
{
// create a new group if none was found
updateGroup = CPVRChannelGroupPtr(new CPVRChannelGroup(m_bRadio, group.GroupID(), group.GroupName()));
updateGroup->SetGroupType(group.GroupType());
updateGroup->SetLastWatched(group.LastWatched());
m_groups.push_back(updateGroup);
}
else
{
// update existing group
updateGroup->SetGroupID(group.GroupID());
updateGroup->SetGroupName(group.GroupName());
updateGroup->SetGroupType(group.GroupType());
}
}
// persist changes
if (bSaveInDb && updateGroup)
return updateGroup->Persist();
return true;
}