diff options
author | Christian Wieninger <cwieninger (at) gmx (dot) de> | 2008-02-28 20:28:50 +0100 |
---|---|---|
committer | Christian Wieninger <cwieninger (at) gmx (dot) de> | 2008-02-28 20:28:50 +0100 |
commit | b77b2f7941412f71eb5d3d5ee41c0930a563a3b6 (patch) | |
tree | 5af0be613bc4d07464de41784bdef889658ecd8c | |
parent | b24ed2965c33dbe8c528d50999dfe661836b6f61 (diff) | |
download | vdr-plugin-epgsearch-b77b2f7941412f71eb5d3d5ee41c0930a563a3b6.tar.gz vdr-plugin-epgsearch-b77b2f7941412f71eb5d3d5ee41c0930a563a3b6.tar.bz2 |
new service interface version
-rw-r--r-- | epgsearch.c | 8 | ||||
-rw-r--r-- | epgsearchservices.h | 2 | ||||
-rw-r--r-- | 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<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: @@ -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 |