- add more python stuff
[enigma2.git] / lib / service / servicedvb.cpp
index fc48fa66cdef80c35ea9d005daf4f006a17bddaf..3b22ab7b2db3325279ca8cdf5be8b201f144b013 100644 (file)
@@ -8,7 +8,7 @@
 
 DEFINE_REF(eServiceFactoryDVB)
 
-eServiceFactoryDVB::eServiceFactoryDVB(): ref(0)
+eServiceFactoryDVB::eServiceFactoryDVB()
 {
        ePtr<eServiceCenter> sc;
        
@@ -28,15 +28,8 @@ eServiceFactoryDVB::~eServiceFactoryDVB()
 
 RESULT eServiceFactoryDVB::play(const eServiceReference &ref, ePtr<iPlayableService> &ptr)
 {
-       RESULT res;
                // check resources...
        ptr = new eDVBServicePlay(ref);
-       res = ptr->start();
-       if (res)
-       {
-               ptr = 0;
-               return res;
-       }
        return 0;
 }
 
@@ -53,7 +46,7 @@ RESULT eServiceFactoryDVB::list(const eServiceReference &, ePtr<iListableService
 }
 
 eDVBServicePlay::eDVBServicePlay(const eServiceReference &ref): 
-       ref(0), m_reference(ref)
+       m_reference(ref)
 {
        CONNECT(m_serviceHandler.serviceEvent, eDVBServicePlay::serviceEvent);
        eDebug("DVB start (play)");
@@ -138,10 +131,20 @@ void eDVBServicePlay::serviceEvent(int event)
 RESULT eDVBServicePlay::start()
 {
        eDebug("starting DVB service");
-       m_serviceHandler.tune((eServiceReferenceDVB&)m_reference);
+       return m_serviceHandler.tune((eServiceReferenceDVB&)m_reference);
+}
+
+RESULT eDVBServicePlay::stop()
+{
+       eDebug("stopping..");
        return 0;
 }
 
+RESULT eDVBServicePlay::connectEvent(const Slot2<void,iPlayableService*,int> &event, ePtr<eConnection> &connection)
+{
+       return -1;
+}
+
 RESULT eDVBServicePlay::getIPausableService(ePtr<iPauseableService> &ptr)
 {
                // not yet possible, maybe later...
@@ -149,6 +152,18 @@ RESULT eDVBServicePlay::getIPausableService(ePtr<iPauseableService> &ptr)
        return -1;
 }
 
+RESULT eDVBServicePlay::getIServiceInformation(ePtr<iServiceInformation> &ptr)
+{
+       ptr = this;
+       return 0;
+}
+
+RESULT eDVBServicePlay::getName(std::string &name)
+{
+       name = "DVB service";
+       return 0;
+}
+
 DEFINE_REF(eDVBServicePlay)
 
-eAutoInitP0<eServiceFactoryDVB> init_eServiceFactoryDVB(eAutoInitNumbers::service+1, "eServiceFactoryDVB");
+eAutoInitPtr<eServiceFactoryDVB> init_eServiceFactoryDVB(eAutoInitNumbers::service+1, "eServiceFactoryDVB");