/* * Copyright (c) 2012 Yoann Blein * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #pragma once #include #include #include "ScreenSharingOverview.h" namespace Swift { class ScreenSharingManager; class IncomingScreenSharing; class TimerFactory; class DesktopScreenGrabber; class RemoteScreenWindowFactory; class ScreenSharingOverviewImpl : public ScreenSharingOverview { public: ScreenSharingOverviewImpl(ScreenSharingManager* screenSharingManager, RemoteScreenWindowFactory* remoteScreenWindowFactory, TimerFactory* timerFactory); virtual ~ScreenSharingOverviewImpl(); virtual void createOugoingScreenSharing(const JID& to); private: void handleIncomingScreenSharing(boost::shared_ptr incomingScreenSharing); private: ScreenSharingManager* screenSharingManager; RemoteScreenWindowFactory* remoteScreenWindowFactory; TimerFactory* timerFactory; DesktopScreenGrabber* screenGrabber; std::vector controllers; }; }