bool CPVRChannelGroups::Load(void) { CLog::Log(LOGDEBUG, "PVRChannelGroups - %s - loading all %s channel groups", __FUNCTION__, m_bRadio ? "radio" : "TV"); Clear(); /* create internal channel group */ CPVRChannelGroupInternal *internalChannels = new CPVRChannelGroupInternal(m_bRadio); push_back(internalChannels); internalChannels->Load(); /* load the other groups from the database */ CPVRDatabase *database = CPVRManager::Get()->GetTVDatabase(); if (database->Open()) { database->GetChannelGroupList(*this, m_bRadio); /* load group members */ for (unsigned int iGroupPtr = 1; iGroupPtr < size(); iGroupPtr++) at(iGroupPtr)->Load(); database->Close(); } CLog::Log(LOGDEBUG, "PVRChannelGroups - %s - %d %s channel groups loaded", __FUNCTION__, size(), m_bRadio ? "radio" : "TV"); return true; }