From b77b2f7941412f71eb5d3d5ee41c0930a563a3b6 Mon Sep 17 00:00:00 2001 From: Christian Wieninger Date: Thu, 28 Feb 2008 20:28:50 +0100 Subject: new service interface version --- epgsearch.c | 8 ++++++++ epgsearchservices.h | 2 +- services.h | 16 ++++++++++++++-- 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 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 #include "epgsearchext.h" -class cEpgsearchServiceHandler: public cServiceHandler +class cEpgsearchServiceHandler: public cServiceHandler_v1_1 { virtual std::list 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 handler; +}; + +// Data structures for service "Epgsearch-services-v1.0" +class cServiceHandler_v1_1 : public cServiceHandler +{ + public: // Get timer conflicts virtual std::list 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 handler; + std::auto_ptr handler; }; #endif -- cgit v1.2.3