summaryrefslogtreecommitdiffstats
blob: 4b88581a5a182f9abe487711661167bce63661fb (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
/*
 * Copyright (c) 2012 Yoann Blein
 * Licensed under the simplified BSD license.
 * See Documentation/Licenses/BSD-simplified.txt for more information.
 */

#include <Swiften/ScreenSharing/ScreenSharingManagerImpl.h>

#include <Swiften/ScreenSharing/IncomingScreenSharingManager.h>
#include <Swiften/ScreenSharing/OutgoingScreenSharingManager.h>

namespace Swift {

ScreenSharingManagerImpl::ScreenSharingManagerImpl(const JID& ownFullJID, JingleSessionManager *jingleSessionManager, IQRouter *iqRouter,
												   UDPSocketFactory* udpSocketFactory, TimerFactory* timerFactory)
	: ownJID(ownFullJID)/*, jingleSM(jingleSessionManager), iqRouter(iqRouter), udpSocketFactory(udpSocketFactory), timerFactory(timerFactory)*/
{
	incomingSSManager = new IncomingScreenSharingManager(jingleSessionManager, iqRouter, udpSocketFactory);
	outgoingSSManager = new OutgoingScreenSharingManager(jingleSessionManager, iqRouter, udpSocketFactory, timerFactory);

	incomingSSManager->onIncomingScreenSharing.connect(onIncomingScreenSharing);
}

ScreenSharingManagerImpl::~ScreenSharingManagerImpl()
{
}

boost::shared_ptr<OutgoingScreenSharing> ScreenSharingManagerImpl::createOutgoingScreenSharing(const JID &to)
{
	JID receipient = to;

	if (receipient.isBare()) {
		//boost::optional<JID> fullJID = highestPriorityJIDSupportingFileTransfer(receipient);
		//if (fullJID.is_initialized()) {
		//	receipient = fullJID.get();
		//} else {
		return boost::shared_ptr<OutgoingScreenSharing>();
		//}
	}

	return outgoingSSManager->createOutgoingScreenSharing(ownJID, receipient);
}

}