Kodi Development  20.0
for Binary and Script based Add-Ons
pvr_recordings.h
1 /*
2  * Copyright (C) 2005-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 #ifndef C_API_ADDONINSTANCE_PVR_RECORDINGS_H
10 #define C_API_ADDONINSTANCE_PVR_RECORDINGS_H
11 
12 #include "pvr_defines.h"
13 
14 #include <stdbool.h>
15 #include <stdint.h>
16 #include <time.h>
17 
18 //¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
19 // "C" Definitions group 5 - PVR recordings
20 #ifdef __cplusplus
21 extern "C"
22 {
23 #endif /* __cplusplus */
24 
25  //============================================================================
38  typedef enum PVR_RECORDING_FLAG
39  {
42 
45 
48 
51 
54 
59  //----------------------------------------------------------------------------
60 
61  //============================================================================
69  #define PVR_RECORDING_INVALID_SERIES_EPISODE EPG_TAG_INVALID_SERIES_EPISODE
70  //----------------------------------------------------------------------------
71 
72  //============================================================================
77  #define PVR_RECORDING_VALUE_NOT_AVAILABLE -1
78  //----------------------------------------------------------------------------
79 
80  //============================================================================
89  {
92 
95 
100  //----------------------------------------------------------------------------
101 
109  typedef struct PVR_RECORDING
110  {
111  char strRecordingId[PVR_ADDON_NAME_STRING_LENGTH];
112  char strTitle[PVR_ADDON_NAME_STRING_LENGTH];
113  char strEpisodeName[PVR_ADDON_NAME_STRING_LENGTH];
114  int iSeriesNumber;
115  int iEpisodeNumber;
116  int iYear;
117  char strDirectory[PVR_ADDON_URL_STRING_LENGTH];
118  char strPlotOutline[PVR_ADDON_DESC_STRING_LENGTH];
119  char strPlot[PVR_ADDON_DESC_STRING_LENGTH];
120  char strGenreDescription[PVR_ADDON_DESC_STRING_LENGTH];
121  char strChannelName[PVR_ADDON_NAME_STRING_LENGTH];
122  char strIconPath[PVR_ADDON_URL_STRING_LENGTH];
123  char strThumbnailPath[PVR_ADDON_URL_STRING_LENGTH];
124  char strFanartPath[PVR_ADDON_URL_STRING_LENGTH];
125  time_t recordingTime;
126  int iDuration;
127  int iPriority;
128  int iLifetime;
129  int iGenreType;
130  int iGenreSubType;
131  int iPlayCount;
132  int iLastPlayedPosition;
133  bool bIsDeleted;
134  unsigned int iEpgEventId;
135  int iChannelUid;
136  enum PVR_RECORDING_CHANNEL_TYPE channelType;
137  char strFirstAired[PVR_ADDON_DATE_STRING_LENGTH];
138  unsigned int iFlags;
139  int64_t sizeInBytes;
140  int iClientProviderUid;
141  char strProviderName[PVR_ADDON_NAME_STRING_LENGTH];
142  } PVR_RECORDING;
143 
144 #ifdef __cplusplus
145 }
146 #endif /* __cplusplus */
147 
148 #endif /* !C_API_ADDONINSTANCE_PVR_RECORDINGS_H */
PVR_RECORDING_CHANNEL_TYPE
Definition: pvr_recordings.h:89
@ PVR_RECORDING_CHANNEL_TYPE_RADIO
2 : Radio channel.
Definition: pvr_recordings.h:97
@ PVR_RECORDING_CHANNEL_TYPE_TV
1 : TV channel.
Definition: pvr_recordings.h:94
@ PVR_RECORDING_CHANNEL_TYPE_UNKNOWN
0 : Unknown type.
Definition: pvr_recordings.h:91
PVR_RECORDING_FLAG
Definition: pvr_recordings.h:39
@ PVR_RECORDING_FLAG_IS_LIVE
0001 0000 : This recording will be flagged as live.
Definition: pvr_recordings.h:56
@ PVR_RECORDING_FLAG_IS_NEW
0000 0010 : This recording will be flagged as new.
Definition: pvr_recordings.h:47
@ PVR_RECORDING_FLAG_UNDEFINED
0000 0000 : Nothing special to say about this recording.
Definition: pvr_recordings.h:41
@ PVR_RECORDING_FLAG_IS_SERIES
0000 0001 : This recording is part of a series.
Definition: pvr_recordings.h:44
@ PVR_RECORDING_FLAG_IS_FINALE
0000 1000 : This recording will be flagged as a finale.
Definition: pvr_recordings.h:53
@ PVR_RECORDING_FLAG_IS_PREMIERE
0000 0100 : This recording will be flagged as a premiere.
Definition: pvr_recordings.h:50
"C" PVR add-on recording.
Definition: pvr_recordings.h:110