kodi
InfoLoader.h
1 /*
2  * Copyright (C) 2005-2018 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 #pragma once
10 
11 #include "Job.h"
12 
13 #include <string>
14 
15 class CInfoLoader : public IJobCallback
16 {
17 public:
18  explicit CInfoLoader(unsigned int timeToRefresh = 5 * 60 * 1000);
19  ~CInfoLoader() override;
20 
21  std::string GetInfo(int info);
22  void Refresh();
23 
24  void OnJobComplete(unsigned int jobID, bool success, CJob *job) override;
25 protected:
26  virtual CJob *GetJob() const=0;
27  virtual std::string TranslateInfo(int info) const;
28  virtual std::string BusyInfo(int info) const;
29 private:
30  unsigned int m_refreshTime;
31  unsigned int m_timeToRefresh;
32  bool m_busy;
33 };
void OnJobComplete(unsigned int jobID, bool success, CJob *job) override
The callback used when a job completes.
Definition: InfoLoader.cpp:25
Base class for jobs that are executed asynchronously.
Definition: Job.h:109
Definition: InfoLoader.h:15
Callback interface for asynchronous jobs.
Definition: Job.h:31