/* * Copyright (c) 2012 Mateusz Piękos * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #pragma once #include #include #include #include #include #include namespace Swift { class WhiteboardSessionManager; class WhiteboardManager { public: WhiteboardManager(WhiteboardWindowFactory* whiteboardWindowFactory, UIEventStream* uiEventStream, WhiteboardSessionManager* whiteboardSessionManager); ~WhiteboardManager(); WhiteboardWindow* getWhiteboardWindowOrCreate(const JID& contact); WhiteboardWindow* createNewWhiteboardWindow(const JID& contact); private: void handleUIEvent(boost::shared_ptr event); private: std::map whiteboardWindows_; WhiteboardWindowFactory* whiteboardWindowFactory_; UIEventStream* uiEventStream_; boost::bsignals::scoped_connection uiEventConnection_; WhiteboardSessionManager* whiteboardSessionManager_; }; }