xbmc
SkinTimerManager.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 "SkinTimer.h"
12 
13 #include <map>
14 #include <memory>
15 #include <string>
16 
25 {
26 public:
28  CSkinTimerManager() = default;
29 
31  ~CSkinTimerManager() = default;
32 
36  void LoadTimers(const std::string& path);
37 
39  void Stop();
40 
45  bool TimerIsRunning(const std::string& timer) const;
46 
51  float GetTimerElapsedSeconds(const std::string& timer) const;
52 
56  void TimerStart(const std::string& timer) const;
57 
61  void TimerStop(const std::string& timer) const;
62 
63  // CThread methods
64 
66  void Process();
67 
68 private:
73  void LoadTimerInternal(const TiXmlElement* node);
74 
76  std::map<std::string, std::unique_ptr<CSkinTimer>> m_timers;
77 };
void TimerStop(const std::string &timer) const
Stops/Disables a given skin timer.
Definition: SkinTimerManager.cpp:167
bool TimerIsRunning(const std::string &timer) const
Checks if the timer with name timer is running.
Definition: SkinTimerManager.cpp:137
void Process()
Run the main manager processing loop.
Definition: SkinTimerManager.cpp:203
void Stop()
Stops the manager.
Definition: SkinTimerManager.cpp:177
void LoadTimers(const std::string &path)
Loads all the skin timers.
Definition: SkinTimerManager.cpp:24
CSkinTimerManager is the container and manager for Skin timers. Its role is that of checking if the t...
Definition: SkinTimerManager.h:24
float GetTimerElapsedSeconds(const std::string &timer) const
Get the elapsed seconds since the timer with name timer was started.
Definition: SkinTimerManager.cpp:147
~CSkinTimerManager()=default
Default skin timer manager destructor.
void TimerStart(const std::string &timer) const
Starts/Enables a given skin timer.
Definition: SkinTimerManager.cpp:157
CSkinTimerManager()=default
Skin timer manager constructor.