diff options
| author | ghost <andreas.monzner@multimedia-labs.de> | 2010-11-09 23:31:47 +0100 |
|---|---|---|
| committer | ghost <andreas.monzner@multimedia-labs.de> | 2010-11-09 23:31:47 +0100 |
| commit | b2e416ea9717c8f8e0143a90d823125e9b4a57b6 (patch) | |
| tree | 1a05eb8f2295208d2961deea011c20c95ac1a11e /lib | |
| parent | 2f085dd58effc19da8e5fec68bb5d73b0b64eb3f (diff) | |
| download | enigma2-b2e416ea9717c8f8e0143a90d823125e9b4a57b6.tar.gz enigma2-b2e416ea9717c8f8e0143a90d823125e9b4a57b6.zip | |
add addFactoryExtension/removeFactoryExtension to eServiceCenter
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/service/service.cpp | 19 | ||||
| -rw-r--r-- | lib/service/service.h | 2 |
2 files changed, 21 insertions, 0 deletions
diff --git a/lib/service/service.cpp b/lib/service/service.cpp index eb2757ab..8c674c5e 100644 --- a/lib/service/service.cpp +++ b/lib/service/service.cpp @@ -201,6 +201,25 @@ RESULT eServiceCenter::removeServiceFactory(int id) return 0; } +RESULT eServiceCenter::addFactoryExtension(int id, const char *extension) +{ + std::map<int, std::list<std::string> >::iterator it = extensions.find(id); + if (it == extensions.end()) + return -1; + it->second.push_back(extension); + return 0; +} + +RESULT eServiceCenter::removeFactoryExtension(int id, const char *extension) +{ + std::map<int, std::list<std::string> >::iterator it = extensions.find(id); + if (it == extensions.end()) + return -1; + it->second.remove(extension); + return 0; +} + + int eServiceCenter::getServiceTypeForExtension(const char *str) { for (std::map<int, std::list<std::string> >::iterator sit(extensions.begin()); sit != extensions.end(); ++sit) diff --git a/lib/service/service.h b/lib/service/service.h index 6f6ab980..ffc7d275 100644 --- a/lib/service/service.h +++ b/lib/service/service.h @@ -40,6 +40,8 @@ public: static RESULT getPrivInstance(ePtr<eServiceCenter> &ptr) { ptr = instance; return 0; } RESULT addServiceFactory(int id, iServiceHandler *hnd, std::list<std::string> &extensions); RESULT removeServiceFactory(int id); + RESULT addFactoryExtension(int id, const char *extension); + RESULT removeFactoryExtension(int id, const char *extension); #endif static SWIG_VOID(RESULT) getInstance(ePtr<iServiceHandler> &SWIG_NAMED_OUTPUT(ptr)) { ptr = instance; return 0; } }; |
