本文整理汇总了C++中CPVRDatabase::Get方法的典型用法代码示例。如果您正苦于以下问题:C++ CPVRDatabase::Get方法的具体用法?C++ CPVRDatabase::Get怎么用?C++ CPVRDatabase::Get使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CPVRDatabase
的用法示例。
在下文中一共展示了CPVRDatabase::Get方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: LoadFromDb
int CPVRChannelGroupInternal::LoadFromDb(bool bCompress /* = false */)
{
CPVRDatabase *database = OpenPVRDatabase();
if (!database)
return -1;
int iChannelCount = size();
if (database->Get(*this) > 0)
{
if (bCompress)
database->Compress(true);
}
else
{
CLog::Log(LOGINFO, "PVRChannelGroupInternal - %s - no channels in the database",
__FUNCTION__);
}
database->Close();
SortByChannelNumber();
return size() - iChannelCount;
}
示例2: LoadUserDefinedChannelGroups
bool CPVRChannelGroups::LoadUserDefinedChannelGroups(void)
{
CPVRDatabase *database = GetPVRDatabase();
if (!database)
return false;
bool bSyncWithBackends = g_guiSettings.GetBool("pvrmanager.syncchannelgroups");
CSingleLock lock(m_critSection);
// load the other groups from the database
int iSize = m_groups.size();
database->Get(*this);
CLog::Log(LOGDEBUG, "PVR - %s - %d user defined %s channel groups fetched from the database", __FUNCTION__, (int) (m_groups.size() - iSize), m_bRadio ? "radio" : "TV");
// load groups from the backends if the option is enabled
iSize = m_groups.size();
if (bSyncWithBackends)
{
GetGroupsFromClients();
CLog::Log(LOGDEBUG, "PVR - %s - %d new user defined %s channel groups fetched from clients", __FUNCTION__, (int) (m_groups.size() - iSize), m_bRadio ? "radio" : "TV");
}
else
CLog::Log(LOGDEBUG, "PVR - %s - 'synchannelgroups' is disabled; skipping groups from clients", __FUNCTION__);
// load group members
for (std::vector<CPVRChannelGroupPtr>::iterator it = m_groups.begin(); it != m_groups.end(); it++)
(*it)->Load();
// persist changes if we fetched groups from the backends
return bSyncWithBackends ? PersistAll() : true;
}
示例3: LoadUserDefinedChannelGroups
bool CPVRChannelGroups::LoadUserDefinedChannelGroups(void)
{
CPVRDatabase *database = GetPVRDatabase();
if (!database)
return false;
CSingleLock lock(m_critSection);
/* load the other groups from the database */
int iSize = size();
database->Get(*this);
CLog::Log(LOGDEBUG, "PVRChannelGroups - %s - %d user defined %s channel groups fetched from the database",
__FUNCTION__, (int) (size() - iSize), m_bRadio ? "radio" : "TV");
iSize = size();
GetGroupsFromClients();
CLog::Log(LOGDEBUG, "PVRChannelGroups - %s - %d new user defined %s channel groups fetched from clients",
__FUNCTION__, (int) (size() - iSize), m_bRadio ? "radio" : "TV");
/* load group members */
for (unsigned int iGroupPtr = 1; iGroupPtr < size(); iGroupPtr++)
at(iGroupPtr)->Load();
return PersistAll();
}
示例4: LoadUserDefinedChannelGroups
bool CPVRChannelGroups::LoadUserDefinedChannelGroups(void)
{
CPVRDatabase *database = GetPVRDatabase();
if (!database)
return false;
bool bSyncWithBackends = CSettings::Get().GetBool("pvrmanager.syncchannelgroups");
CSingleLock lock(m_critSection);
// load the other groups from the database
int iSize = m_groups.size();
database->Get(*this);
CLog::Log(LOGDEBUG, "PVR - %s - %d user defined %s channel groups fetched from the database", __FUNCTION__, (int) (m_groups.size() - iSize), m_bRadio ? "radio" : "TV");
// load groups from the backends if the option is enabled
iSize = m_groups.size();
if (bSyncWithBackends)
{
GetGroupsFromClients();
CLog::Log(LOGDEBUG, "PVR - %s - %d new user defined %s channel groups fetched from clients", __FUNCTION__, (int) (m_groups.size() - iSize), m_bRadio ? "radio" : "TV");
}
else
CLog::Log(LOGDEBUG, "PVR - %s - 'synchannelgroups' is disabled; skipping groups from clients", __FUNCTION__);
std::vector<CPVRChannelGroupPtr> emptyGroups;
// load group members
for (std::vector<CPVRChannelGroupPtr>::iterator it = m_groups.begin(); it != m_groups.end(); it++)
{
// load only user defined groups, as internal group is already loaded
if (!(*it)->IsInternalGroup())
{
if (!(*it)->Load())
{
CLog::Log(LOGDEBUG, "PVR - %s - failed to load channel group '%s'", __FUNCTION__, (*it)->GroupName().c_str());
return false;
}
// remove empty groups when sync with backend is enabled
if (bSyncWithBackends && (*it)->Size() == 0)
emptyGroups.push_back(*it);
}
}
for (std::vector<CPVRChannelGroupPtr>::iterator it = emptyGroups.begin(); it != emptyGroups.end(); it++)
{
CLog::Log(LOGDEBUG, "PVR - %s - deleting empty group '%s'", __FUNCTION__, (*it)->GroupName().c_str());
DeleteGroup(*(*it));
}
// persist changes if we fetched groups from the backends
return bSyncWithBackends ? PersistAll() : true;
}
示例5: LoadFromDb
int CPVRChannelGroup::LoadFromDb(bool bCompress /* = false */)
{
CPVRDatabase *database = GetPVRDatabase();
if (!database)
return -1;
int iChannelCount = Size();
database->Get(*this);
return Size() - iChannelCount;
}
示例6: Load
bool CPVRChannelGroups::Load(void)
{
CPVRDatabase *database = GetPVRDatabase();
if (!database)
return false;
CSingleLock lock(m_critSection);
// remove previous contents
Clear();
CLog::Log(LOGDEBUG, "CPVRChannelGroups - %s - loading all %s channel groups", __FUNCTION__, m_bRadio ? "radio" : "TV");
// create the internal channel group
CPVRChannelGroupPtr internalGroup = CPVRChannelGroupPtr(new CPVRChannelGroupInternal(m_bRadio));
m_groups.push_back(internalGroup);
// load groups from the database
database->Get(*this);
CLog::Log(LOGDEBUG, "CPVRChannelGroups - %s - %" PRIuS" %s groups fetched from the database", __FUNCTION__, m_groups.size(), m_bRadio ? "radio" : "TV");
// load channels of internal group
if (!internalGroup->Load())
{
CLog::Log(LOGERROR, "CPVRChannelGroups - %s - failed to load channels", __FUNCTION__);
return false;
}
// load the other groups from the database
if (!LoadUserDefinedChannelGroups())
{
CLog::Log(LOGERROR, "CPVRChannelGroups - %s - failed to load channel groups", __FUNCTION__);
return false;
}
// set the last played group as selected group at startup
CPVRChannelGroupPtr lastPlayedGroup = GetLastPlayedGroup();
SetSelectedGroup(lastPlayedGroup ? lastPlayedGroup : internalGroup);
CLog::Log(LOGDEBUG, "CPVRChannelGroups - %s - %" PRIuS" %s channel groups loaded", __FUNCTION__, m_groups.size(), m_bRadio ? "radio" : "TV");
// need at least 1 group
return m_groups.size() > 0;
}