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


C++ CFileItem::GetPVRRecordingInfoTag方法代码示例

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


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

示例1: GetResumeString

CStdString CGUIWindowPVRRecordings::GetResumeString(const CFileItem& item)
{
  CStdString resumeString;
  if (item.IsPVRRecording())
  {

    // First try to find the resume position on the back-end, if that fails use video database
    int positionInSeconds = item.GetPVRRecordingInfoTag()->GetLastPlayedPosition();
    // If the back-end does report a saved position it will be picked up by FileItem
    if (positionInSeconds < 0)
    {
      CVideoDatabase db;
      if (db.Open())
      {
        CBookmark bookmark;
        CStdString itemPath(item.GetPVRRecordingInfoTag()->m_strFileNameAndPath);
        if (db.GetResumeBookMark(itemPath, bookmark) )
          positionInSeconds = lrint(bookmark.timeInSeconds);
        db.Close();
      }
    }

    // Suppress resume from 0
    if (positionInSeconds > 0)
      resumeString = StringUtils::Format(g_localizeStrings.Get(12022).c_str(), StringUtils::SecondsToTimeString(positionInSeconds).c_str());
  }
  return resumeString;
}
开发者ID:CEikermann,项目名称:xbmc,代码行数:28,代码来源:GUIWindowPVRRecordings.cpp

示例2: OnContextButton

bool CGUIWindowPVRSearch::OnContextButton(const CFileItem &item, CONTEXT_BUTTON button)
{
  bool bReturn = false;

  switch(button)
  {
    case CONTEXT_BUTTON_FIND:
    {
      m_searchfilter.Reset();

      // construct the search term
      if (item.IsEPG())
        m_searchfilter.m_strSearchTerm = "\"" + item.GetEPGInfoTag()->Title() + "\"";
      else if (item.IsPVRChannel())
      {
        CEpgInfoTagPtr tag(item.GetPVRChannelInfoTag()->GetEPGNow());
        if (tag)
          m_searchfilter.m_strSearchTerm = "\"" + tag->Title() + "\"";
      }
      else if (item.IsUsablePVRRecording())
        m_searchfilter.m_strSearchTerm = "\"" + item.GetPVRRecordingInfoTag()->m_strTitle + "\"";
      else if (item.IsPVRTimer())
        m_searchfilter.m_strSearchTerm = "\"" + item.GetPVRTimerInfoTag()->m_strTitle + "\"";

      m_bSearchConfirmed = true;
      Refresh(true);
      bReturn = true;
      break;
    }
    default:
      bReturn = false;
  }

  return bReturn;
}
开发者ID:JamesLinus,项目名称:xbmc,代码行数:35,代码来源:GUIWindowPVRSearch.cpp

示例3: GetClient

CPVRClientPtr CPVRManager::GetClient(const CFileItem &item) const
{
  int iClientID = PVR_INVALID_CLIENT_ID;

  if (item.HasPVRChannelInfoTag())
    iClientID = item.GetPVRChannelInfoTag()->ClientID();
  else if (item.HasPVRRecordingInfoTag())
    iClientID = item.GetPVRRecordingInfoTag()->m_iClientId;
  else if (item.HasPVRTimerInfoTag())
    iClientID = item.GetPVRTimerInfoTag()->m_iClientId;
  else if (item.HasEPGInfoTag())
    iClientID = item.GetEPGInfoTag()->ClientID();
  else if (URIUtils::IsPVRChannel(item.GetPath()))
  {
    const std::shared_ptr<CFileItem> channelItem = m_channelGroups->GetByPath(item.GetPath());
    if (channelItem)
      iClientID = channelItem->GetPVRChannelInfoTag()->ClientID();
  }
  else if (URIUtils::IsPVRRecording(item.GetPath()))
  {
    const std::shared_ptr<CFileItem> recordingItem = m_recordings->GetByPath(item.GetPath());
    if (recordingItem)
      iClientID = recordingItem->GetPVRRecordingInfoTag()->ClientID();
  }
  return GetClient(iClientID);
}
开发者ID:68foxboris,项目名称:xbmc,代码行数:26,代码来源:PVRManager.cpp

示例4: DeleteRecording

bool CPVRRecordings::DeleteRecording(const CFileItem &item)
{
  if (!item.IsPVRRecording())
  {
    CLog::Log(LOGERROR, "CPVRRecordings - %s - cannot delete file: no valid recording tag", __FUNCTION__);
    return false;
  }

  CPVRRecording *tag = (CPVRRecording *)item.GetPVRRecordingInfoTag();
  return tag->Delete();
}
开发者ID:A600,项目名称:xbmc,代码行数:11,代码来源:PVRRecordings.cpp

示例5: RenameRecording

bool CPVRRecordings::RenameRecording(CFileItem &item, std::string &strNewName)
{
  if (!item.IsUsablePVRRecording())
  {
    CLog::Log(LOGERROR, "CPVRRecordings - %s - cannot rename file: no valid recording tag", __FUNCTION__);
    return false;
  }

  CPVRRecordingPtr tag = item.GetPVRRecordingInfoTag();
  return tag->Rename(strNewName);
}
开发者ID:69thelememt,项目名称:xbmc,代码行数:11,代码来源:PVRRecordings.cpp

示例6: Undelete

bool CPVRRecordings::Undelete(const CFileItem &item)
{
  if (!item.IsDeletedPVRRecording())
  {
    CLog::Log(LOGERROR, "CPVRRecordings - %s - cannot undelete file: no valid recording tag", __FUNCTION__);
    return false;
  }

  CPVRRecordingPtr tag = item.GetPVRRecordingInfoTag();
  return tag->Undelete();
}
开发者ID:69thelememt,项目名称:xbmc,代码行数:11,代码来源:PVRRecordings.cpp

示例7: GetResumeString

CStdString CGUIWindowPVRRecordings::GetResumeString(const CFileItem& item)
{
    CStdString resumeString;
    if (item.IsPVRRecording())
    {

        // First try to find the resume position on the back-end, if that fails use video database
        int positionInSeconds = item.GetPVRRecordingInfoTag()->GetLastPlayedPosition();
        // If the back-end does report a saved position then make sure there is a corresponding resume bookmark
        if (positionInSeconds > 0)
        {
            CBookmark bookmark;
            bookmark.timeInSeconds = positionInSeconds;
            bookmark.totalTimeInSeconds = (double)item.GetPVRRecordingInfoTag()->GetDuration();
            CVideoDatabase db;
            if (db.Open())
            {
                CStdString itemPath(item.GetPVRRecordingInfoTag()->m_strFileNameAndPath);
                db.AddBookMarkToFile(itemPath, bookmark, CBookmark::RESUME);
                db.Close();
            }
        }
        else if (positionInSeconds < 0)
        {
            CVideoDatabase db;
            if (db.Open())
            {
                CBookmark bookmark;
                CStdString itemPath(item.GetPVRRecordingInfoTag()->m_strFileNameAndPath);
                if (db.GetResumeBookMark(itemPath, bookmark) )
                    positionInSeconds = lrint(bookmark.timeInSeconds);
                db.Close();
            }
        }

        // Suppress resume from 0
        if (positionInSeconds > 0)
            resumeString.Format(g_localizeStrings.Get(12022).c_str(), StringUtils::SecondsToTimeString(positionInSeconds).c_str());
    }
    return resumeString;
}
开发者ID:brianf21,项目名称:xbmc,代码行数:41,代码来源:GUIWindowPVRRecordings.cpp

示例8: RenameRecording

bool CPVRRecordings::RenameRecording(CFileItem &item, CStdString &strNewName)
{
  bool bReturn = false;

  if (!item.IsPVRRecording())
  {
    CLog::Log(LOGERROR, "CPVRRecordings - %s - cannot rename file: no valid recording tag", __FUNCTION__);
    return bReturn;
  }

  CPVRRecording* tag = item.GetPVRRecordingInfoTag();
  return tag->Rename(strNewName);
}
开发者ID:A600,项目名称:xbmc,代码行数:13,代码来源:PVRRecordings.cpp

示例9: SetPlayCount

void CPVRRecordings::SetPlayCount(const CFileItem &item, int iPlayCount)
{
  if (!item.HasPVRRecordingInfoTag())
    return;

  const CPVRRecording *recording = item.GetPVRRecordingInfoTag();
  CSingleLock lock(m_critSection);
  for (unsigned int iRecordingPtr = 0; iRecordingPtr < m_recordings.size(); iRecordingPtr++)
  {
    CPVRRecording *current = m_recordings.at(iRecordingPtr);
    if (*current == *recording)
    {
      current->SetPlayCount(iPlayCount);
      break;
    }
  }
}
开发者ID:A600,项目名称:xbmc,代码行数:17,代码来源:PVRRecordings.cpp


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