aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2004-05-23 20:52:00 +0000
committerFelix Domke <tmbinc@elitedvb.net>2004-05-23 20:52:00 +0000
commit02da1f586ef7945fef385e6d4743ef53441bc2fa (patch)
tree2786f3cf5d5d5a76f71dfcd3f5287435a36b9632 /lib/dvb
parentf7bcb76bda4da5d8a830181b4a8335d3de67f333 (diff)
downloadenigma2-02da1f586ef7945fef385e6d4743ef53441bc2fa.tar.gz
enigma2-02da1f586ef7945fef385e6d4743ef53441bc2fa.zip
- eConnections holds reference to object
- use eAutoInitPtr instead of eAutoInitP for iObject-based stuff - fix some ref initialization - added service stop
Diffstat (limited to 'lib/dvb')
-rw-r--r--lib/dvb/dvb.cpp2
-rw-r--r--lib/dvb/frontend.cpp2
-rw-r--r--lib/dvb/scan.cpp2
-rw-r--r--lib/dvb/scan.h2
-rw-r--r--lib/dvb/sec.cpp4
-rw-r--r--lib/dvb/sec.h1
6 files changed, 9 insertions, 4 deletions
diff --git a/lib/dvb/dvb.cpp b/lib/dvb/dvb.cpp
index 895ff084..cfdb05af 100644
--- a/lib/dvb/dvb.cpp
+++ b/lib/dvb/dvb.cpp
@@ -180,7 +180,7 @@ RESULT eDVBChannel::setChannel(const eDVBChannelID &channelid)
RESULT eDVBChannel::connectStateChange(const Slot1<void,iDVBChannel*> &stateChange, ePtr<eConnection> &connection)
{
- connection = new eConnection(m_stateChanged.connect(stateChange));
+ connection = new eConnection(this, m_stateChanged.connect(stateChange));
return 0;
}
diff --git a/lib/dvb/frontend.cpp b/lib/dvb/frontend.cpp
index c51eeea7..8948f194 100644
--- a/lib/dvb/frontend.cpp
+++ b/lib/dvb/frontend.cpp
@@ -391,7 +391,7 @@ RESULT eDVBFrontend::tune(const iDVBFrontendParameters &where)
RESULT eDVBFrontend::connectStateChange(const Slot1<void,iDVBFrontend*> &stateChange, ePtr<eConnection> &connection)
{
- connection = new eConnection(m_stateChanged.connect(stateChange));
+ connection = new eConnection(this, m_stateChanged.connect(stateChange));
return 0;
}
diff --git a/lib/dvb/scan.cpp b/lib/dvb/scan.cpp
index 68121c44..5571a810 100644
--- a/lib/dvb/scan.cpp
+++ b/lib/dvb/scan.cpp
@@ -369,6 +369,6 @@ RESULT eDVBScan::processSDT(eDVBNamespace dvbnamespace, const ServiceDescription
RESULT eDVBScan::connectEvent(const Slot1<void,int> &event, ePtr<eConnection> &connection)
{
- connection = new eConnection(m_event.connect(event));
+ connection = new eConnection(this, m_event.connect(event));
return 0;
}
diff --git a/lib/dvb/scan.h b/lib/dvb/scan.h
index 196e52fc..cc727644 100644
--- a/lib/dvb/scan.h
+++ b/lib/dvb/scan.h
@@ -6,7 +6,7 @@
#include <lib/dvb_si/bat.h>
#include <lib/dvb/db.h>
-class eDVBScan: public Object
+class eDVBScan: public Object, public virtual iObject
{
/* chid helper functions: */
diff --git a/lib/dvb/sec.cpp b/lib/dvb/sec.cpp
index 99e39ea6..b3c4b2cc 100644
--- a/lib/dvb/sec.cpp
+++ b/lib/dvb/sec.cpp
@@ -4,6 +4,10 @@
DEFINE_REF(eDVBSatelliteEquipmentControl);
+eDVBSatelliteEquipmentControl::eDVBSatelliteEquipmentControl(): ref(0)
+{
+}
+
RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, struct dvb_frontend_parameters &parm, eDVBFrontendParametersSatellite &sat)
{
int hi;
diff --git a/lib/dvb/sec.h b/lib/dvb/sec.h
index e4b2d1d2..13aa9aa8 100644
--- a/lib/dvb/sec.h
+++ b/lib/dvb/sec.h
@@ -7,6 +7,7 @@ class eDVBSatelliteEquipmentControl: public iDVBSatelliteEquipmentControl
{
public:
DECLARE_REF;
+ eDVBSatelliteEquipmentControl();
RESULT prepare(iDVBFrontend &frontend, struct dvb_frontend_parameters &parm, eDVBFrontendParametersSatellite &sat);
};