protocol_mock_objects.cc revision ca12bfac764ba476d6cd062bf1dde12cc64c3f40
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "remoting/protocol/protocol_mock_objects.h" 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace remoting { 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace protocol { 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MockConnectionToClient::MockConnectionToClient( 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Session* session, 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HostStub* host_stub) 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) : ConnectionToClient(session) { 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) set_host_stub(host_stub); 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MockConnectionToClient::~MockConnectionToClient() {} 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MockConnectionToClientEventHandler::MockConnectionToClientEventHandler() {} 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MockConnectionToClientEventHandler::~MockConnectionToClientEventHandler() {} 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MockClipboardStub::MockClipboardStub() {} 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MockClipboardStub::~MockClipboardStub() {} 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MockInputStub::MockInputStub() {} 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MockInputStub::~MockInputStub() {} 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MockHostStub::MockHostStub() {} 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MockHostStub::~MockHostStub() {} 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MockClientStub::MockClientStub() {} 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MockClientStub::~MockClientStub() {} 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MockVideoStub::MockVideoStub() {} 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MockVideoStub::~MockVideoStub() {} 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MockSession::MockSession() {} 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MockSession::~MockSession() {} 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MockSessionManager::MockSessionManager() {} 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MockSessionManager::~MockSessionManager() {} 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 51ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben MurdochMockPairingRegistryDelegate::MockPairingRegistryDelegate() 52ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch : run_save_callback_automatically_(true) { 537d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)} 547d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) 557d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)MockPairingRegistryDelegate::~MockPairingRegistryDelegate() { 567d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)} 577d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) 58eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochvoid MockPairingRegistryDelegate::Save( 59eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch const std::string& pairings_json, 60eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch const PairingRegistry::SaveCallback& callback) { 61ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch EXPECT_TRUE(load_callback_.is_null()); 62ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch EXPECT_TRUE(save_callback_.is_null()); 63ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch if (run_save_callback_automatically_) { 64ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch SetPairingsJsonAndRunCallback(pairings_json, callback); 65ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch } else { 66ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch save_callback_ = base::Bind( 67ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch &MockPairingRegistryDelegate::SetPairingsJsonAndRunCallback, 68ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch base::Unretained(this), pairings_json, callback); 69ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch } 70ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch} 71ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch 72ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdochvoid MockPairingRegistryDelegate::SetPairingsJsonAndRunCallback( 73ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch const std::string& pairings_json, 74ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch const PairingRegistry::SaveCallback& callback) { 75eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch pairings_json_ = pairings_json; 767d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) if (!callback.is_null()) { 777d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) callback.Run(true); 787d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) } 797d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)} 807d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) 81eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochvoid MockPairingRegistryDelegate::Load( 82eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch const PairingRegistry::LoadCallback& callback) { 83ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch EXPECT_TRUE(load_callback_.is_null()); 84ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch EXPECT_TRUE(save_callback_.is_null()); 85ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch load_callback_ = base::Bind(callback, pairings_json_); 867d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)} 877d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) 887d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)void MockPairingRegistryDelegate::RunCallback() { 89ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch if (!load_callback_.is_null()) { 90ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch EXPECT_TRUE(save_callback_.is_null()); 91ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch base::Closure load_callback = load_callback_; 92ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch load_callback_.Reset(); 93ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch load_callback.Run(); 94ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch } else if (!save_callback_.is_null()) { 95ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch EXPECT_TRUE(load_callback_.is_null()); 96ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch base::Closure save_callback = save_callback_; 97ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch save_callback_.Reset(); 98ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch save_callback.Run(); 99ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch } else { 100ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch ADD_FAILURE() << "RunCallback called without any callbacks set."; 101ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch } 1027d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)} 1037d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) 1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace protocol 1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace remoting 106