13f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved. 2c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// found in the LICENSE file. 4c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 5c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#ifndef CHROME_BROWSER_SYNC_GLUE_DATA_TYPE_MANAGER_MOCK_H__ 6c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#define CHROME_BROWSER_SYNC_GLUE_DATA_TYPE_MANAGER_MOCK_H__ 73345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#pragma once 8c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 9c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/sync/glue/data_type_manager.h" 10c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/sync/profile_sync_test_util.h" 11ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "content/common/notification_details.h" 12ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "content/common/notification_service.h" 13ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "content/common/notification_type.h" 14c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "testing/gmock/include/gmock/gmock.h" 15c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 163345a6884c488ff3a535c2c9acdd33d74b37e311Iain MerrickACTION_P3(NotifyFromDataTypeManagerWithResult, dtm, type, result) { 17c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch NotificationService::current()->Notify( 18c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch type, 193345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick Source<browser_sync::DataTypeManager>(dtm), 20ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen Details<browser_sync::DataTypeManager::ConfigureResultWithErrorLocation>( 21ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen result)); 22c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 23c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 243345a6884c488ff3a535c2c9acdd33d74b37e311Iain MerrickACTION_P2(NotifyFromDataTypeManager, dtm, type) { 253345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick NotificationService::current()->Notify(type, 263345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick Source<browser_sync::DataTypeManager>(dtm), 273345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick NotificationService::NoDetails()); 283345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick} 293345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick 30c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochnamespace browser_sync { 31c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 32c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochclass DataTypeManagerMock : public DataTypeManager { 33c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch public: 343f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsen DataTypeManagerMock(); 353f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsen virtual ~DataTypeManagerMock(); 36c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 37c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch MOCK_METHOD1(Configure, void(const TypeSet&)); 38c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch MOCK_METHOD0(Stop, void()); 39c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch MOCK_METHOD0(controllers, const DataTypeController::TypeMap&()); 40c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch MOCK_METHOD0(state, State()); 41c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 42c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch private: 43ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen browser_sync::DataTypeManager::ConfigureResultWithErrorLocation result_; 44c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch}; 45c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 46c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} // namespace browser_sync 47c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 48c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#endif // CHROME_BROWSER_SYNC_GLUE_DATA_TYPE_MANAGER_MOCK_H__ 49