kodi
InfoTagPicture.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 class CPictureInfoTag;
14 
15 namespace XBMCAddon
16 {
17 namespace xbmc
18 {
19 
43 class InfoTagPicture : public AddonClass
44 {
45 private:
46  CPictureInfoTag* infoTag;
47  bool offscreen;
48  bool owned;
49 
50 public:
51 #ifndef SWIG
52  explicit InfoTagPicture(const CPictureInfoTag* tag);
53  explicit InfoTagPicture(CPictureInfoTag* tag, bool offscreen = false);
54 #endif
55 
56 #ifdef DOXYGEN_SHOULD_USE_THIS
57  InfoTagPicture(...);
88 #else
89  explicit InfoTagPicture(bool offscreen = false);
90 #endif
91  ~InfoTagPicture() override;
92 
93 #ifdef DOXYGEN_SHOULD_USE_THIS
94  getResolution();
106 #else
107  String getResolution();
108 #endif
109 
110 #ifdef DOXYGEN_SHOULD_USE_THIS
111  getDirector();
123 #else
124  String getDateTimeTaken();
125 #endif
126 
127 #ifdef DOXYGEN_SHOULD_USE_THIS
128  setResolution(...);
141 #else
142  void setResolution(int width, int height);
143 #endif
144 
145 #ifdef DOXYGEN_SHOULD_USE_THIS
146  setDateTimeTaken(...);
168 #else
169  void setDateTimeTaken(const String& datetimetaken);
170 #endif
171 
172 #ifndef SWIG
173  static void setResolutionRaw(CPictureInfoTag* infoTag, const String& resolution);
174  static void setResolutionRaw(CPictureInfoTag* infoTag, int width, int height);
175  static void setDateTimeTakenRaw(CPictureInfoTag* infoTag, String datetimetaken);
176 #endif
177 };
178 
179 } // namespace xbmc
180 } // namespace XBMCAddon
Definition: InfoTagPicture.h:43
Defining LOG_LIFECYCLE_EVENTS will log all instantiations, deletions and also reference countings (in...
Definition: Addon.cpp:25
Definition: PictureInfoTag.h:30
This class is the superclass for all reference counted classes in the api.
Definition: AddonClass.h:57