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.
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
)
19 m_timeToRefresh
= timeToRefresh
;
23 CInfoLoader::~CInfoLoader() = default;
25 void CInfoLoader::OnJobComplete(unsigned int jobID
, bool success
, CJob
*job
)
27 m_refreshTime
= CTimeUtils::GetFrameTime() + m_timeToRefresh
;
31 std::string
CInfoLoader::GetInfo(int info
)
34 if (m_refreshTime
< CTimeUtils::GetFrameTime() && !m_busy
)
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
56 void CInfoLoader::Refresh()
58 m_refreshTime
= CTimeUtils::GetFrameTime();