[PVR][Estuary] Timer settings dialog: Show client name in timer type selection dialog...
[xbmc.git] / xbmc / interfaces / IAnnouncer.h
blob7c20203573a96d5194c4f496a4fbb5986191880e
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 #pragma once
11 #include <string>
13 class CVariant;
14 namespace ANNOUNCEMENT
16 enum AnnouncementFlag
18 Player = 0x001,
19 Playlist = 0x002,
20 GUI = 0x004,
21 System = 0x008,
22 VideoLibrary = 0x010,
23 AudioLibrary = 0x020,
24 Application = 0x040,
25 Input = 0x080,
26 PVR = 0x100,
27 Other = 0x200,
28 Info = 0x400
31 const auto ANNOUNCE_ALL = (Player | Playlist | GUI | System | VideoLibrary | AudioLibrary | Application | Input | ANNOUNCEMENT::PVR | Other);
33 /*!
34 \brief Returns a string representation for the
35 given AnnouncementFlag
36 \param notification Specific AnnouncementFlag
37 \return String representation of the given AnnouncementFlag
39 inline const char *AnnouncementFlagToString(const AnnouncementFlag &notification)
41 switch (notification)
43 case Player:
44 return "Player";
45 case Playlist:
46 return "Playlist";
47 case GUI:
48 return "GUI";
49 case System:
50 return "System";
51 case VideoLibrary:
52 return "VideoLibrary";
53 case AudioLibrary:
54 return "AudioLibrary";
55 case Application:
56 return "Application";
57 case Input:
58 return "Input";
59 case PVR:
60 return "PVR";
61 case Other:
62 return "Other";
63 case Info:
64 return "Info";
65 default:
66 return "Unknown";
70 class IAnnouncer
72 public:
73 IAnnouncer() = default;
74 virtual ~IAnnouncer() = default;
75 virtual void Announce(AnnouncementFlag flag,
76 const std::string& sender,
77 const std::string& message,
78 const CVariant& data) = 0;