X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fservice%2Fservice.cpp;h=8c674c5e2daeaf883cbab2fe0d55a73dd65dfd5c;hb=7ee11495626c6580bba7728fe918322adac5bd70;hp=7721fed7adaaeffb4282d40699918db8064aa412;hpb=47367fb1c159557cb3676f67172b9839531c8dc9;p=vuplus_dvbapp diff --git a/lib/service/service.cpp b/lib/service/service.cpp index 7721fed..8c674c5 100644 --- a/lib/service/service.cpp +++ b/lib/service/service.cpp @@ -41,8 +41,8 @@ static std::string decode(const std::string s) i += 2; if (i >= len) break; - char s[3] = {s[i - 1], s[i], 0}; - unsigned char r = strtoul(s, 0, 0x10); + char t[3] = {s[i - 1], s[i], 0}; + unsigned char r = strtoul(t, 0, 0x10); if (r) res += r; } @@ -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) @@ -239,7 +258,7 @@ int iStaticServiceInformation::getLength(const eServiceReference &ref) return -1; } -int iStaticServiceInformation::isPlayable(const eServiceReference &ref, const eServiceReference &ignore) +int iStaticServiceInformation::isPlayable(const eServiceReference &ref, const eServiceReference &ignore, bool simulate) { return 0; }