From bb77d424f7eff49ba5be67cdb9c365fa2e305b8f Mon Sep 17 00:00:00 2001 From: Andreas Monzner Date: Fri, 18 Aug 2006 12:38:27 +0000 Subject: [PATCH] speedups --- lib/service/servicedvb.cpp | 9 ++++++--- lib/service/servicedvb.h | 7 ++++++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp index 4942324..f175b07 100644 --- a/lib/service/servicedvb.cpp +++ b/lib/service/servicedvb.cpp @@ -312,6 +312,9 @@ eServiceFactoryDVB::eServiceFactoryDVB() eServiceCenter::getPrivInstance(sc); if (sc) sc->addServiceFactory(eServiceFactoryDVB::id, this); + + m_StaticServiceDVBInfo = new eStaticServiceDVBInformation; + m_StaticServiceDVBBouquetInfo = new eStaticServiceDVBBouquetInformation; } eServiceFactoryDVB::~eServiceFactoryDVB() @@ -584,9 +587,9 @@ RESULT eServiceFactoryDVB::info(const eServiceReference &ref, ePtr service; if (lookupService(service, ref)) // no eDVBService avail for this reference ( Linkage Services... ) - ptr = new eStaticServiceDVBInformation; + ptr = m_StaticServiceDVBInfo; else /* eDVBService has the iStaticServiceInformation interface, so we pass it here. */ ptr = service; diff --git a/lib/service/servicedvb.h b/lib/service/servicedvb.h index 0be174e..b2306e1 100644 --- a/lib/service/servicedvb.h +++ b/lib/service/servicedvb.h @@ -10,9 +10,14 @@ #include #include +class eStaticServiceDVBInformation; +class eStaticServiceDVBBouquetInformation; + class eServiceFactoryDVB: public iServiceHandler { -DECLARE_REF(eServiceFactoryDVB); + DECLARE_REF(eServiceFactoryDVB); + ePtr m_StaticServiceDVBInfo; + ePtr m_StaticServiceDVBBouquetInfo; public: eServiceFactoryDVB(); virtual ~eServiceFactoryDVB(); -- 2.7.4