本文整理汇总了C++中CPVRChannelGroupInternal类的典型用法代码示例。如果您正苦于以下问题:C++ CPVRChannelGroupInternal类的具体用法?C++ CPVRChannelGroupInternal怎么用?C++ CPVRChannelGroupInternal使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了CPVRChannelGroupInternal类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Get
int CPVRDatabase::Get(CPVRChannelGroupInternal &results)
{
int iReturn(0);
CStdString strQuery = FormatSQL("SELECT channels.idChannel, channels.iUniqueId, channels.bIsRadio, channels.bIsHidden, channels.bIsUserSetIcon, "
"channels.sIconPath, channels.sChannelName, channels.bIsVirtual, channels.bEPGEnabled, channels.sEPGScraper, channels.iLastWatched, channels.iClientId, "
"channels.iClientChannelNumber, channels.sInputFormat, channels.sInputFormat, channels.sStreamURL, channels.iEncryptionSystem, map_channelgroups_channels.iChannelNumber, channels.idEpg "
"FROM map_channelgroups_channels "
"LEFT JOIN channels ON channels.idChannel = map_channelgroups_channels.idChannel "
"WHERE map_channelgroups_channels.idGroup = %u AND channels.bIsRadio = %u ", results.IsRadio() ? XBMC_INTERNAL_GROUP_RADIO : XBMC_INTERNAL_GROUP_TV, results.IsRadio());
if (ResultQuery(strQuery))
{
try
{
while (!m_pDS->eof())
{
CPVRChannel *channel = new CPVRChannel();
channel->m_iChannelId = m_pDS->fv("idChannel").get_asInt();
channel->m_iUniqueId = m_pDS->fv("iUniqueId").get_asInt();
channel->m_bIsRadio = m_pDS->fv("bIsRadio").get_asBool();
channel->m_bIsHidden = m_pDS->fv("bIsHidden").get_asBool();
channel->m_bIsUserSetIcon = m_pDS->fv("bIsUserSetIcon").get_asBool();
channel->m_strIconPath = m_pDS->fv("sIconPath").get_asString();
channel->m_strChannelName = m_pDS->fv("sChannelName").get_asString();
channel->m_bIsVirtual = m_pDS->fv("bIsVirtual").get_asBool();
channel->m_bEPGEnabled = m_pDS->fv("bEPGEnabled").get_asBool();
channel->m_strEPGScraper = m_pDS->fv("sEPGScraper").get_asString();
channel->m_iLastWatched = (time_t) m_pDS->fv("iLastWatched").get_asInt();
channel->m_iClientId = m_pDS->fv("iClientId").get_asInt();
channel->m_iClientChannelNumber = m_pDS->fv("iClientChannelNumber").get_asInt();
channel->m_strInputFormat = m_pDS->fv("sInputFormat").get_asString();
channel->m_strStreamURL = m_pDS->fv("sStreamURL").get_asString();
channel->m_iClientEncryptionSystem = m_pDS->fv("iEncryptionSystem").get_asInt();
channel->m_iEpgId = m_pDS->fv("idEpg").get_asInt();
CLog::Log(LOGDEBUG, "PVRDB - %s - channel '%s' (id: %i) loaded from the database (client id: %i channel uid: %i channel nr: %i)",
__FUNCTION__, channel->m_strChannelName.c_str(), channel->m_iChannelId, channel->m_iClientId, channel->m_iUniqueId, channel->m_iClientChannelNumber);
PVRChannelGroupMember newMember = { channel, m_pDS->fv("iChannelNumber").get_asInt() };
results.push_back(newMember);
m_pDS->next();
++iReturn;
}
m_pDS->close();
}
catch (...)
{
CLog::Log(LOGERROR, "PVR - %s - couldn't load channels from the database", __FUNCTION__);
}
}
else
{
CLog::Log(LOGERROR, "PVR - %s - query failed", __FUNCTION__);
}
m_pDS->close();
return iReturn;
}
示例2: Clear
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;
}
示例3: PVRTransferChannelEntry
void CAddonHelpers_PVR::PVRTransferChannelEntry(void *addonData, const PVRHANDLE handle, const PVR_CHANNEL *channel)
{
CAddonHelpers* addon = (CAddonHelpers*) addonData;
if (addon == NULL || handle == NULL || channel == NULL)
{
CLog::Log(LOGERROR, "PVR: PVRTransferChannelEntry is called with NULL-Pointer!!!");
return;
}
CPVRClient* client = (CPVRClient*) handle->CALLER_ADDRESS;
CPVRChannelGroupInternal *xbmcChannels = (CPVRChannelGroupInternal*) handle->DATA_ADDRESS;
CPVRChannel channelTag(channel->radio);
channelTag.SetClientChannelNumber(channel->number);
channelTag.SetClientID(client->GetClientID());
channelTag.SetUniqueID(channel->uid);
channelTag.SetChannelName(channel->name);
channelTag.SetClientChannelName(channel->callsign);
channelTag.SetIconPath(channel->iconpath);
channelTag.SetEncryptionSystem(channel->encryption);
channelTag.SetHidden(channel->hide);
channelTag.SetRecording(channel->recording);
channelTag.SetInputFormat(channel->input_format);
channelTag.SetStreamURL(channel->stream_url);
xbmcChannels->UpdateChannel(channelTag);
}
示例4: GetPVRClient
void CAddonCallbacksPVR::PVRTransferChannelEntry(void *addonData, const PVR_HANDLE handle, const PVR_CHANNEL *channel)
{
CPVRClient *client = GetPVRClient(addonData);
CPVRChannelGroupInternal *xbmcChannels = static_cast<CPVRChannelGroupInternal *>(handle->dataAddress);
if (!handle || !channel || !client || !xbmcChannels)
{
CLog::Log(LOGERROR, "PVR - %s - invalid handler data", __FUNCTION__);
return;
}
/* transfer this entry to the internal channels group */
xbmcChannels->UpdateFromClient(CPVRChannel(*channel, client->GetID()));
}
示例5: PVRTransferChannelEntry
void CAddonCallbacksPVR::PVRTransferChannelEntry(void *addonData, const PVR_HANDLE handle, const PVR_CHANNEL *channel)
{
CAddonCallbacks* addon = (CAddonCallbacks*) addonData;
if (addon == NULL || handle == NULL || channel == NULL)
{
CLog::Log(LOGERROR, "CAddonCallbacksPVR - %s - called with a null pointer", __FUNCTION__);
return;
}
CPVRClient* client = (CPVRClient*) handle->callerAddress;
CPVRChannelGroupInternal *xbmcChannels = (CPVRChannelGroupInternal*) handle->dataAddress;
CPVRChannel channelTag(*channel, client->GetClientID());
/* transfer this entry to the internal channels group */
xbmcChannels->UpdateFromClient(channelTag);
}
示例6: Clear
bool CPVRChannelGroups::Load(void)
{
CLog::Log(LOGDEBUG, "PVRChannelGroups - %s - loading all %s channel groups",
__FUNCTION__, m_bRadio ? "radio" : "TV");
Clear();
/* create and load the internal channel group */
CPVRChannelGroupInternal *internalChannels = new CPVRChannelGroupInternal(m_bRadio);
push_back(internalChannels);
internalChannels->Load();
/* load the other groups from the database */
LoadUserDefinedChannelGroups();
CLog::Log(LOGDEBUG, "PVRChannelGroups - %s - %d %s channel groups loaded",
__FUNCTION__, (int) size(), m_bRadio ? "radio" : "TV");
return size() > 0;
}
示例7: Get
int CPVRDatabase::Get(CPVRChannelGroupInternal &results)
{
int iReturn(0);
std::string strQuery = PrepareSQL("SELECT channels.idChannel, channels.iUniqueId, channels.bIsRadio, channels.bIsHidden, channels.bIsUserSetIcon, channels.bIsUserSetName, "
"channels.sIconPath, channels.sChannelName, channels.bIsVirtual, channels.bEPGEnabled, channels.sEPGScraper, channels.iLastWatched, channels.iClientId, channels.bIsLocked, "
"map_channelgroups_channels.iChannelNumber, channels.idEpg "
"FROM map_channelgroups_channels "
"LEFT JOIN channels ON channels.idChannel = map_channelgroups_channels.idChannel "
"WHERE map_channelgroups_channels.idGroup = %u", results.IsRadio() ? PVR_INTERNAL_GROUP_ID_RADIO : PVR_INTERNAL_GROUP_ID_TV);
if (ResultQuery(strQuery))
{
try
{
bool bIgnoreEpgDB = CSettings::Get().GetBool("epg.ignoredbforclient");
while (!m_pDS->eof())
{
CPVRChannelPtr channel = CPVRChannelPtr(new CPVRChannel());
channel->m_iChannelId = m_pDS->fv("idChannel").get_asInt();
channel->m_iUniqueId = m_pDS->fv("iUniqueId").get_asInt();
channel->m_bIsRadio = m_pDS->fv("bIsRadio").get_asBool();
channel->m_bIsHidden = m_pDS->fv("bIsHidden").get_asBool();
channel->m_bIsUserSetIcon = m_pDS->fv("bIsUserSetIcon").get_asBool();
channel->m_bIsUserSetName = m_pDS->fv("bIsUserSetName").get_asBool();
channel->m_bIsLocked = m_pDS->fv("bIsLocked").get_asBool();
channel->m_strIconPath = m_pDS->fv("sIconPath").get_asString();
channel->m_strChannelName = m_pDS->fv("sChannelName").get_asString();
channel->m_bEPGEnabled = m_pDS->fv("bEPGEnabled").get_asBool();
channel->m_strEPGScraper = m_pDS->fv("sEPGScraper").get_asString();
channel->m_iLastWatched = (time_t) m_pDS->fv("iLastWatched").get_asInt();
channel->m_iClientId = m_pDS->fv("iClientId").get_asInt();
if (bIgnoreEpgDB)
channel->m_iEpgId = -1;
else
channel->m_iEpgId = m_pDS->fv("idEpg").get_asInt();
channel->UpdateEncryptionName();
#if PVRDB_DEBUGGING
CLog::Log(LOGDEBUG, "PVR - %s - channel '%s' loaded from the database", __FUNCTION__, channel->m_strChannelName.c_str());
#endif
PVRChannelGroupMember newMember = { channel, (unsigned int)m_pDS->fv("iChannelNumber").get_asInt() };
results.m_sortedMembers.push_back(newMember);
results.m_members.insert(std::make_pair(channel->StorageId(), newMember));
m_pDS->next();
++iReturn;
}
m_pDS->close();
}
catch (...)
{
CLog::Log(LOGERROR, "PVR - %s - couldn't load channels from the database", __FUNCTION__);
}
}
else
{
CLog::Log(LOGERROR, "PVR - %s - query failed", __FUNCTION__);
}
m_pDS->close();
return iReturn;
}