now its possible to call ePixmap.setPixmap from python without use of
[enigma2.git] / lib / nav / core.h
index db4384124cca6884a32b8a2ebab9d0fc47224ef1..b82d2fbd4e00c8b3076c917c885cc1311487ca4a 100644 (file)
@@ -3,35 +3,35 @@
 
 #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;
+       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 */
-       };
        
        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);