diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-01-08 14:55:16 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-01-08 14:55:16 +0000 |
| commit | 4cdeb9ebe328382bb4ef6a01b67ff840adcc84ad (patch) | |
| tree | f7ee69a1e042d2d766309b0a7fb2ea3d96df1c7c /lib/service/event.cpp | |
| parent | e441555fa867c277985766fcf84af8fdde72d52d (diff) | |
| download | enigma2-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.cpp | 21 |
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 ¤t = (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; |
