xbmc
InfoTagGame.h
1 /*
2  * Copyright (C) 2021 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 "AddonClass.h"
12 
13 namespace KODI
14 {
15 namespace GAME
16 {
17 class CGameInfoTag;
18 }
19 } // namespace KODI
20 
21 namespace XBMCAddon
22 {
23 namespace xbmc
24 {
48 class InfoTagGame : public AddonClass
49 {
50 private:
51  KODI::GAME::CGameInfoTag* infoTag;
52  bool offscreen;
53  bool owned;
54 
55 public:
56 #ifndef SWIG
57  explicit InfoTagGame(const KODI::GAME::CGameInfoTag* tag);
58  explicit InfoTagGame(KODI::GAME::CGameInfoTag* tag, bool offscreen = false);
59 #endif
60 
61 #ifdef DOXYGEN_SHOULD_USE_THIS
62  InfoTagGame(...);
93 #else
94  explicit InfoTagGame(bool offscreen = false);
95 #endif
96  ~InfoTagGame() override;
97 
98 #ifdef DOXYGEN_SHOULD_USE_THIS
99  getTitle();
111 #else
112  String getTitle();
113 #endif
114 
115 #ifdef DOXYGEN_SHOULD_USE_THIS
116  getPlatform();
128 #else
129  String getPlatform();
130 #endif
131 
132 #ifdef DOXYGEN_SHOULD_USE_THIS
133  getGenres();
145 #else
146  std::vector<String> getGenres();
147 #endif
148 
149 #ifdef DOXYGEN_SHOULD_USE_THIS
150  getPublisher();
162 #else
163  String getPublisher();
164 #endif
165 
166 #ifdef DOXYGEN_SHOULD_USE_THIS
167  getDeveloper();
179 #else
180  String getDeveloper();
181 #endif
182 
183 #ifdef DOXYGEN_SHOULD_USE_THIS
184  getOverview();
196 #else
197  String getOverview();
198 #endif
199 
200 #ifdef DOXYGEN_SHOULD_USE_THIS
201  getYear();
213 #else
214  unsigned int getYear();
215 #endif
216 
217 #ifdef DOXYGEN_SHOULD_USE_THIS
218  getGameClient();
230 #else
231  String getGameClient();
232 #endif
233 
234 #ifdef DOXYGEN_SHOULD_USE_THIS
235  setTitle(...);
247 #else
248  void setTitle(const String& title);
249 #endif
250 
251 #ifdef DOXYGEN_SHOULD_USE_THIS
252  setPlatform(...);
264 #else
265  void setPlatform(const String& platform);
266 #endif
267 
268 #ifdef DOXYGEN_SHOULD_USE_THIS
269  setGenres(...);
281 #else
282  void setGenres(const std::vector<String>& genres);
283 #endif
284 
285 #ifdef DOXYGEN_SHOULD_USE_THIS
286  setPublisher(...);
298 #else
299  void setPublisher(const String& publisher);
300 #endif
301 
302 #ifdef DOXYGEN_SHOULD_USE_THIS
303  setDeveloper(...);
315 #else
316  void setDeveloper(const String& developer);
317 #endif
318 
319 #ifdef DOXYGEN_SHOULD_USE_THIS
320  setOverview(...);
332 #else
333  void setOverview(const String& overview);
334 #endif
335 
336 #ifdef DOXYGEN_SHOULD_USE_THIS
337  setYear(...);
349 #else
350  void setYear(unsigned int year);
351 #endif
352 
353 #ifdef DOXYGEN_SHOULD_USE_THIS
354  setGameClient(...);
366 #else
367  void setGameClient(const String& gameClient);
368 #endif
369 
370 #ifndef SWIG
371  static void setTitleRaw(KODI::GAME::CGameInfoTag* infoTag, const String& title);
372  static void setPlatformRaw(KODI::GAME::CGameInfoTag* infoTag, const String& platform);
373  static void setGenresRaw(KODI::GAME::CGameInfoTag* infoTag, const std::vector<String>& genres);
374  static void setPublisherRaw(KODI::GAME::CGameInfoTag* infoTag, const String& publisher);
375  static void setDeveloperRaw(KODI::GAME::CGameInfoTag* infoTag, const String& developer);
376  static void setOverviewRaw(KODI::GAME::CGameInfoTag* infoTag, const String& overview);
377  static void setYearRaw(KODI::GAME::CGameInfoTag* infoTag, unsigned int year);
378  static void setGameClientRaw(KODI::GAME::CGameInfoTag* infoTag, const String& gameClient);
379 #endif
380 };
381 
382 } // namespace xbmc
383 } // namespace XBMCAddon
Definition: InfoTagGame.h:48
Definition: GameInfoTag.h:21
Controller configuration window.
Definition: AudioDecoder.h:18
Defining LOG_LIFECYCLE_EVENTS will log all instantiations, deletions and also reference countings (in...
Definition: Addon.cpp:25
This class is the superclass for all reference counted classes in the api.
Definition: AddonClass.h:57