4 #include <lib/base/object.h>
5 #include <lib/service/iservice.h>
6 #include <connection.h>
9 #include <lib/dvb/fcc.h>
11 class eNavigation: public iObject, public Object
13 DECLARE_REF(eNavigation);
15 ePtr<iServiceHandler> m_servicehandler;
17 ePtr<iPlayableService> m_runningService;
18 Signal1<void,int> m_event;
19 ePtr<eConnection> m_service_event_conn;
20 void serviceEvent(iPlayableService* service, int event);
22 std::map<ePtr<iRecordableService>, ePtr<eConnection>, std::less<iRecordableService*> > m_recordings;
23 std::set<ePtr<iRecordableService>, std::less<iRecordableService*> > m_simulate_recordings;
25 Signal2<void,ePtr<iRecordableService>,int> m_record_event;
26 void recordEvent(iRecordableService* service, int event);
28 friend class eFCCServiceManager;
29 ePtr<eFCCServiceManager> m_fccmgr;
33 RESULT playService(const eServiceReference &service);
34 RESULT connectEvent(const Slot1<void,int> &event, ePtr<eConnection> &connection);
35 RESULT connectRecordEvent(const Slot2<void,ePtr<iRecordableService>,int> &event, ePtr<eConnection> &connection);
36 /* int connectServiceEvent(const Slot1<void,iPlayableService*,int> &event, ePtr<eConnection> &connection); */
37 RESULT getCurrentService(ePtr<iPlayableService> &service);
38 RESULT stopService(void);
40 RESULT recordService(const eServiceReference &ref, ePtr<iRecordableService> &service, bool simulate=false);
41 RESULT stopRecordService(ePtr<iRecordableService> &service);
42 PyObject *getRecordings(bool simulate=false);
45 eNavigation(iServiceHandler *serviceHandler, int decoder = 0);
46 virtual ~eNavigation();