blob: daf8b2cd4800f6903e39bb171eb6c58b53253360 [file] [log] [blame]
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chromeos/services/device_sync/mock_cryptauth_client.h"
#include <utility>
#include "base/callback.h"
namespace chromeos {
namespace device_sync {
MockCryptAuthClient::MockCryptAuthClient() {}
MockCryptAuthClient::~MockCryptAuthClient() {}
MockCryptAuthClientFactory::MockCryptAuthClientFactory(MockType mock_type)
: mock_type_(mock_type) {}
MockCryptAuthClientFactory::~MockCryptAuthClientFactory() {}
std::unique_ptr<CryptAuthClient> MockCryptAuthClientFactory::CreateInstance() {
std::unique_ptr<MockCryptAuthClient> client;
if (mock_type_ == MockType::MAKE_STRICT_MOCKS)
client.reset(new testing::StrictMock<MockCryptAuthClient>());
else
client.reset(new testing::NiceMock<MockCryptAuthClient>());
for (auto& observer : observer_list_)
observer.OnCryptAuthClientCreated(client.get());
return std::move(client);
}
void MockCryptAuthClientFactory::AddObserver(Observer* observer) {
observer_list_.AddObserver(observer);
}
void MockCryptAuthClientFactory::RemoveObserver(Observer* observer) {
observer_list_.RemoveObserver(observer);
}
} // namespace device_sync
} // namespace chromeos