4 #include <lib/base/object.h>
5 #include <lib/service/iservice.h>
6 #include <connection.h>
8 class eNavigation: public iObject, public Object
12 ePtr<iPlayableService> m_runningService;
13 ePtr<iServiceHandler> m_servicehandler;
14 Signal2<void,eNavigation*,int> m_event;
15 ePtr<eConnection> m_service_event_conn;
16 void serviceEvent(iPlayableService* service, int event);
18 std::list<eServiceReference> m_playlist;
22 evStopService, /** the "current" service was just stopped and likes to be deallocated (clear refs!) */
23 evNewService, /** a new "current" service was just started */
27 RESULT playService(const eServiceReference &service);
28 RESULT enqueueService(const eServiceReference &service);
29 RESULT connectEvent(const Slot2<void,eNavigation*,int> &event, ePtr<eConnection> &connection);
30 /* int connectServiceEvent(const Slot1<void,iPlayableService*,int> &event, ePtr<eConnection> &connection); */
31 RESULT getCurrentService(ePtr<iPlayableService> &service);
34 eNavigation(iServiceHandler *serviceHandler);
35 virtual ~eNavigation();