From b2e416ea9717c8f8e0143a90d823125e9b4a57b6 Mon Sep 17 00:00:00 2001 From: ghost Date: Tue, 9 Nov 2010 23:31:47 +0100 Subject: add addFactoryExtension/removeFactoryExtension to eServiceCenter --- lib/service/service.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'lib/service/service.cpp') 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 >::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 >::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 >::iterator sit(extensions.begin()); sit != extensions.end(); ++sit) -- cgit v1.2.3