aboutsummaryrefslogtreecommitdiff
path: root/lib/nav/pcore.cpp
blob: a6ed35f66480b99808ecb0afb697ce6dae672137 (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
#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);
	m_core->connectRecordEvent(slot(*this, &pNavigation::navRecordEvent), m_nav_record_event_connection);
}

RESULT pNavigation::playService(const eServiceReference &service)
{
	return m_core->playService(service);
}

RESULT pNavigation::getCurrentService(ePtr<iPlayableService> &service)
{
	return m_core->getCurrentService(service);
}

RESULT pNavigation::pause(int p)
{
	return m_core->pause(p);
}

RESULT pNavigation::stopService()
{
	return m_core->stopService();
}

RESULT pNavigation::recordService(const eServiceReference &ref, ePtr<iRecordableService> &service)
{
	return m_core->recordService(ref, service);
}

RESULT pNavigation::stopRecordService(ePtr<iRecordableService> &service)
{
	return m_core->stopRecordService(service);
}

PyObject *pNavigation::getRecordings(void)
{
	return m_core->getRecordings();
}

void pNavigation::navEvent(int event)
{
		/* just relay the events here. */
	m_event(event);
}

void pNavigation::navRecordEvent(ePtr<iRecordableService> service, int event)
{
		/* just relay the events here. */
	m_record_event(service, event);
}