summaryrefslogtreecommitdiff
path: root/epgsearch
diff options
context:
space:
mode:
authorSascha Volkenandt <sascha (at) akv-soft (dot) de>2007-01-25 19:24:36 +0000
committerSascha Volkenandt <sascha (at) akv-soft (dot) de>2007-01-25 19:24:36 +0000
commit6106c18ada0b6a0fa33ca6958b756b5acf5fcde3 (patch)
treeda5ec077de82b96dafc6ebf9fc180da0199f2982 /epgsearch
parent343dc0209469f71b3c654ae01b19bc5084c77e95 (diff)
downloadvdr-plugin-live-6106c18ada0b6a0fa33ca6958b756b5acf5fcde3.tar.gz
vdr-plugin-live-6106c18ada0b6a0fa33ca6958b756b5acf5fcde3.tar.bz2
- epgsearch service interface
Diffstat (limited to 'epgsearch')
-rw-r--r--epgsearch/services.h139
1 files changed, 139 insertions, 0 deletions
diff --git a/epgsearch/services.h b/epgsearch/services.h
new file mode 100644
index 0000000..902adee
--- /dev/null
+++ b/epgsearch/services.h
@@ -0,0 +1,139 @@
+#ifndef EPGSEARCHSERVICES_INC
+#define EPGSEARCHSERVICES_INC
+
+#include <string>
+#include <list>
+#include <memory>
+
+// Data structure for service "Epgsearch-search-v1.0"
+struct Epgsearch_search_v1_0
+{
+// in
+ char* query; // search term
+ int mode; // search mode (0=phrase, 1=and, 2=or, 3=regular expression)
+ int channelNr; // channel number to search in (0=any)
+ bool useTitle; // search in title
+ bool useSubTitle; // search in subtitle
+ bool useDescription; // search in description
+// out
+ cOsdMenu* pResultMenu; // pointer to the menu of results
+};
+
+// Data structure for service "Epgsearch-exttimeredit-v1.0"
+struct Epgsearch_exttimeredit_v1_0
+{
+// in
+ cTimer* timer; // pointer to the timer to edit
+ bool bNew; // flag that indicates, if this is a new timer or an existing one
+ const cEvent* event; // pointer to the event corresponding to this timer (may be NULL)
+// out
+ cOsdMenu* pTimerMenu; // pointer to the menu of results
+};
+
+// Data structure for service "Epgsearch-updatesearchtimers-v1.0"
+struct Epgsearch_updatesearchtimers_v1_0
+{
+// in
+ bool showMessage; // inform via osd when finished?
+};
+
+// Data structure for service "Epgsearch-osdmessage-v1.0"
+struct Epgsearch_osdmessage_v1_0
+{
+// in
+ char* message; // the message to display
+ eMessageType type;
+};
+
+// Data structure for service "Epgsearch-searchmenu-v1.0"
+struct Epgsearch_searchmenu_v1_0
+{
+// in
+// out
+ cOsdMenu* pSearchMenu; // pointer to the search menu
+};
+
+// Data structure for service "Epgsearch-conflictmenu-v1.0"
+struct Epgsearch_conflictmenu_v1_0
+{
+// in
+// out
+ cOsdMenu* pConflictMenu; // pointer to the conflict menu
+};
+
+// Data structure for service "Epgsearch-lastconflictinfo-v1.0"
+struct Epgsearch_lastconflictinfo_v1_0
+{
+// in
+// out
+ time_t nextConflict; // next conflict date, 0 if none
+ int relevantConflicts; // number of relevant conflicts
+ int totalConflicts; // total number of conflicts
+};
+
+// Data structure for service "Epgsearch-searchresults-v1.0"
+struct Epgsearch_searchresults_v1_0
+{
+// in
+ char* query; // search term
+ int mode; // search mode (0=phrase, 1=and, 2=or, 3=regular expression)
+ int channelNr; // channel number to search in (0=any)
+ bool useTitle; // search in title
+ bool useSubTitle; // search in subtitle
+ bool useDescription; // search in description
+// out
+
+ class cServiceSearchResult : public cListObject
+ {
+ public:
+ const cEvent* event;
+ cServiceSearchResult(const cEvent* Event) : event(Event) {}
+ };
+
+ cList<cServiceSearchResult>* pResultList; // pointer to the results
+};
+
+// Data structure for service "Epgsearch-switchtimer-v1.0"
+struct Epgsearch_switchtimer_v1_0
+{
+// in
+ const cEvent* event;
+ int mode; // mode (0=query existance, 1=add/modify, 2=delete)
+// in/out
+ int switchMinsBefore;
+ int announceOnly;
+// out
+ bool success; // result
+};
+
+// Data structure for service "Epgsearch-quicksearch-v1.0"
+struct Epgsearch_quicksearch_v1_0
+{
+// in
+// out
+ cOsdMenu* pSearchMenu; // pointer to the search menu
+};
+
+// Data structures for service "Epgsearch-services-v1.0"
+class cServiceHandler
+{
+ public:
+ virtual std::list<std::string> SearchTimerList() = 0;
+ // returns a list of search timer entries in the same format as used in epgsearch.conf
+ virtual int AddSearchTimer(const std::string&) = 0;
+ // adds a new search timer and returns its ID (-1 on error)
+ virtual bool ModSearchTimer(const std::string&) = 0;
+ // edits an existing search timer and returns success
+ virtual bool DelSearchTimer(int) = 0;
+ // deletes search timer with given ID and returns success
+ virtual std::list<std::string> QuerySearchTimer(int) = 0;
+ // returns the search result of the searchtimer with given ID in the same format as used in SVDRP command 'QRYS' (->MANUAL)
+ virtual ~cServiceHandler() {}
+};
+
+struct Epgsearch_services_v1_0
+{
+// in/out
+ std::auto_ptr<cServiceHandler> handler;
+};
+#endif