summaryrefslogtreecommitdiffstats
path: root/xbmc/addons/kodi-addon-dev-kit/include/kodi/libXBMC_pvr.h
diff options
context:
space:
mode:
authormanuel <manuel@mausz.at>2017-06-04 16:57:49 +0200
committermanuel <manuel@mausz.at>2017-06-04 16:57:49 +0200
commitf44ecaa4f27e7538ddcad66d40e543bffa2d2d86 (patch)
treed8de60fc7e17edeb6f0921726c038ee54b281445 /xbmc/addons/kodi-addon-dev-kit/include/kodi/libXBMC_pvr.h
parentae08c8b7221bc965ac40d70e53fc8fcddb050c46 (diff)
downloadkodi-pvr-build-f44ecaa4f27e7538ddcad66d40e543bffa2d2d86.tar.gz
kodi-pvr-build-f44ecaa4f27e7538ddcad66d40e543bffa2d2d86.tar.bz2
kodi-pvr-build-f44ecaa4f27e7538ddcad66d40e543bffa2d2d86.zip
sync with upstream
Diffstat (limited to 'xbmc/addons/kodi-addon-dev-kit/include/kodi/libXBMC_pvr.h')
-rw-r--r--xbmc/addons/kodi-addon-dev-kit/include/kodi/libXBMC_pvr.h83
1 files changed, 29 insertions, 54 deletions
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/libXBMC_pvr.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/libXBMC_pvr.h
index 3ae30a7..6a9145e 100644
--- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/libXBMC_pvr.h
+++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/libXBMC_pvr.h
@@ -32,41 +32,6 @@
32//! @todo original definition is in DVDClock.h 32//! @todo original definition is in DVDClock.h
33#define DVD_NOPTS_VALUE 0xFFF0000000000000 33#define DVD_NOPTS_VALUE 0xFFF0000000000000
34 34
35namespace KodiAPI
36{
37namespace V1
38{
39namespace PVR
40{
41
42typedef struct CB_PVRLib
43{
44 void (*TransferEpgEntry)(void *userData, const ADDON_HANDLE handle, const EPG_TAG *epgentry);
45 void (*TransferChannelEntry)(void *userData, const ADDON_HANDLE handle, const PVR_CHANNEL *chan);
46 void (*TransferTimerEntry)(void *userData, const ADDON_HANDLE handle, const PVR_TIMER *timer);
47 void (*TransferRecordingEntry)(void *userData, const ADDON_HANDLE handle, const PVR_RECORDING *recording);
48 void (*AddMenuHook)(void *addonData, PVR_MENUHOOK *hook);
49 void (*Recording)(void *addonData, const char *Name, const char *FileName, bool On);
50 void (*TriggerChannelUpdate)(void *addonData);
51 void (*TriggerTimerUpdate)(void *addonData);
52 void (*TriggerRecordingUpdate)(void *addonData);
53 void (*TriggerChannelGroupsUpdate)(void *addonData);
54 void (*TriggerEpgUpdate)(void *addonData, unsigned int iChannelUid);
55
56 void (*TransferChannelGroup)(void *addonData, const ADDON_HANDLE handle, const PVR_CHANNEL_GROUP *group);
57 void (*TransferChannelGroupMember)(void *addonData, const ADDON_HANDLE handle, const PVR_CHANNEL_GROUP_MEMBER *member);
58
59 void (*FreeDemuxPacket)(void *addonData, DemuxPacket* pPacket);
60 DemuxPacket* (*AllocateDemuxPacket)(void *addonData, int iDataSize);
61
62 void (*ConnectionStateChange)(void* addonData, const char* strConnectionString, PVR_CONNECTION_STATE newState, const char *strMessage);
63 void (*EpgEventStateChange)(void* addonData, EPG_TAG* tag, unsigned int iUniqueChannelId, EPG_EVENT_STATE newState);
64} CB_PVRLib;
65
66} /* namespace PVR */
67} /* namespace V1 */
68} /* namespace KodiAPI */
69
70class CHelper_libXBMC_pvr 35class CHelper_libXBMC_pvr
71{ 36{
72public: 37public:
@@ -93,7 +58,7 @@ public:
93 { 58 {
94 m_Handle = static_cast<AddonCB*>(handle); 59 m_Handle = static_cast<AddonCB*>(handle);
95 if (m_Handle) 60 if (m_Handle)
96 m_Callbacks = (KodiAPI::V1::PVR::CB_PVRLib*)m_Handle->PVRLib_RegisterMe(m_Handle->addonData); 61 m_Callbacks = (AddonInstance_PVR*)m_Handle->PVRLib_RegisterMe(m_Handle->addonData);
97 if (!m_Callbacks) 62 if (!m_Callbacks)
98 fprintf(stderr, "libXBMC_pvr-ERROR: PVRLib_register_me can't get callback table from Kodi !!!\n"); 63 fprintf(stderr, "libXBMC_pvr-ERROR: PVRLib_register_me can't get callback table from Kodi !!!\n");
99 64
@@ -107,7 +72,7 @@ public:
107 */ 72 */
108 void TransferEpgEntry(const ADDON_HANDLE handle, const EPG_TAG* entry) 73 void TransferEpgEntry(const ADDON_HANDLE handle, const EPG_TAG* entry)
109 { 74 {
110 return m_Callbacks->TransferEpgEntry(m_Handle->addonData, handle, entry); 75 return m_Callbacks->toKodi.TransferEpgEntry(m_Callbacks->toKodi.kodiInstance, handle, entry);
111 } 76 }
112 77
113 /*! 78 /*!
@@ -117,7 +82,7 @@ public:
117 */ 82 */
118 void TransferChannelEntry(const ADDON_HANDLE handle, const PVR_CHANNEL* entry) 83 void TransferChannelEntry(const ADDON_HANDLE handle, const PVR_CHANNEL* entry)
119 { 84 {
120 return m_Callbacks->TransferChannelEntry(m_Handle->addonData, handle, entry); 85 return m_Callbacks->toKodi.TransferChannelEntry(m_Callbacks->toKodi.kodiInstance, handle, entry);
121 } 86 }
122 87
123 /*! 88 /*!
@@ -127,7 +92,7 @@ public:
127 */ 92 */
128 void TransferTimerEntry(const ADDON_HANDLE handle, const PVR_TIMER* entry) 93 void TransferTimerEntry(const ADDON_HANDLE handle, const PVR_TIMER* entry)
129 { 94 {
130 return m_Callbacks->TransferTimerEntry(m_Handle->addonData, handle, entry); 95 return m_Callbacks->toKodi.TransferTimerEntry(m_Callbacks->toKodi.kodiInstance, handle, entry);
131 } 96 }
132 97
133 /*! 98 /*!
@@ -137,7 +102,7 @@ public:
137 */ 102 */
138 void TransferRecordingEntry(const ADDON_HANDLE handle, const PVR_RECORDING* entry) 103 void TransferRecordingEntry(const ADDON_HANDLE handle, const PVR_RECORDING* entry)
139 { 104 {
140 return m_Callbacks->TransferRecordingEntry(m_Handle->addonData, handle, entry); 105 return m_Callbacks->toKodi.TransferRecordingEntry(m_Callbacks->toKodi.kodiInstance, handle, entry);
141 } 106 }
142 107
143 /*! 108 /*!
@@ -147,7 +112,7 @@ public:
147 */ 112 */
148 void TransferChannelGroup(const ADDON_HANDLE handle, const PVR_CHANNEL_GROUP* entry) 113 void TransferChannelGroup(const ADDON_HANDLE handle, const PVR_CHANNEL_GROUP* entry)
149 { 114 {
150 return m_Callbacks->TransferChannelGroup(m_Handle->addonData, handle, entry); 115 return m_Callbacks->toKodi.TransferChannelGroup(m_Callbacks->toKodi.kodiInstance, handle, entry);
151 } 116 }
152 117
153 /*! 118 /*!
@@ -157,7 +122,7 @@ public:
157 */ 122 */
158 void TransferChannelGroupMember(const ADDON_HANDLE handle, const PVR_CHANNEL_GROUP_MEMBER* entry) 123 void TransferChannelGroupMember(const ADDON_HANDLE handle, const PVR_CHANNEL_GROUP_MEMBER* entry)
159 { 124 {
160 return m_Callbacks->TransferChannelGroupMember(m_Handle->addonData, handle, entry); 125 return m_Callbacks->toKodi.TransferChannelGroupMember(m_Callbacks->toKodi.kodiInstance, handle, entry);
161 } 126 }
162 127
163 /*! 128 /*!
@@ -166,7 +131,7 @@ public:
166 */ 131 */
167 void AddMenuHook(PVR_MENUHOOK* hook) 132 void AddMenuHook(PVR_MENUHOOK* hook)
168 { 133 {
169 return m_Callbacks->AddMenuHook(m_Handle->addonData, hook); 134 return m_Callbacks->toKodi.AddMenuHook(m_Callbacks->toKodi.kodiInstance, hook);
170 } 135 }
171 136
172 /*! 137 /*!
@@ -177,7 +142,7 @@ public:
177 */ 142 */
178 void Recording(const char* strRecordingName, const char* strFileName, bool bOn) 143 void Recording(const char* strRecordingName, const char* strFileName, bool bOn)
179 { 144 {
180 return m_Callbacks->Recording(m_Handle->addonData, strRecordingName, strFileName, bOn); 145 return m_Callbacks->toKodi.Recording(m_Callbacks->toKodi.kodiInstance, strRecordingName, strFileName, bOn);
181 } 146 }
182 147
183 /*! 148 /*!
@@ -185,7 +150,7 @@ public:
185 */ 150 */
186 void TriggerTimerUpdate(void) 151 void TriggerTimerUpdate(void)
187 { 152 {
188 return m_Callbacks->TriggerTimerUpdate(m_Handle->addonData); 153 return m_Callbacks->toKodi.TriggerTimerUpdate(m_Callbacks->toKodi.kodiInstance);
189 } 154 }
190 155
191 /*! 156 /*!
@@ -193,7 +158,7 @@ public:
193 */ 158 */
194 void TriggerRecordingUpdate(void) 159 void TriggerRecordingUpdate(void)
195 { 160 {
196 return m_Callbacks->TriggerRecordingUpdate(m_Handle->addonData); 161 return m_Callbacks->toKodi.TriggerRecordingUpdate(m_Callbacks->toKodi.kodiInstance);
197 } 162 }
198 163
199 /*! 164 /*!
@@ -201,7 +166,7 @@ public:
201 */ 166 */
202 void TriggerChannelUpdate(void) 167 void TriggerChannelUpdate(void)
203 { 168 {
204 return m_Callbacks->TriggerChannelUpdate(m_Handle->addonData); 169 return m_Callbacks->toKodi.TriggerChannelUpdate(m_Callbacks->toKodi.kodiInstance);
205 } 170 }
206 171
207 /*! 172 /*!
@@ -210,7 +175,7 @@ public:
210 */ 175 */
211 void TriggerEpgUpdate(unsigned int iChannelUid) 176 void TriggerEpgUpdate(unsigned int iChannelUid)
212 { 177 {
213 return m_Callbacks->TriggerEpgUpdate(m_Handle->addonData, iChannelUid); 178 return m_Callbacks->toKodi.TriggerEpgUpdate(m_Callbacks->toKodi.kodiInstance, iChannelUid);
214 } 179 }
215 180
216 /*! 181 /*!
@@ -218,7 +183,7 @@ public:
218 */ 183 */
219 void TriggerChannelGroupsUpdate(void) 184 void TriggerChannelGroupsUpdate(void)
220 { 185 {
221 return m_Callbacks->TriggerChannelGroupsUpdate(m_Handle->addonData); 186 return m_Callbacks->toKodi.TriggerChannelGroupsUpdate(m_Callbacks->toKodi.kodiInstance);
222 } 187 }
223 188
224#ifdef USE_DEMUX 189#ifdef USE_DEMUX
@@ -228,7 +193,7 @@ public:
228 */ 193 */
229 void FreeDemuxPacket(DemuxPacket* pPacket) 194 void FreeDemuxPacket(DemuxPacket* pPacket)
230 { 195 {
231 return m_Callbacks->FreeDemuxPacket(m_Handle->addonData, pPacket); 196 return m_Callbacks->toKodi.FreeDemuxPacket(m_Callbacks->toKodi.kodiInstance, pPacket);
232 } 197 }
233 198
234 /*! 199 /*!
@@ -238,7 +203,7 @@ public:
238 */ 203 */
239 DemuxPacket* AllocateDemuxPacket(int iDataSize) 204 DemuxPacket* AllocateDemuxPacket(int iDataSize)
240 { 205 {
241 return m_Callbacks->AllocateDemuxPacket(m_Handle->addonData, iDataSize); 206 return m_Callbacks->toKodi.AllocateDemuxPacket(m_Callbacks->toKodi.kodiInstance, iDataSize);
242 } 207 }
243#endif 208#endif
244 209
@@ -251,7 +216,7 @@ public:
251 */ 216 */
252 void ConnectionStateChange(const char *strConnectionString, PVR_CONNECTION_STATE newState, const char *strMessage) 217 void ConnectionStateChange(const char *strConnectionString, PVR_CONNECTION_STATE newState, const char *strMessage)
253 { 218 {
254 return m_Callbacks->ConnectionStateChange(m_Handle->addonData, strConnectionString, newState, strMessage); 219 return m_Callbacks->toKodi.ConnectionStateChange(m_Callbacks->toKodi.kodiInstance, strConnectionString, newState, strMessage);
255 } 220 }
256 221
257 /*! 222 /*!
@@ -263,10 +228,20 @@ public:
263 */ 228 */
264 void EpgEventStateChange(EPG_TAG *tag, unsigned int iUniqueChannelId, EPG_EVENT_STATE newState) 229 void EpgEventStateChange(EPG_TAG *tag, unsigned int iUniqueChannelId, EPG_EVENT_STATE newState)
265 { 230 {
266 return m_Callbacks->EpgEventStateChange(m_Handle->addonData, tag, iUniqueChannelId, newState); 231 return m_Callbacks->toKodi.EpgEventStateChange(m_Callbacks->toKodi.kodiInstance, tag, iUniqueChannelId, newState);
232 }
233
234 /*!
235 * @brief Get the codec id used by XBMC
236 * @param strCodecName The name of the codec
237 * @return The codec_id, or a codec_id with 0 values when not supported
238 */
239 xbmc_codec_t GetCodecByName(const char* strCodecName)
240 {
241 return m_Callbacks->toKodi.GetCodecByName(m_Callbacks->toKodi.kodiInstance, strCodecName);
267 } 242 }
268 243
269private: 244private:
270 AddonCB* m_Handle; 245 AddonCB* m_Handle;
271 KodiAPI::V1::PVR::CB_PVRLib *m_Callbacks; 246 AddonInstance_PVR *m_Callbacks;
272}; 247};