[PVR][Estuary] Timer settings dialog: Show client name in timer type selection dialog...
[xbmc.git] / xbmc / utils / InfoLoader.cpp
blobbe4697c7ed2793fb0460320ebb773dd00385cd5a
1 /*
2 * Copyright (C) 2005-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
7 */
9 #include "InfoLoader.h"
11 #include "JobManager.h"
12 #include "ServiceBroker.h"
13 #include "TimeUtils.h"
14 #include "guilib/LocalizeStrings.h"
16 CInfoLoader::CInfoLoader(unsigned int timeToRefresh)
18 m_refreshTime = 0;
19 m_timeToRefresh = timeToRefresh;
20 m_busy = false;
23 CInfoLoader::~CInfoLoader() = default;
25 void CInfoLoader::OnJobComplete(unsigned int jobID, bool success, CJob *job)
27 m_refreshTime = CTimeUtils::GetFrameTime() + m_timeToRefresh;
28 m_busy = false;
31 std::string CInfoLoader::GetInfo(int info)
33 // Refresh if need be
34 if (m_refreshTime < CTimeUtils::GetFrameTime() && !m_busy)
35 { // queue up the job
36 m_busy = true;
37 CServiceBroker::GetJobManager()->AddJob(GetJob(), this);
39 if (m_busy && CTimeUtils::GetFrameTime() - m_refreshTime > 1000)
41 return BusyInfo(info);
43 return TranslateInfo(info);
46 std::string CInfoLoader::BusyInfo(int info) const
48 return g_localizeStrings.Get(503);
51 std::string CInfoLoader::TranslateInfo(int info) const
53 return "";
56 void CInfoLoader::Refresh()
58 m_refreshTime = CTimeUtils::GetFrameTime();