differenciate between normal and simulate recordings
[openblackhole/openblackhole-enigma2.git] / lib / nav / pcore.h
1 #ifndef __lib_nav_pcore_h
2 #define __lib_nav_pcore_h
3
4 #include <lib/nav/core.h>
5 #include <lib/python/connections.h>
6
7 /* a subset of eNavigation */
8
9 class pNavigation: public iObject, public Object
10 {
11         DECLARE_REF(pNavigation);
12 public:
13         PSignal1<void, int> m_event;
14         PSignal2<void, ePtr<iRecordableService>&, int> m_record_event;
15
16         pNavigation();
17         
18         RESULT playService(const eServiceReference &service);
19         RESULT stopService();
20         RESULT pause(int p);
21         SWIG_VOID(RESULT) getCurrentService(ePtr<iPlayableService> &SWIG_OUTPUT);
22
23         SWIG_VOID(RESULT) recordService(const eServiceReference &ref, ePtr<iRecordableService> &SWIG_OUTPUT, bool simulate);
24         RESULT stopRecordService(ePtr<iRecordableService> &service);
25         PyObject *getRecordings(bool simulate=false);
26
27 private:
28         ePtr<eNavigation> m_core;
29         ePtr<eConnection> m_nav_event_connection, m_nav_record_event_connection;
30         void navEvent(int event);
31         void navRecordEvent(ePtr<iRecordableService>, int event);
32 };
33
34 #endif