fix menu title
[enigma2.git] / lib / nav / core.h
index 6c94fe2c91135ba30c1253db91a526c4ea546de9..b82d2fbd4e00c8b3076c917c885cc1311487ca4a 100644 (file)
@@ -3,38 +3,36 @@
 
 #include <lib/base/object.h>
 #include <lib/service/iservice.h>
-#include <lib/nav/playlist.h>
 #include <connection.h>
+#include <map>
 
 class eNavigation: public iObject, public Object
 {
        DECLARE_REF(eNavigation);
 private:
-       ePtr<iPlayableService> m_runningService;
        ePtr<iServiceHandler> m_servicehandler;
-       Signal2<void,eNavigation*,int> m_event;
+
+       ePtr<iPlayableService> m_runningService;
+       Signal1<void,int> m_event;
        ePtr<eConnection> m_service_event_conn;
        void serviceEvent(iPlayableService* service, int event);
-       
-       ePtr<ePlaylist> m_playlist;
+
+       std::map<ePtr<iRecordableService>, ePtr<eConnection>, std::less<iRecordableService*> > m_recordings;
+       Signal2<void,ePtr<iRecordableService>,int> m_record_event;
+       void recordEvent(iRecordableService* service, int event);
 public:
-       enum
-       {
-               evStopService,  /** the "current" service was just stopped and likes to be deallocated (clear refs!) */
-               evNewService,   /** a new "current" service was just started */
-               evPlayFailed,   /** the next service (in playlist) or the one given in playService failed to play */
-               evPlaylistDone, /** the last service in the playlist was just played */
-               evUpdatedEventInfo /** the "currently running" event info was updated */
-       };
        
        RESULT playService(const eServiceReference &service);
-       RESULT enqueueService(const eServiceReference &service);
-       RESULT connectEvent(const Slot2<void,eNavigation*,int> &event, ePtr<eConnection> &connection);
+       RESULT connectEvent(const Slot1<void,int> &event, ePtr<eConnection> &connection);
+       RESULT connectRecordEvent(const Slot2<void,ePtr<iRecordableService>,int> &event, ePtr<eConnection> &connection);
 /*     int connectServiceEvent(const Slot1<void,iPlayableService*,int> &event, ePtr<eConnection> &connection); */
        RESULT getCurrentService(ePtr<iPlayableService> &service);
-       RESULT getPlaylist(ePtr<ePlaylist> &playlist);
        RESULT stopService(void);
        
+       RESULT recordService(const eServiceReference &ref, ePtr<iRecordableService> &service);
+       RESULT stopRecordService(ePtr<iRecordableService> &service);
+       PyObject *getRecordings(void);
+       
        RESULT pause(int p);
        eNavigation(iServiceHandler *serviceHandler);
        virtual ~eNavigation();