Kodi Development  19.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 #pragma once
10 
11 #ifndef C_API_ADDONINSTANCE_PVR_RECORDINGS_H
12 #define C_API_ADDONINSTANCE_PVR_RECORDINGS_H
13 
14 #include "pvr_defines.h"
15 
16 #include <stdbool.h>
17 #include <stdint.h>
18 #include <time.h>
19 
20 //¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
21 // "C" Definitions group 5 - PVR recordings
22 #ifdef __cplusplus
23 extern "C"
24 {
25 #endif /* __cplusplus */
26 
27  //============================================================================
40  typedef enum PVR_RECORDING_FLAG
41  {
44 
47 
50 
53 
56 
61  //----------------------------------------------------------------------------
62 
63  //============================================================================
71  #define PVR_RECORDING_INVALID_SERIES_EPISODE EPG_TAG_INVALID_SERIES_EPISODE
72  //----------------------------------------------------------------------------
73 
74  //============================================================================
79  #define PVR_RECORDING_VALUE_NOT_AVAILABLE -1
80  //----------------------------------------------------------------------------
81 
82  //============================================================================
91  {
94 
97 
102  //----------------------------------------------------------------------------
103 
111  typedef struct PVR_RECORDING
112  {
113  char strRecordingId[PVR_ADDON_NAME_STRING_LENGTH];
114  char strTitle[PVR_ADDON_NAME_STRING_LENGTH];
115  char strEpisodeName[PVR_ADDON_NAME_STRING_LENGTH];
116  int iSeriesNumber;
117  int iEpisodeNumber;
118  int iYear;
119  char strDirectory[PVR_ADDON_URL_STRING_LENGTH];
120  char strPlotOutline[PVR_ADDON_DESC_STRING_LENGTH];
121  char strPlot[PVR_ADDON_DESC_STRING_LENGTH];
122  char strGenreDescription[PVR_ADDON_DESC_STRING_LENGTH];
123  char strChannelName[PVR_ADDON_NAME_STRING_LENGTH];
124  char strIconPath[PVR_ADDON_URL_STRING_LENGTH];
125  char strThumbnailPath[PVR_ADDON_URL_STRING_LENGTH];
126  char strFanartPath[PVR_ADDON_URL_STRING_LENGTH];
127  time_t recordingTime;
128  int iDuration;
129  int iPriority;
130  int iLifetime;
131  int iGenreType;
132  int iGenreSubType;
133  int iPlayCount;
134  int iLastPlayedPosition;
135  bool bIsDeleted;
136  unsigned int iEpgEventId;
137  int iChannelUid;
138  enum PVR_RECORDING_CHANNEL_TYPE channelType;
139  char strFirstAired[PVR_ADDON_DATE_STRING_LENGTH];
140  unsigned int iFlags;
141  int64_t sizeInBytes;
142  } PVR_RECORDING;
143 
144 #ifdef __cplusplus
145 }
146 #endif /* __cplusplus */
147 
148 #endif /* !C_API_ADDONINSTANCE_PVR_RECORDINGS_H */
PVR_RECORDING_FLAG_IS_NEW
@ PVR_RECORDING_FLAG_IS_NEW
0000 0010 : This recording will be flagged as new.
Definition: pvr_recordings.h:49
PVR_RECORDING
"C" PVR add-on recording.
Definition: pvr_recordings.h:112
PVR_RECORDING_CHANNEL_TYPE
PVR_RECORDING_CHANNEL_TYPE
Definition: pvr_recordings.h:91
PVR_RECORDING_FLAG_UNDEFINED
@ PVR_RECORDING_FLAG_UNDEFINED
0000 0000 : Nothing special to say about this recording.
Definition: pvr_recordings.h:43
PVR_RECORDING_FLAG_IS_FINALE
@ PVR_RECORDING_FLAG_IS_FINALE
0000 1000 : This recording will be flagged as a finale.
Definition: pvr_recordings.h:55
PVR_RECORDING_CHANNEL_TYPE_UNKNOWN
@ PVR_RECORDING_CHANNEL_TYPE_UNKNOWN
0 : Unknown type.
Definition: pvr_recordings.h:93
PVR_RECORDING_FLAG_IS_PREMIERE
@ PVR_RECORDING_FLAG_IS_PREMIERE
0000 0100 : This recording will be flagged as a premiere.
Definition: pvr_recordings.h:52
PVR_RECORDING_FLAG
PVR_RECORDING_FLAG
Definition: pvr_recordings.h:41
PVR_RECORDING_FLAG_IS_SERIES
@ PVR_RECORDING_FLAG_IS_SERIES
0000 0001 : This recording is part of a series.
Definition: pvr_recordings.h:46
PVR_RECORDING_FLAG_IS_LIVE
@ PVR_RECORDING_FLAG_IS_LIVE
0001 0000 : This recording will be flagged as live.
Definition: pvr_recordings.h:58
PVR_RECORDING_CHANNEL_TYPE_TV
@ PVR_RECORDING_CHANNEL_TYPE_TV
1 : TV channel.
Definition: pvr_recordings.h:96
PVR_RECORDING_CHANNEL_TYPE_RADIO
@ PVR_RECORDING_CHANNEL_TYPE_RADIO
2 : Radio channel.
Definition: pvr_recordings.h:99