11 #ifndef KODI_VERSIONS_H
12 #define KODI_VERSIONS_H
16 #define STR_HELPER(x) #x
17 #define STR(x) STR_HELPER(x)
40 #define ADDON_GLOBAL_VERSION_MAIN "1.3.0"
41 #define ADDON_GLOBAL_VERSION_MAIN_MIN "1.2.0"
42 #define ADDON_GLOBAL_VERSION_MAIN_XML_ID "kodi.binary.global.main"
43 #define ADDON_GLOBAL_VERSION_MAIN_DEPENDS "AddonBase.h" \
47 #define ADDON_GLOBAL_VERSION_GENERAL "1.0.5"
48 #define ADDON_GLOBAL_VERSION_GENERAL_MIN "1.0.4"
49 #define ADDON_GLOBAL_VERSION_GENERAL_XML_ID "kodi.binary.global.general"
50 #define ADDON_GLOBAL_VERSION_GENERAL_DEPENDS "General.h"
52 #define ADDON_GLOBAL_VERSION_GUI "5.15.0"
53 #define ADDON_GLOBAL_VERSION_GUI_MIN "5.15.0"
54 #define ADDON_GLOBAL_VERSION_GUI_XML_ID "kodi.binary.global.gui"
55 #define ADDON_GLOBAL_VERSION_GUI_DEPENDS "c-api/gui/input/action_ids.h" \
59 #define ADDON_GLOBAL_VERSION_AUDIOENGINE "1.1.1"
60 #define ADDON_GLOBAL_VERSION_AUDIOENGINE_MIN "1.1.0"
61 #define ADDON_GLOBAL_VERSION_AUDIOENGINE_XML_ID "kodi.binary.global.audioengine"
62 #define ADDON_GLOBAL_VERSION_AUDIOENGINE_DEPENDS "AudioEngine.h" \
63 "c-api/audio_engine.h"
65 #define ADDON_GLOBAL_VERSION_FILESYSTEM "1.1.6"
66 #define ADDON_GLOBAL_VERSION_FILESYSTEM_MIN "1.1.0"
67 #define ADDON_GLOBAL_VERSION_FILESYSTEM_XML_ID "kodi.binary.global.filesystem"
68 #define ADDON_GLOBAL_VERSION_FILESYSTEM_DEPENDS "Filesystem.h" \
69 "c-api/filesystem.h" \
73 #define ADDON_GLOBAL_VERSION_NETWORK "1.0.4"
74 #define ADDON_GLOBAL_VERSION_NETWORK_MIN "1.0.0"
75 #define ADDON_GLOBAL_VERSION_NETWORK_XML_ID "kodi.binary.global.network"
76 #define ADDON_GLOBAL_VERSION_NETWORK_DEPENDS "Network.h" \
79 #define ADDON_GLOBAL_VERSION_TOOLS "1.0.4"
80 #define ADDON_GLOBAL_VERSION_TOOLS_MIN "1.0.0"
81 #define ADDON_GLOBAL_VERSION_TOOLS_XML_ID "kodi.binary.global.tools"
82 #define ADDON_GLOBAL_VERSION_TOOLS_DEPENDS "tools/DllHelper.h" \
84 "tools/StringUtils.h" \
88 #define ADDON_INSTANCE_VERSION_AUDIODECODER "3.0.0"
89 #define ADDON_INSTANCE_VERSION_AUDIODECODER_MIN "3.0.0"
90 #define ADDON_INSTANCE_VERSION_AUDIODECODER_XML_ID "kodi.binary.instance.audiodecoder"
91 #define ADDON_INSTANCE_VERSION_AUDIODECODER_DEPENDS "c-api/addon-instance/audio_decoder.h" \
92 "addon-instance/AudioDecoder.h"
94 #define ADDON_INSTANCE_VERSION_AUDIOENCODER "2.1.0"
95 #define ADDON_INSTANCE_VERSION_AUDIOENCODER_MIN "2.1.0"
96 #define ADDON_INSTANCE_VERSION_AUDIOENCODER_XML_ID "kodi.binary.instance.audioencoder"
97 #define ADDON_INSTANCE_VERSION_AUDIOENCODER_DEPENDS "c-api/addon-instance/audio_encoder.h" \
98 "addon-instance/AudioEncoder.h"
100 #define ADDON_INSTANCE_VERSION_GAME "2.1.0"
101 #define ADDON_INSTANCE_VERSION_GAME_MIN "2.1.0"
102 #define ADDON_INSTANCE_VERSION_GAME_XML_ID "kodi.binary.instance.game"
103 #define ADDON_INSTANCE_VERSION_GAME_DEPENDS "addon-instance/Game.h"
105 #define ADDON_INSTANCE_VERSION_IMAGEDECODER "2.1.1"
106 #define ADDON_INSTANCE_VERSION_IMAGEDECODER_MIN "2.1.0"
107 #define ADDON_INSTANCE_VERSION_IMAGEDECODER_XML_ID "kodi.binary.instance.imagedecoder"
108 #define ADDON_INSTANCE_VERSION_IMAGEDECODER_DEPENDS "addon-instance/ImageDecoder.h"
110 #define ADDON_INSTANCE_VERSION_INPUTSTREAM "3.0.2"
111 #define ADDON_INSTANCE_VERSION_INPUTSTREAM_MIN "3.0.1"
112 #define ADDON_INSTANCE_VERSION_INPUTSTREAM_XML_ID "kodi.binary.instance.inputstream"
113 #define ADDON_INSTANCE_VERSION_INPUTSTREAM_DEPENDS "c-api/addon-instance/inputstream.h" \
114 "c-api/addon-instance/inputstream/demux_packet.h" \
115 "c-api/addon-instance/inputstream/stream_codec.h" \
116 "c-api/addon-instance/inputstream/stream_constants.h" \
117 "c-api/addon-instance/inputstream/stream_crypto.h" \
118 "c-api/addon-instance/inputstream/timing_constants.h" \
119 "addon-instance/Inputstream.h" \
120 "addon-instance/inputstream/DemuxPacket.h" \
121 "addon-instance/inputstream/StreamCodec.h" \
122 "addon-instance/inputstream/StreamConstants.h" \
123 "addon-instance/inputstream/StreamCrypto.h" \
124 "addon-instance/inputstream/TimingConstants.h"
126 #define ADDON_INSTANCE_VERSION_PERIPHERAL "2.0.0"
127 #define ADDON_INSTANCE_VERSION_PERIPHERAL_MIN "2.0.0"
128 #define ADDON_INSTANCE_VERSION_PERIPHERAL_XML_ID "kodi.binary.instance.peripheral"
129 #define ADDON_INSTANCE_VERSION_PERIPHERAL_DEPENDS "addon-instance/Peripheral.h" \
130 "addon-instance/PeripheralUtils.h"
132 #define ADDON_INSTANCE_VERSION_PVR "8.0.1"
133 #define ADDON_INSTANCE_VERSION_PVR_MIN "8.0.0"
134 #define ADDON_INSTANCE_VERSION_PVR_XML_ID "kodi.binary.instance.pvr"
135 #define ADDON_INSTANCE_VERSION_PVR_DEPENDS "c-api/addon-instance/pvr.h" \
136 "c-api/addon-instance/pvr/pvr_providers.h" \
137 "c-api/addon-instance/pvr/pvr_channel_groups.h" \
138 "c-api/addon-instance/pvr/pvr_channels.h" \
139 "c-api/addon-instance/pvr/pvr_defines.h" \
140 "c-api/addon-instance/pvr/pvr_edl.h" \
141 "c-api/addon-instance/pvr/pvr_epg.h" \
142 "c-api/addon-instance/pvr/pvr_general.h" \
143 "c-api/addon-instance/pvr/pvr_menu_hook.h" \
144 "c-api/addon-instance/pvr/pvr_recordings.h" \
145 "c-api/addon-instance/pvr/pvr_stream.h" \
146 "c-api/addon-instance/pvr/pvr_timers.h" \
147 "addon-instance/PVR.h" \
148 "addon-instance/pvr/ChannelGroups.h" \
149 "addon-instance/pvr/Channels.h" \
150 "addon-instance/pvr/EDL.h" \
151 "addon-instance/pvr/EPG.h" \
152 "addon-instance/pvr/General.h" \
153 "addon-instance/pvr/MenuHook.h" \
154 "addon-instance/pvr/Recordings.h" \
155 "addon-instance/pvr/Stream.h" \
156 "addon-instance/pvr/Timers.h"
158 #define ADDON_INSTANCE_VERSION_SCREENSAVER "2.1.0"
159 #define ADDON_INSTANCE_VERSION_SCREENSAVER_MIN "2.1.0"
160 #define ADDON_INSTANCE_VERSION_SCREENSAVER_XML_ID "kodi.binary.instance.screensaver"
161 #define ADDON_INSTANCE_VERSION_SCREENSAVER_DEPENDS "c-api/addon-instance/screensaver.h" \
162 "addon-instance/Screensaver.h"
164 #define ADDON_INSTANCE_VERSION_VFS "3.0.0"
165 #define ADDON_INSTANCE_VERSION_VFS_MIN "3.0.0"
166 #define ADDON_INSTANCE_VERSION_VFS_XML_ID "kodi.binary.instance.vfs"
167 #define ADDON_INSTANCE_VERSION_VFS_DEPENDS "c-api/addon-instance/vfs.h" \
168 "addon-instance/VFS.h"
170 #define ADDON_INSTANCE_VERSION_VISUALIZATION "3.0.0"
171 #define ADDON_INSTANCE_VERSION_VISUALIZATION_MIN "3.0.0"
172 #define ADDON_INSTANCE_VERSION_VISUALIZATION_XML_ID "kodi.binary.instance.visualization"
173 #define ADDON_INSTANCE_VERSION_VISUALIZATION_DEPENDS "addon-instance/Visualization.h" \
174 "c-api/addon-instance/visualization.h"
176 #define ADDON_INSTANCE_VERSION_VIDEOCODEC "2.0.2"
177 #define ADDON_INSTANCE_VERSION_VIDEOCODEC_MIN "2.0.1"
178 #define ADDON_INSTANCE_VERSION_VIDEOCODEC_XML_ID "kodi.binary.instance.videocodec"
179 #define ADDON_INSTANCE_VERSION_VIDEOCODEC_DEPENDS "c-api/addon-instance/video_codec.h" \
180 "c-api/addon-instance/inputstream/stream_codec.h" \
181 "c-api/addon-instance/inputstream/stream_crypto.h" \
182 "addon-instance/VideoCodec.h" \
183 "addon-instance/inputstream/StreamCodec.h" \
184 "addon-instance/inputstream/StreamCrypto.h" \
203 ADDON_GLOBAL_MAIN = 0,
204 ADDON_GLOBAL_GUI = 1,
205 ADDON_GLOBAL_AUDIOENGINE = 2,
206 ADDON_GLOBAL_GENERAL = 3,
207 ADDON_GLOBAL_NETWORK = 4,
208 ADDON_GLOBAL_FILESYSTEM = 5,
209 ADDON_GLOBAL_TOOLS = 6,
212 ADDON_GLOBAL_MAX = 6,
266 inline const char* GetTypeVersion(
int type)
274 case ADDON_GLOBAL_MAIN:
275 return ADDON_GLOBAL_VERSION_MAIN;
276 #if !defined(BUILD_KODI_ADDON) || defined(ADDON_GLOBAL_VERSION_GENERAL_USED)
277 case ADDON_GLOBAL_GENERAL:
278 return ADDON_GLOBAL_VERSION_GENERAL;
280 #if !defined(BUILD_KODI_ADDON) || defined(ADDON_GLOBAL_VERSION_GUI_USED)
281 case ADDON_GLOBAL_GUI:
282 return ADDON_GLOBAL_VERSION_GUI;
284 #if !defined(BUILD_KODI_ADDON) || defined(ADDON_GLOBAL_VERSION_AUDIOENGINE_USED)
285 case ADDON_GLOBAL_AUDIOENGINE:
286 return ADDON_GLOBAL_VERSION_AUDIOENGINE;
288 #if !defined(BUILD_KODI_ADDON) || defined(ADDON_GLOBAL_VERSION_FILESYSTEM_USED)
289 case ADDON_GLOBAL_FILESYSTEM:
290 return ADDON_GLOBAL_VERSION_FILESYSTEM;
292 #if !defined(BUILD_KODI_ADDON) || defined(ADDON_GLOBAL_VERSION_NETWORK_USED)
293 case ADDON_GLOBAL_NETWORK:
294 return ADDON_GLOBAL_VERSION_NETWORK;
296 #if !defined(BUILD_KODI_ADDON) || defined(ADDON_GLOBAL_VERSION_TOOLS_USED)
297 case ADDON_GLOBAL_TOOLS:
298 return ADDON_GLOBAL_VERSION_TOOLS;
302 #if !defined(BUILD_KODI_ADDON) || defined(ADDON_INSTANCE_VERSION_AUDIODECODER_USED)
304 return ADDON_INSTANCE_VERSION_AUDIODECODER;
306 #if !defined(BUILD_KODI_ADDON) || defined(ADDON_INSTANCE_VERSION_AUDIOENCODER_USED)
308 return ADDON_INSTANCE_VERSION_AUDIOENCODER;
310 #if !defined(BUILD_KODI_ADDON) || defined(ADDON_INSTANCE_VERSION_GAME_USED)
312 return ADDON_INSTANCE_VERSION_GAME;
314 #if !defined(BUILD_KODI_ADDON) || defined(ADDON_INSTANCE_VERSION_IMAGEDECODER_USED)
316 return ADDON_INSTANCE_VERSION_IMAGEDECODER;
318 #if !defined(BUILD_KODI_ADDON) || defined(ADDON_INSTANCE_VERSION_INPUTSTREAM_USED)
320 return ADDON_INSTANCE_VERSION_INPUTSTREAM;
322 #if !defined(BUILD_KODI_ADDON) || defined(ADDON_INSTANCE_VERSION_PERIPHERAL_USED)
324 return ADDON_INSTANCE_VERSION_PERIPHERAL;
326 #if !defined(BUILD_KODI_ADDON) || defined(ADDON_INSTANCE_VERSION_PVR_USED)
328 return ADDON_INSTANCE_VERSION_PVR;
330 #if !defined(BUILD_KODI_ADDON) || defined(ADDON_INSTANCE_VERSION_SCREENSAVER_USED)
332 return ADDON_INSTANCE_VERSION_SCREENSAVER;
334 #if !defined(BUILD_KODI_ADDON) || defined(ADDON_INSTANCE_VERSION_VFS_USED)
336 return ADDON_INSTANCE_VERSION_VFS;
338 #if !defined(BUILD_KODI_ADDON) || defined(ADDON_INSTANCE_VERSION_VISUALIZATION_USED)
340 return ADDON_INSTANCE_VERSION_VISUALIZATION;
342 #if !defined(BUILD_KODI_ADDON) || defined(ADDON_INSTANCE_VERSION_VIDEOCODEC_USED)
344 return ADDON_INSTANCE_VERSION_VIDEOCODEC;
358 inline const char* GetTypeMinVersion(
int type)
363 case ADDON_GLOBAL_MAIN:
364 return ADDON_GLOBAL_VERSION_MAIN_MIN;
365 case ADDON_GLOBAL_GUI:
366 return ADDON_GLOBAL_VERSION_GUI_MIN;
367 case ADDON_GLOBAL_GENERAL:
368 return ADDON_GLOBAL_VERSION_GENERAL_MIN;
369 case ADDON_GLOBAL_AUDIOENGINE:
370 return ADDON_GLOBAL_VERSION_AUDIOENGINE_MIN;
371 case ADDON_GLOBAL_FILESYSTEM:
372 return ADDON_GLOBAL_VERSION_FILESYSTEM_MIN;
373 case ADDON_GLOBAL_NETWORK:
374 return ADDON_GLOBAL_VERSION_NETWORK_MIN;
375 case ADDON_GLOBAL_TOOLS:
376 return ADDON_GLOBAL_VERSION_TOOLS_MIN;
380 return ADDON_INSTANCE_VERSION_AUDIODECODER_MIN;
382 return ADDON_INSTANCE_VERSION_AUDIOENCODER_MIN;
384 return ADDON_INSTANCE_VERSION_GAME_MIN;
386 return ADDON_INSTANCE_VERSION_IMAGEDECODER_MIN;
388 return ADDON_INSTANCE_VERSION_INPUTSTREAM_MIN;
390 return ADDON_INSTANCE_VERSION_PERIPHERAL_MIN;
392 return ADDON_INSTANCE_VERSION_PVR_MIN;
394 return ADDON_INSTANCE_VERSION_SCREENSAVER_MIN;
396 return ADDON_INSTANCE_VERSION_VFS_MIN;
398 return ADDON_INSTANCE_VERSION_VISUALIZATION_MIN;
400 return ADDON_INSTANCE_VERSION_VIDEOCODEC_MIN;
412 inline const char* GetTypeName(
int type)
417 case ADDON_GLOBAL_MAIN:
419 case ADDON_GLOBAL_GUI:
421 case ADDON_GLOBAL_GENERAL:
423 case ADDON_GLOBAL_AUDIOENGINE:
424 return "AudioEngine";
425 case ADDON_GLOBAL_FILESYSTEM:
427 case ADDON_GLOBAL_NETWORK:
429 case ADDON_GLOBAL_TOOLS:
434 return "AudioDecoder";
436 return "AudioEncoder";
440 return "ImageDecoder";
442 return "Inputstream";
448 return "ScreenSaver";
450 return "Visualization";
466 inline int GetTypeId(
const char* name)
470 if (strcmp(name,
"addon") == 0)
471 return ADDON_GLOBAL_MAIN;
472 else if (strcmp(name,
"general") == 0)
473 return ADDON_GLOBAL_GENERAL;
474 else if (strcmp(name,
"gui") == 0)
475 return ADDON_GLOBAL_GUI;
476 else if (strcmp(name,
"audioengine") == 0)
477 return ADDON_GLOBAL_AUDIOENGINE;
478 else if (strcmp(name,
"filesystem") == 0)
479 return ADDON_GLOBAL_FILESYSTEM;
480 else if (strcmp(name,
"network") == 0)
481 return ADDON_GLOBAL_NETWORK;
482 else if (strcmp(name,
"tools") == 0)
483 return ADDON_GLOBAL_TOOLS;
484 else if (strcmp(name,
"audiodecoder") == 0)
486 else if (strcmp(name,
"audioencoder") == 0)
488 else if (strcmp(name,
"game") == 0)
490 else if (strcmp(name,
"imagedecoder") == 0)
492 else if (strcmp(name,
"inputstream") == 0)
494 else if (strcmp(name,
"peripheral") == 0)
496 else if (strcmp(name,
"pvr") == 0)
498 else if (strcmp(name,
"screensaver") == 0)
500 else if (strcmp(name,
"vfs") == 0)
502 else if (strcmp(name,
"visualization") == 0)
504 else if (strcmp(name,
"videocodec") == 0)
ADDON_TYPE
Definition: versions.h:201
@ ADDON_INSTANCE_PVR
Game instance, see kodi::addon::CInstancePVRClient.
Definition: versions.h:232
@ ADDON_INSTANCE_AUDIODECODER
Audio decoder instance, see kodi::addon::CInstanceAudioDecoder.
Definition: versions.h:217
@ ADDON_INSTANCE_VISUALIZATION
Music visualization instance, see kodi::addon::CInstanceVisualization.
Definition: versions.h:238
@ ADDON_INSTANCE_AUDIOENCODER
Audio encoder instance, see kodi::addon::CInstanceAudioEncoder.
Definition: versions.h:220
@ ADDON_INSTANCE_SCREENSAVER
PVR client instance, see kodi::addon::CInstanceScreensaver.
Definition: versions.h:235
@ ADDON_INSTANCE_VFS
Virtual Filesystem (VFS) instance, see kodi::addon::CInstanceVFS.
Definition: versions.h:241
@ ADDON_INSTANCE_INPUTSTREAM
Input stream instance, see kodi::addon::CInstanceInputStream.
Definition: versions.h:226
@ ADDON_INSTANCE_VIDEOCODEC
Video Decoder instance, see kodi::addon::CInstanceVideoCodec.
Definition: versions.h:247
@ ADDON_INSTANCE_PERIPHERAL
Peripheral instance, see kodi::addon::CInstancePeripheral.
Definition: versions.h:229
@ ADDON_INSTANCE_GAME
Game instance, see kodi::addon::CInstanceGame.
Definition: versions.h:223
@ ADDON_INSTANCE_IMAGEDECODER
Image Decoder instance, see kodi::addon::CInstanceImageDecoder.
Definition: versions.h:244