summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schirrmacher <vdr.skinflatplus@schirrmacher.eu>2015-02-10 08:22:00 +0100
committerMartin Schirrmacher <vdr.skinflatplus@schirrmacher.eu>2015-02-10 08:22:00 +0100
commit949e44077a4d6fa75090aa9ef9e15ab3f1563979 (patch)
tree65f38b89d4aa7a50d9327e37f64e1d6460a2be53
parent9f184bb3e2c975fa71dad5a65a7e267ea2b7b424 (diff)
downloadskin-flatplus-949e44077a4d6fa75090aa9ef9e15ab3f1563979.tar.gz
skin-flatplus-949e44077a4d6fa75090aa9ef9e15ab3f1563979.tar.bz2
add remottimers.h service header file
-rw-r--r--HISTORY11
-rw-r--r--services/remotetimers.h141
2 files changed, 146 insertions, 6 deletions
diff --git a/HISTORY b/HISTORY
index caab0c17..35336a2a 100644
--- a/HISTORY
+++ b/HISTORY
@@ -11,6 +11,10 @@ VDR Plugin 'skinflatplus' Revision History
- [fix] subtitles does not use title
- [update] timer widget
new options to select which timer to show (recording, active)
+- [update] timer widget
+ remote timer support. If you have remote timers installed and activate it in setup you'll get local timer with 'L' and remote timer with 'R'.
+ Remote timers will be refreshed every 30 minutes. Every refresh cost several seconds when opening main menu.
+ You can adjust the time with the hidden setting 'MainMenuWidgetActiveTimerShowRemoteRefreshTime' in setup.conf
- [update] add 15:11 aspect in displaychannel and replay
- [update] disk usage icons with 16 sections instead of 8
- [update] widgets: system_information.g2v, temperatures.g2v, temperatures.default
@@ -18,12 +22,7 @@ VDR Plugin 'skinflatplus' Revision History
- [add] support for message text with parse tilde and extra text color
- [add] provide support for new SetMenuSortMode function, to show sort in menus
- [add] recording menu, progressbar icon to show how much seen from the recording
-- [add] option to allways show date in schedule menu
-- [add] timer widget
- remote timer support. If you have remote timers installed and activate it in setup you'll get local timer with 'L' and remote timer with 'R'.
- Remote timers will be refreshed every 30 minutes. Every refresh cost several seconds when opening main menu.
- You can adjust the time with the hidden setting 'MainMenuWidgetActiveTimerShowRemoteRefreshTime' in setup.conf
-
+- [add] option to allways show date in schedule menu. 'Plugin settings' -> 'Menu settings' -> 'Menu event view allways with date'
2014-12-04: Version 0.5.0
- [fix] femon receiver - do not get data from previous channel
diff --git a/services/remotetimers.h b/services/remotetimers.h
new file mode 100644
index 00000000..2dc8a975
--- /dev/null
+++ b/services/remotetimers.h
@@ -0,0 +1,141 @@
+/*
+ * remotetimers.h: Public interface of the plugin's services
+ *
+ * Copyright (C) 2008-2011 Frank Schmirler <vdr@schmirler.de>
+ *
+ * This file is part of VDR Plugin remotetimers.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ * Or, point your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+ */
+
+#ifndef _SERVICE__H
+#define _SERVICE__H
+
+#ifndef __TIMERS_H
+#include <vdr/timers.h>
+#include <vdr/epg.h>
+#endif
+
+/*
+ * If the Data argument is NULL, all service calls return true.
+ * Otherwise the return value indicates success or failure of the service call.
+ *
+ * The service calls are not thread safe and must be called from the VDR main loop.
+ */
+
+/*
+ * RemoteTimers::InstantRecording-v1.0
+ * Start an instant recording or pause live TV. VDR needs to be patched to support this.
+ * The service returns false if a local timer should be used. An error occured if true is returned but the out parameters name and fileName are NULL.
+ * Data points to the following structure where pause indicates if it is an instant recording or an attempt to pause live TV.
+ */
+
+struct RemoteTimers_InstantRecording_v1_0 {
+//in
+ const cTimer *timer;
+ bool pause;
+ const cEvent *event;
+//out
+ cString name;
+ cString fileName;
+};
+
+/*
+ * RemoteTimers::RefreshTimers-v1.0
+ * Fetch timer list from remote VDR. You must call this service before you can use one of the service calls below.
+ * Data points to a cString which in case of failure (service call returns false) contains an error message.
+ */
+
+//out
+// cString errorMsg;
+
+/*
+ * RemoteTimers::ForEach-v1.0
+ * Iterates the list of remote timers.
+ * The service call always returns true.
+ * Data points to a cTimer* which must be NULL to return the first timer. Pass the previously returned timer to get the next one until cTimer* is NULL.
+ *
+ * RemoteTimers::GetTimer-v1.0
+ * Test if the timer exists as either a remote or a local timer.
+ * The service call always returns true.
+ * Data points to a cTimer* which points to the timer you are looking for. If found, cTimer* will point to the timer, otherwise it will be NULL.
+ */
+
+//in+out
+// cTimer* timer;
+
+/*
+ * RemoteTimers::GetMatch-v1.0
+ * Find the remote or local timer which matches the event best.
+ * The service call always returns true.
+ * Data points to the following structure:
+ */
+
+struct RemoteTimers_GetMatch_v1_0 {
+//in
+ const cEvent *event;
+//out
+ cTimer *timer;
+ int timerMatch;
+ int timerType;
+ bool isRemote;
+};
+
+/*
+ * RemoteTimers::GetTimerByEvent-v1.0
+ * Find the remote or local timer matching the event.
+ * If no timer matches, the service call returns false.
+ * Data points to a RemoteTimers_Event_v1_0 struct.
+ *
+ * RemoteTimers::NewTimerByEvent-v1.0
+ * Add a new timer for an event.
+ * In case of an error, the service call returns false and the structure includes an error message.
+ * Data points to a RemoteTimers_Event_v1_0 struct.
+ */
+
+struct RemoteTimers_Event_v1_0 {
+//in
+ const cEvent *event;
+//out
+ cTimer *timer;
+ cString errorMsg;
+};
+
+/*
+ * RemoteTimers::NewTimer-v1.0
+ * Add a new timer.
+ * In case of an error, the service call returns false and the structure includes an error message.
+ * Data points to a RemoteTimers_Timer_v1_0 struct.
+ *
+ * RemoteTimers::ModTimer-v1.0
+ * Change an existing timer.
+ * In case of an error, the service call returns false and the structure includes an error message.
+ * Data points to a RemoteTimers_Timer_v1_0 struct.
+ *
+ * RemoteTimers::DelTimer-v1.0
+ * Delete an existing timer.
+ * In case of an error, the service call returns false and the structure includes an error message.
+ * Data points to a RemoteTimers_Timer_v1_0 struct.
+ */
+
+struct RemoteTimers_Timer_v1_0 {
+//in+out
+ cTimer *timer;
+//out
+ cString errorMsg;
+};
+
+#endif //_SERVICE__H