blob: 0ee94cc64663e7172af1405f9be7d143f59caf18 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
#include <lib/nav/pcore.h>
#include <lib/service/service.h>
#include <lib/service/event.h>
#include <lib/base/eerror.h>
DEFINE_REF(pNavigation);
pNavigation::pNavigation()
{
ePtr<iServiceHandler> service_center;
eServiceCenter::getInstance(service_center);
assert(service_center);
m_core = new eNavigation(service_center);
m_core->connectEvent(slot(*this, &pNavigation::navEvent), m_nav_event_connection);
}
RESULT pNavigation::playService(const eServiceReference &service)
{
return m_core->playService(service);
}
RESULT pNavigation::recordService(const eServiceReference &ref, ePtr<iRecordableService> &service)
{
return m_core->recordService(ref, service);
}
RESULT pNavigation::enqueueService(const eServiceReference &service)
{
return m_core->enqueueService(service);
}
RESULT pNavigation::getCurrentService(ePtr<iPlayableService> &service)
{
return m_core->getCurrentService(service);
}
RESULT pNavigation::getPlaylist(ePtr<ePlaylist> &playlist)
{
return m_core->getPlaylist(playlist);
}
RESULT pNavigation::pause(int p)
{
return m_core->pause(p);
}
RESULT pNavigation::stopService()
{
return m_core->stopService();
}
void pNavigation::navEvent(eNavigation *nav, int event)
{
/* just relay the events here. */
switch (event)
{
case eNavigation::evStopService:
m_event(evStopService);
break;
case eNavigation::evNewService:
m_event(evNewService);
break;
case eNavigation::evPlayFailed:
m_event(evPlayFailed);
break;
case eNavigation::evPlaylistDone:
m_event(evPlaylistDone);
break;
case eNavigation::evUpdatedEventInfo:
m_event(evUpdatedEventInfo);
break;
case eNavigation::evUpdatedInfo:
m_event(evUpdatedInfo);
break;
}
}
|