1 /*
2  *  Copyright (C) 2012-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 <ctime>
12 #include <string>
13 
14 namespace PVR
15 {
16   class CPVRChannel;
17 
18   class CPVREpgChannelData
19   {
20   public:
21     CPVREpgChannelData() = default;
22     CPVREpgChannelData(int iClientId, int iUniqueClientChannelId);
23     explicit CPVREpgChannelData(const CPVRChannel& channel);
24 
25     int ClientId() const;
26     int UniqueClientChannelId() const;
27     bool IsRadio() const;
28 
29     bool IsHidden() const;
30     void SetHidden(bool bIsHidden);
31 
32     bool IsLocked() const;
33     void SetLocked(bool bIsLocked);
34 
35     bool IsEPGEnabled() const;
36     void SetEPGEnabled(bool bIsEPGEnabled);
37 
38     int ChannelId() const;
39     void SetChannelId(int iChannelId);
40 
41     const std::string& ChannelName() const;
42     void SetChannelName(const std::string& strChannelName);
43 
44   private:
45     const bool m_bIsRadio = false;
46     const int m_iClientId = -1;
47     const int m_iUniqueClientChannelId = -1;
48 
49     bool m_bIsHidden = false;
50     bool m_bIsLocked = false;
51     bool m_bIsEPGEnabled = true;
52     int m_iChannelId = -1;
53     std::string m_strChannelName;
54   };
55 }
56