当前位置: 首页>>代码示例>>C++>>正文


C++ CPVRChannel::SetClientID方法代码示例

本文整理汇总了C++中CPVRChannel::SetClientID方法的典型用法代码示例。如果您正苦于以下问题:C++ CPVRChannel::SetClientID方法的具体用法?C++ CPVRChannel::SetClientID怎么用?C++ CPVRChannel::SetClientID使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CPVRChannel的用法示例。


在下文中一共展示了CPVRChannel::SetClientID方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: OnClickButtonNewChannel

bool CGUIDialogPVRChannelManager::OnClickButtonNewChannel(CGUIMessage &message)
{
  std::vector<long> clients;

  CGUIDialogSelect* pDlgSelect = (CGUIDialogSelect*)g_windowManager.GetWindow(WINDOW_DIALOG_SELECT);
  if (!pDlgSelect)
    return false;

  pDlgSelect->SetHeading(19213); // Select Client
  pDlgSelect->Add(g_localizeStrings.Get(19209));
  clients.push_back(PVR_VIRTUAL_CLIENT_ID);

  PVR_CLIENTMAP clientMap;
  if (g_PVRClients->GetConnectedClients(clientMap) > 0)
  {
    PVR_CLIENTMAP_ITR itr;
    for (itr = clientMap.begin() ; itr != clientMap.end(); itr++)
    {
      clients.push_back((*itr).first);
      pDlgSelect->Add((*itr).second->Name());
    }
  }
  pDlgSelect->DoModal();

  int selection = pDlgSelect->GetSelectedLabel();
  if (selection >= 0 && selection <= (int) clients.size())
  {
    int clientID = clients[selection];
    if (clientID == PVR_VIRTUAL_CLIENT_ID)
    {
      CStdString strURL = "";
      if (CGUIKeyboardFactory::ShowAndGetInput(strURL, g_localizeStrings.Get(19214), false))
      {
        if (!strURL.empty())
        {
          CPVRChannel *newchannel = new CPVRChannel(m_bIsRadio);
          newchannel->SetChannelName(g_localizeStrings.Get(19204));
          newchannel->SetEPGEnabled(false);
          newchannel->SetVirtual(true);
          newchannel->SetStreamURL(strURL);
          newchannel->SetClientID(PVR_VIRTUAL_CLIENT_ID);
          if (g_PVRChannelGroups->CreateChannel(*newchannel))
            g_PVRChannelGroups->GetGroupAll(m_bIsRadio)->Persist();

          CFileItemPtr channel(new CFileItem(*newchannel));
          if (channel)
          {
            channel->SetProperty("ActiveChannel", true);
            channel->SetProperty("Name", g_localizeStrings.Get(19204));
            channel->SetProperty("UseEPG", false);
            channel->SetProperty("Icon", newchannel->IconPath());
            channel->SetProperty("EPGSource", (int)0);
            channel->SetProperty("ClientName", g_localizeStrings.Get(19209));
            channel->SetProperty("ParentalLocked", false);

            m_channelItems->AddFront(channel, m_iSelected);
            m_viewControl.SetItems(*m_channelItems);
            Renumber();
          }
        }
      }
    }
    else
    {
      CGUIDialogOK::ShowAndGetInput(19033,19038,0,0);
    }
  }
  return true;
}
开发者ID:devilstrike,项目名称:boxeebox-xbmc,代码行数:69,代码来源:GUIDialogPVRChannelManager.cpp


注:本文中的CPVRChannel::SetClientID方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。