From 6247ed394302ff2cf1f33a71df808bebf7241242 Mon Sep 17 00:00:00 2001 From: dknn Date: Fri, 17 Aug 2012 17:32:43 +0200 Subject: Fix test suite compliance diff --git a/Swift/Controllers/Chat/UnitTest/ChatsManagerTest.cpp b/Swift/Controllers/Chat/UnitTest/ChatsManagerTest.cpp index 482b19c..2bf0ba0 100644 --- a/Swift/Controllers/Chat/UnitTest/ChatsManagerTest.cpp +++ b/Swift/Controllers/Chat/UnitTest/ChatsManagerTest.cpp @@ -52,6 +52,7 @@ #include #include #include +#include using namespace Swift; @@ -103,13 +104,15 @@ public: chatListWindow_ = new MockChatListWindow(); ftManager_ = new DummyFileTransferManager(); ftOverview_ = new FileTransferOverview(ftManager_); + ssOverview_ = new DummyScreenSharingOverview; avatarManager_ = new NullAvatarManager(); wbSessionManager_ = new WhiteboardSessionManager(iqRouter_, stanzaChannel_, presenceOracle_, entityCapsManager_); wbManager_ = new WhiteboardManager(whiteboardWindowFactory_, uiEventStream_, nickResolver_, wbSessionManager_); mocks_->ExpectCall(chatListWindowFactory_, ChatListWindowFactory::createChatListWindow).With(uiEventStream_).Return(chatListWindow_); - manager_ = new ChatsManager(jid_, stanzaChannel_, iqRouter_, eventController_, chatWindowFactory_, joinMUCWindowFactory_, nickResolver_, presenceOracle_, directedPresenceSender_, uiEventStream_, chatListWindowFactory_, true, NULL, mucRegistry_, entityCapsManager_, mucManager_, mucSearchWindowFactory_, profileSettings_, ftOverview_, xmppRoster_, false, settings_, NULL, wbManager_); + manager_ = new ChatsManager(jid_, stanzaChannel_, iqRouter_, eventController_, chatWindowFactory_, joinMUCWindowFactory_, nickResolver_, presenceOracle_, directedPresenceSender_, uiEventStream_, chatListWindowFactory_, true, NULL, mucRegistry_, entityCapsManager_, mucManager_, mucSearchWindowFactory_, profileSettings_, ftOverview_, ssOverview_, xmppRoster_, false, settings_, NULL, wbManager_); + avatarManager_ = new NullAvatarManager(); manager_->setAvatarManager(avatarManager_); }; @@ -118,6 +121,7 @@ public: delete profileSettings_; delete avatarManager_; delete manager_; + delete ssOverview_; delete ftOverview_; delete ftManager_; delete wbSessionManager_; @@ -479,6 +483,7 @@ private: ChatListWindow* chatListWindow_; FileTransferOverview* ftOverview_; FileTransferManager* ftManager_; + ScreenSharingOverview* ssOverview_; WhiteboardSessionManager* wbSessionManager_; WhiteboardManager* wbManager_; }; diff --git a/Swift/Controllers/MainController.cpp b/Swift/Controllers/MainController.cpp index 5774ea6..c678dc8 100644 --- a/Swift/Controllers/MainController.cpp +++ b/Swift/Controllers/MainController.cpp @@ -78,7 +78,7 @@ #include #include #include -#include "Swift/Controllers/ScreenSharing/ScreenSharingOverview.h" +#include "Swift/Controllers/ScreenSharing/ScreenSharingOverviewImpl.h" namespace Swift { @@ -306,7 +306,7 @@ void MainController::handleConnected() { client_->getFileTransferManager()->startListeningOnPort(randomPort); ftOverview_ = new FileTransferOverview(client_->getFileTransferManager()); fileTransferListController_->setFileTransferOverview(ftOverview_); - ssOverview_ = new ScreenSharingOverview(client_->getScreenSharingManager(), uiFactory_, networkFactories_->getTimerFactory()); + ssOverview_ = new ScreenSharingOverviewImpl(client_->getScreenSharingManager(), uiFactory_, networkFactories_->getTimerFactory()); rosterController_ = new RosterController(jid_, client_->getRoster(), client_->getAvatarManager(), uiFactory_, client_->getNickManager(), client_->getNickResolver(), client_->getPresenceOracle(), client_->getSubscriptionManager(), eventController_, uiEventStream_, client_->getIQRouter(), settings_, client_->getEntityCapsProvider(), ftOverview_, ssOverview_); rosterController_->onChangeStatusRequest.connect(boost::bind(&MainController::handleChangeStatusRequest, this, _1, _2)); rosterController_->onSignOutRequest.connect(boost::bind(&MainController::signOut, this)); diff --git a/Swift/Controllers/Roster/UnitTest/RosterControllerTest.cpp b/Swift/Controllers/Roster/UnitTest/RosterControllerTest.cpp index fbee894..5009c0c 100644 --- a/Swift/Controllers/Roster/UnitTest/RosterControllerTest.cpp +++ b/Swift/Controllers/Roster/UnitTest/RosterControllerTest.cpp @@ -37,6 +37,7 @@ #include #include #include +#include "Swift/Controllers/ScreenSharing/UnitTest/DummyScreenSharingOverview.h" using namespace Swift; @@ -82,12 +83,17 @@ class RosterControllerTest : public CppUnit::TestFixture { ftManager_ = new DummyFileTransferManager(); ftOverview_ = new FileTransferOverview(ftManager_); - rosterController_ = new RosterController(jid_, xmppRoster_, avatarManager_, mainWindowFactory_, nickManager_, nickResolver_, presenceOracle_, subscriptionManager_, eventController_, uiEventStream_, router_, settings_, entityCapsManager_, ftOverview_); + ssOverview_ = new DummyScreenSharingOverview; + + rosterController_ = new RosterController(jid_, xmppRoster_, avatarManager_, mainWindowFactory_, nickManager_, nickResolver_, presenceOracle_, subscriptionManager_, eventController_, uiEventStream_, router_, settings_, entityCapsManager_, ftOverview_, ssOverview_); mainWindow_ = mainWindowFactory_->last; }; void tearDown() { delete rosterController_; + + delete ssOverview_; + delete ftOverview_; delete ftManager_; delete jingleSessionManager_; @@ -337,6 +343,7 @@ class RosterControllerTest : public CppUnit::TestFixture { JingleSessionManager* jingleSessionManager_; FileTransferManager* ftManager_; FileTransferOverview* ftOverview_; + ScreenSharingOverview* ssOverview_; }; CPPUNIT_TEST_SUITE_REGISTRATION(RosterControllerTest); diff --git a/Swift/Controllers/SConscript b/Swift/Controllers/SConscript index d884baa..6463854 100644 --- a/Swift/Controllers/SConscript +++ b/Swift/Controllers/SConscript @@ -76,7 +76,7 @@ if env["SCONS_STAGE"] == "build" : "SettingConstants.cpp", "WhiteboardManager.cpp", "ScreenSharing/ScreenSharingController.cpp", - "ScreenSharing/ScreenSharingOverview.cpp", + "ScreenSharing/ScreenSharingOverviewImpl.cpp", ]) env.Append(UNITTEST_SOURCES = [ diff --git a/Swift/Controllers/ScreenSharing/ScreenSharingController.cpp b/Swift/Controllers/ScreenSharing/ScreenSharingController.cpp index 2e9a75d..a42e9bb 100644 --- a/Swift/Controllers/ScreenSharing/ScreenSharingController.cpp +++ b/Swift/Controllers/ScreenSharing/ScreenSharingController.cpp @@ -23,7 +23,7 @@ namespace Swift { ScreenSharingController::ScreenSharingController(ScreenSharingManager* screenSharingManager, TimerFactory* timerFactory, DesktopScreenGrabber* desktopScreenGrabber, const JID& to) - : screenGrabber(desktopScreenGrabber), grabTimer(timerFactory->createTimer(500)), remoteScreenWindowFactory(0), + : screenGrabber(desktopScreenGrabber), grabTimer(timerFactory->createTimer(1000/0.5)), remoteScreenWindowFactory(0), remoteScreenWindow(0), otherParty(to), incoming(false), chatWindow(0) { OutgoingScreenSharing::ref oss = screenSharingManager->createOutgoingScreenSharing(to); @@ -108,7 +108,7 @@ void ScreenSharingController::handleReady() void ScreenSharingController::handleFinished() { - screenSharing->onFinished.disconnect(boost::bind(&ScreenSharingController::handleFinished, this)); +// screenSharing->onFinished.disconnect(boost::bind(&ScreenSharingController::handleFinished, this)); screenSharing.reset(); delete remoteScreenWindow; remoteScreenWindow = 0; diff --git a/Swift/Controllers/ScreenSharing/ScreenSharingOverview.cpp b/Swift/Controllers/ScreenSharing/ScreenSharingOverview.cpp deleted file mode 100644 index 91f75b9..0000000 --- a/Swift/Controllers/ScreenSharing/ScreenSharingOverview.cpp +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (c) 2012 Yoann Blein - * Licensed under the simplified BSD license. - * See Documentation/Licenses/BSD-simplified.txt for more information. - */ - -#include "ScreenSharingOverview.h" - -#include "Swift/QtUI/ScreenSharing/QtDesktopScreenGrabber.h" -#include "Swift/Controllers/ScreenSharing/ScreenSharingController.h" -#include - -#include - -namespace Swift { - -ScreenSharingOverview::ScreenSharingOverview(ScreenSharingManager *screenSharingManager, RemoteScreenWindowFactory* remoteScreenViewerFactory, TimerFactory* timerFactory) - : screenSharingManager(screenSharingManager), remoteScreenWindowFactory(remoteScreenViewerFactory), timerFactory(timerFactory), - screenGrabber(new QtDesktopScreenGrabber) -{ - screenSharingManager->onIncomingScreenSharing.connect(boost::bind(&ScreenSharingOverview::handleIncomingScreenSharing, this, _1)); -} - -ScreenSharingOverview::~ScreenSharingOverview() -{ - screenSharingManager->onIncomingScreenSharing.disconnect(boost::bind(&ScreenSharingOverview::handleIncomingScreenSharing, this, _1)); -} - -void ScreenSharingOverview::createOugoingScreenSharing(const JID& to) -{ - ScreenSharingController* ssc = new ScreenSharingController(screenSharingManager, timerFactory, screenGrabber, to); - controllers.push_back(ssc); - onNewScreenSharingController(ssc); -} - -void ScreenSharingOverview::handleIncomingScreenSharing(boost::shared_ptr incomingScreenSharing) -{ - ScreenSharingController* ssc = new ScreenSharingController(incomingScreenSharing, remoteScreenWindowFactory); - controllers.push_back(ssc); - onNewScreenSharingController(ssc); -} - -} diff --git a/Swift/Controllers/ScreenSharing/ScreenSharingOverview.h b/Swift/Controllers/ScreenSharing/ScreenSharingOverview.h index b43a665..86f81df 100644 --- a/Swift/Controllers/ScreenSharing/ScreenSharingOverview.h +++ b/Swift/Controllers/ScreenSharing/ScreenSharingOverview.h @@ -8,38 +8,17 @@ #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(); + virtual ~ScreenSharingOverview() {} - void createOugoingScreenSharing(const JID& to); + virtual void createOugoingScreenSharing(const JID& to) = 0; public: boost::signal onNewScreenSharingController; - - private: - void handleIncomingScreenSharing(boost::shared_ptr incomingScreenSharing); - - private: - ScreenSharingManager* screenSharingManager; - RemoteScreenWindowFactory* remoteScreenWindowFactory; - TimerFactory* timerFactory; - - DesktopScreenGrabber* screenGrabber; - std::vector controllers; }; } diff --git a/Swift/Controllers/ScreenSharing/ScreenSharingOverviewImpl.cpp b/Swift/Controllers/ScreenSharing/ScreenSharingOverviewImpl.cpp new file mode 100644 index 0000000..1f5cdec --- /dev/null +++ b/Swift/Controllers/ScreenSharing/ScreenSharingOverviewImpl.cpp @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2012 Yoann Blein + * Licensed under the simplified BSD license. + * See Documentation/Licenses/BSD-simplified.txt for more information. + */ + +#include "ScreenSharingOverviewImpl.h" + +#include "Swift/QtUI/ScreenSharing/QtDesktopScreenGrabber.h" +#include "Swift/Controllers/ScreenSharing/ScreenSharingController.h" +#include + +#include + +namespace Swift { + +ScreenSharingOverviewImpl::ScreenSharingOverviewImpl(ScreenSharingManager *screenSharingManager, RemoteScreenWindowFactory* remoteScreenViewerFactory, TimerFactory* timerFactory) + : ScreenSharingOverview(), + screenSharingManager(screenSharingManager), remoteScreenWindowFactory(remoteScreenViewerFactory), timerFactory(timerFactory), + screenGrabber(new QtDesktopScreenGrabber) +{ + screenSharingManager->onIncomingScreenSharing.connect(boost::bind(&ScreenSharingOverviewImpl::handleIncomingScreenSharing, this, _1)); +} + +ScreenSharingOverviewImpl::~ScreenSharingOverviewImpl() +{ + screenSharingManager->onIncomingScreenSharing.disconnect(boost::bind(&ScreenSharingOverviewImpl::handleIncomingScreenSharing, this, _1)); +} + +void ScreenSharingOverviewImpl::createOugoingScreenSharing(const JID& to) +{ + ScreenSharingController* ssc = new ScreenSharingController(screenSharingManager, timerFactory, screenGrabber, to); + controllers.push_back(ssc); + onNewScreenSharingController(ssc); +} + +void ScreenSharingOverviewImpl::handleIncomingScreenSharing(boost::shared_ptr incomingScreenSharing) +{ + ScreenSharingController* ssc = new ScreenSharingController(incomingScreenSharing, remoteScreenWindowFactory); + controllers.push_back(ssc); + onNewScreenSharingController(ssc); +} + +} diff --git a/Swift/Controllers/ScreenSharing/ScreenSharingOverviewImpl.h b/Swift/Controllers/ScreenSharing/ScreenSharingOverviewImpl.h new file mode 100644 index 0000000..ad5871d --- /dev/null +++ b/Swift/Controllers/ScreenSharing/ScreenSharingOverviewImpl.h @@ -0,0 +1,40 @@ +/* + * 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; + }; +} diff --git a/Swift/Controllers/ScreenSharing/UnitTest/DummyScreenSharingOverview.h b/Swift/Controllers/ScreenSharing/UnitTest/DummyScreenSharingOverview.h new file mode 100644 index 0000000..8ea4d68 --- /dev/null +++ b/Swift/Controllers/ScreenSharing/UnitTest/DummyScreenSharingOverview.h @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2012 Yoann Blein + * Licensed under the simplified BSD license. + * See Documentation/Licenses/BSD-simplified.txt for more information. + */ + +#pragma once + +#include "Swift/Controllers/ScreenSharing/ScreenSharingOverview.h" + +namespace Swift { + class DummyScreenSharingOverview : public ScreenSharingOverview { + public: + virtual ~DummyScreenSharingOverview() {} + + virtual void createOugoingScreenSharing(const JID& /*to*/) {} + }; +} diff --git a/Swift/Controllers/UnitTest/MockChatWindow.h b/Swift/Controllers/UnitTest/MockChatWindow.h index 998a4eb..4bb3cd3 100644 --- a/Swift/Controllers/UnitTest/MockChatWindow.h +++ b/Swift/Controllers/UnitTest/MockChatWindow.h @@ -24,7 +24,11 @@ namespace Swift { virtual std::string addFileTransfer(const std::string& /*senderName*/, bool /*senderIsSelf*/,const std::string& /*filename*/, const boost::uintmax_t /*sizeInBytes*/) { return 0; }; virtual void setFileTransferProgress(std::string /*id*/, const int /*alreadyTransferedBytes*/) { }; virtual void setFileTransferStatus(std::string /*id*/, const FileTransferState /*state*/, const std::string& /*msg*/) { }; - + + // Screen sharing related stuff + virtual std::string addScreenSharing(const std::string& /*senderName*/, bool /*incoming*/) { return ""; } + virtual void setScreenSharingStatus(std::string, const ScreenSharing::SCState /*state*/, const std::string& /*msg*/) {} + virtual void setMessageReceiptState(const std::string &/* id */, ReceiptState /* state */) { } virtual void setContactChatState(ChatState::ChatStateType /*state*/) {}; -- cgit v0.10.2-6-g49f6