/* * 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 namespace Swift { class ScreenSharingManager; class ScreenSharingController; class IncomingScreenSharing; class TimerFactory; class DesktopScreenGrabber; class RemoteScreenWindowFactory; class JID; class ScreenSharingOverview { public: ScreenSharingOverview(ScreenSharingManager* screenSharingManager, RemoteScreenWindowFactory* remoteScreenWindowFactory, TimerFactory* timerFactory); ~ScreenSharingOverview(); void createOugoingScreenSharing(const JID& to); public: boost::signal onNewScreenSharingController; private: void handleIncomingScreenSharing(boost::shared_ptr incomingScreenSharing); private: ScreenSharingManager* screenSharingManager; RemoteScreenWindowFactory* remoteScreenWindowFactory; TimerFactory* timerFactory; DesktopScreenGrabber* screenGrabber; std::vector controllers; }; }