try to fix some eThread races
[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         
15         pNavigation();
16         
17         RESULT playService(const eServiceReference &service);
18         SWIG_VOID(RESULT) recordService(const eServiceReference &ref, ePtr<iRecordableService> &SWIG_OUTPUT);
19         
20         SWIG_VOID(RESULT) getCurrentService(ePtr<iPlayableService> &SWIG_OUTPUT);
21         RESULT stopService();
22         
23         RESULT pause(int p);
24 private:
25         ePtr<eNavigation> m_core;
26         ePtr<eConnection> m_nav_event_connection;
27         void navEvent(eNavigation *nav, int event);
28 };
29
30 #endif