Merge pull request #2391 from henkwiedig/xvdr-pull-111

xbmc-addon-xvdr: add pvr api 1.8.0 patch (xvdr pull #111)
This commit is contained in:
Stephan Raue 2013-06-20 21:07:26 -07:00
commit 7adb7c3230

View File

@ -0,0 +1,159 @@
From b0dd079bee34969dade531ec33bc933cf5565964 Mon Sep 17 00:00:00 2001
From: Daniel Meyerholt <dxm523@gmail.com>
Date: Wed, 19 Jun 2013 18:55:54 +0200
Subject: [PATCH] Update xbmc addon headers
---
src/xvdr/XBMCAddon.cpp | 2 +-
src/xvdr/include/DVDDemuxPacket.h | 2 +-
src/xvdr/include/xbmc_addon_dll.h | 2 +-
src/xvdr/include/xbmc_epg_types.h | 2 +-
src/xvdr/include/xbmc_pvr_dll.h | 3 ++-
src/xvdr/include/xbmc_pvr_types.h | 25 ++++++++++++++++++++-----
6 files changed, 26 insertions(+), 10 deletions(-)
diff --git a/src/xvdr/XBMCAddon.cpp b/src/xvdr/XBMCAddon.cpp
index 60bfbe8..23c89a0 100644
--- a/src/xvdr/XBMCAddon.cpp
+++ b/src/xvdr/XBMCAddon.cpp
@@ -828,7 +828,7 @@ int GetRecordingLastPlayedPosition(const PVR_RECORDING &recording)
return mClient->GetRecordingLastPosition(recording.strRecordingId);
}
-PVR_ERROR CallMenuHook(const PVR_MENUHOOK &menuhook) {
+PVR_ERROR CallMenuHook(const PVR_MENUHOOK &menuhook, const PVR_MENUHOOK_DATA &item) {
switch(menuhook.iHookId) {
case XVDR_HOOK_SETTINGS_CHANNELSCAN:
DialogChannelScan();
diff --git a/src/xvdr/include/DVDDemuxPacket.h b/src/xvdr/include/DVDDemuxPacket.h
index 7d9967e..cf3c1e0 100644
--- a/src/xvdr/include/DVDDemuxPacket.h
+++ b/src/xvdr/include/DVDDemuxPacket.h
@@ -1,7 +1,7 @@
#pragma once
/*
- * Copyright (C) 2012 Team XBMC
+ * Copyright (C) 2012-2013 Team XBMC
* http://www.xbmc.org
*
* This Program is free software; you can redistribute it and/or modify
diff --git a/src/xvdr/include/xbmc_addon_dll.h b/src/xvdr/include/xbmc_addon_dll.h
index 9402623..12d3d91 100644
--- a/src/xvdr/include/xbmc_addon_dll.h
+++ b/src/xvdr/include/xbmc_addon_dll.h
@@ -21,7 +21,7 @@
*
*/
-#ifdef _WIN32
+#ifdef TARGET_WINDOWS
#include <windows.h>
#else
#ifndef __cdecl
diff --git a/src/xvdr/include/xbmc_epg_types.h b/src/xvdr/include/xbmc_epg_types.h
index 2284dda..c486be4 100644
--- a/src/xvdr/include/xbmc_epg_types.h
+++ b/src/xvdr/include/xbmc_epg_types.h
@@ -26,7 +26,7 @@
#undef PRAGMA_PACK_BEGIN
#undef PRAGMA_PACK_END
-#if defined(__GNUC__) && !defined(__MINGW32__)
+#if defined(__GNUC__)
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
#define ATTRIBUTE_PACKED __attribute__ ((packed))
#define PRAGMA_PACK 0
diff --git a/src/xvdr/include/xbmc_pvr_dll.h b/src/xvdr/include/xbmc_pvr_dll.h
index a40022b..5ef7b95 100644
--- a/src/xvdr/include/xbmc_pvr_dll.h
+++ b/src/xvdr/include/xbmc_pvr_dll.h
@@ -108,10 +108,11 @@
* Call one of the menu hooks (if supported).
* Supported PVR_MENUHOOK instances have to be added in ADDON_Create(), by calling AddMenuHook() on the callback.
* @param menuhook The hook to call.
+ * @param item The selected item for which the hook was called.
* @return PVR_ERROR_NO_ERROR if the hook was called successfully.
* @remarks Optional. Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function.
*/
- PVR_ERROR CallMenuHook(const PVR_MENUHOOK& menuhook);
+ PVR_ERROR CallMenuHook(const PVR_MENUHOOK& menuhook, const PVR_MENUHOOK_DATA &item);
//@}
/*! @name PVR EPG methods
diff --git a/src/xvdr/include/xbmc_pvr_types.h b/src/xvdr/include/xbmc_pvr_types.h
index a8193ed..1fb0c6c 100644
--- a/src/xvdr/include/xbmc_pvr_types.h
+++ b/src/xvdr/include/xbmc_pvr_types.h
@@ -22,7 +22,7 @@
#ifndef __PVRCLIENT_TYPES_H__
#define __PVRCLIENT_TYPES_H__
-#ifdef _WIN32
+#ifdef TARGET_WINDOWS
#include <windows.h>
#else
#ifndef __cdecl
@@ -52,7 +52,7 @@
#undef PRAGMA_PACK_BEGIN
#undef PRAGMA_PACK_END
-#if defined(__GNUC__) && !defined(__MINGW32__)
+#if defined(__GNUC__)
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
#define ATTRIBUTE_PACKED __attribute__ ((packed))
#define PRAGMA_PACK 0
@@ -74,10 +74,10 @@
#define PVR_STREAM_MAX_STREAMS 20
/* current PVR API version */
-#define XBMC_PVR_API_VERSION "1.7.0"
+#define XBMC_PVR_API_VERSION "1.8.0"
/* min. PVR API version */
-#define XBMC_PVR_MIN_API_VERSION "1.7.0"
+#define XBMC_PVR_MIN_API_VERSION "1.8.0"
#ifdef __cplusplus
extern "C" {
@@ -121,6 +121,7 @@
*/
typedef enum
{
+ PVR_MENUHOOK_UNKNOWN =-1, /*!< @brief unknown menu hook */
PVR_MENUHOOK_ALL = 0, /*!< @brief all categories */
PVR_MENUHOOK_CHANNEL = 1, /*!< @brief for channels */
PVR_MENUHOOK_TIMER = 2, /*!< @brief for timers */
@@ -310,6 +311,20 @@
} ATTRIBUTE_PACKED PVR_EDL_ENTRY;
/*!
+ * @brief PVR menu hook data
+ */
+ typedef struct PVR_MENUHOOK_DATA
+ {
+ PVR_MENUHOOK_CAT cat;
+ union data {
+ int iEpgUid;
+ PVR_CHANNEL channel;
+ PVR_TIMER timer;
+ PVR_RECORDING recording;
+ } data;
+ } ATTRIBUTE_PACKED PVR_MENUHOOK_DATA;
+
+ /*!
* @brief Structure to transfer the methods from xbmc_pvr_dll.h to XBMC
*/
typedef struct PVRClient
@@ -324,7 +339,7 @@
const char* (__cdecl* GetBackendVersion)(void);
const char* (__cdecl* GetConnectionString)(void);
PVR_ERROR (__cdecl* GetDriveSpace)(long long*, long long*);
- PVR_ERROR (__cdecl* MenuHook)(const PVR_MENUHOOK&);
+ PVR_ERROR (__cdecl* MenuHook)(const PVR_MENUHOOK&, const PVR_MENUHOOK_DATA&);
PVR_ERROR (__cdecl* GetEpg)(ADDON_HANDLE, const PVR_CHANNEL&, time_t, time_t);
int (__cdecl* GetChannelGroupsAmount)(void);
PVR_ERROR (__cdecl* GetChannelGroups)(ADDON_HANDLE, bool);
--
1.8.1.6