summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Wieninger <cwieninger (at) gmx (dot) de>2008-02-28 20:28:50 +0100
committerChristian Wieninger <cwieninger (at) gmx (dot) de>2008-02-28 20:28:50 +0100
commitb77b2f7941412f71eb5d3d5ee41c0930a563a3b6 (patch)
tree5af0be613bc4d07464de41784bdef889658ecd8c
parentb24ed2965c33dbe8c528d50999dfe661836b6f61 (diff)
downloadvdr-plugin-epgsearch-b77b2f7941412f71eb5d3d5ee41c0930a563a3b6.tar.gz
vdr-plugin-epgsearch-b77b2f7941412f71eb5d3d5ee41c0930a563a3b6.tar.bz2
new service interface version
-rw-r--r--epgsearch.c8
-rw-r--r--epgsearchservices.h2
-rw-r--r--services.h16
3 files changed, 23 insertions, 3 deletions
diff --git a/epgsearch.c b/epgsearch.c
index c1b18c7..278ac0a 100644
--- a/epgsearch.c
+++ b/epgsearch.c
@@ -401,6 +401,14 @@ bool cPluginEpgsearch::Service(const char *Id, void *Data)
serviceData->handler = autoHandler;
return true;
}
+ if (strcmp(Id, "Epgsearch-services-v1.1") == 0) {
+ if (Data == NULL)
+ return true;
+ Epgsearch_services_v1_1* serviceData = (Epgsearch_services_v1_1*) Data;
+ std::auto_ptr<cEpgsearchServiceHandler> autoHandler(new cEpgsearchServiceHandler);
+ serviceData->handler = autoHandler;
+ return true;
+ }
return false;
}
diff --git a/epgsearchservices.h b/epgsearchservices.h
index 51ea4c1..4613635 100644
--- a/epgsearchservices.h
+++ b/epgsearchservices.h
@@ -28,7 +28,7 @@ The project's page is at http://winni.vdr-developer.org/epgsearch
#include <vdr/tools.h>
#include "epgsearchext.h"
-class cEpgsearchServiceHandler: public cServiceHandler
+class cEpgsearchServiceHandler: public cServiceHandler_v1_1
{
virtual std::list<std::string> TranslateResults(cSearchResults* pCompleteSearchResults);
public:
diff --git a/services.h b/services.h
index b2bba12..91b1d5b 100644
--- a/services.h
+++ b/services.h
@@ -152,16 +152,28 @@ class cServiceHandler
virtual std::string ReadSetupValue(const std::string& entry) = 0;
// Write a setup value
virtual bool WriteSetupValue(const std::string& entry, const std::string& value) = 0;
+};
+
+struct Epgsearch_services_v1_0
+{
+// in/out
+ std::auto_ptr<cServiceHandler> handler;
+};
+
+// Data structures for service "Epgsearch-services-v1.0"
+class cServiceHandler_v1_1 : public cServiceHandler
+{
+ public:
// Get timer conflicts
virtual std::list<std::string> TimerConflictList(bool relOnly=false) = 0;
// Check if a conflict check is advised
virtual bool IsConflictCheckAdvised() = 0;
};
-struct Epgsearch_services_v1_0
+struct Epgsearch_services_v1_1
{
// in/out
- std::auto_ptr<cServiceHandler> handler;
+ std::auto_ptr<cServiceHandler_v1_1> handler;
};
#endif