From 02da1f586ef7945fef385e6d4743ef53441bc2fa Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Sun, 23 May 2004 20:52:00 +0000 Subject: - eConnections holds reference to object - use eAutoInitPtr instead of eAutoInitP for iObject-based stuff - fix some ref initialization - added service stop --- lib/dvb/dvb.cpp | 2 +- lib/dvb/frontend.cpp | 2 +- lib/dvb/scan.cpp | 2 +- lib/dvb/scan.h | 2 +- lib/dvb/sec.cpp | 4 ++++ lib/dvb/sec.h | 1 + 6 files changed, 9 insertions(+), 4 deletions(-) (limited to 'lib/dvb') 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 &stateChange, ePtr &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 &stateChange, ePtr &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 &event, ePtr &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 #include -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); }; -- cgit v1.2.3