aboutsummaryrefslogtreecommitdiff
path: root/lib/service/event.cpp
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-01-08 14:55:16 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-01-08 14:55:16 +0000
commit4cdeb9ebe328382bb4ef6a01b67ff840adcc84ad (patch)
treef7ee69a1e042d2d766309b0a7fb2ea3d96df1c7c /lib/service/event.cpp
parente441555fa867c277985766fcf84af8fdde72d52d (diff)
downloadenigma2-4cdeb9ebe328382bb4ef6a01b67ff840adcc84ad.tar.gz
enigma2-4cdeb9ebe328382bb4ef6a01b67ff840adcc84ad.zip
add subservice selection to timer (when linkage services are avail for the selected event)
better layout in timerlist (more space for service name and event description)
Diffstat (limited to 'lib/service/event.cpp')
-rw-r--r--lib/service/event.cpp21
1 files changed, 20 insertions, 1 deletions
diff --git a/lib/service/event.cpp b/lib/service/event.cpp
index f84c38b7..2d0f83a4 100644
--- a/lib/service/event.cpp
+++ b/lib/service/event.cpp
@@ -204,7 +204,7 @@ RESULT eServiceEvent::getComponentData(ePtr<eComponentData> &dest, int tagnum) c
return -1;
}
-RESULT eServiceEvent::getLinkageService(eServiceReference &service, int num) const
+RESULT eServiceEvent::getLinkageService(eServiceReference &service, eServiceReference &parent, int num) const
{
std::list<eServiceReference>::const_iterator it =
m_linkage_services.begin();
@@ -213,6 +213,25 @@ RESULT eServiceEvent::getLinkageService(eServiceReference &service, int num) con
if ( it != m_linkage_services.end() )
{
service = *it;
+ eServiceReferenceDVB &subservice = (eServiceReferenceDVB&) service;
+ eServiceReferenceDVB &current = (eServiceReferenceDVB&) parent;
+ subservice.setDVBNamespace(current.getDVBNamespace());
+ if ( current.getParentTransportStreamID().get() )
+ {
+ subservice.setParentTransportStreamID( current.getParentTransportStreamID() );
+ subservice.setParentServiceID( current.getParentServiceID() );
+ }
+ else
+ {
+ subservice.setParentTransportStreamID( current.getTransportStreamID() );
+ subservice.setParentServiceID( current.getServiceID() );
+ }
+ if ( subservice.getParentTransportStreamID() == subservice.getTransportStreamID() &&
+ subservice.getParentServiceID() == subservice.getServiceID() )
+ {
+ subservice.setParentTransportStreamID( eTransportStreamID(0) );
+ subservice.setParentServiceID( eServiceID(0) );
+ }
return 0;
}
service.type = eServiceReference::idInvalid;