1c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Copyright (c) 2010 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_PROFILE_SYNC_FACTORY_IMPL_H__ 6c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#define CHROME_BROWSER_SYNC_PROFILE_SYNC_FACTORY_IMPL_H__ 73345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#pragma once 83345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick 93345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#include <string> 10c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 11c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "base/basictypes.h" 12c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/sync/profile_sync_factory.h" 13c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 14c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochclass CommandLine; 15c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochclass Profile; 16c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 17c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochclass ProfileSyncFactoryImpl : public ProfileSyncFactory { 18c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch public: 19c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch ProfileSyncFactoryImpl(Profile* profile, CommandLine* command_line); 20c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch virtual ~ProfileSyncFactoryImpl() {} 21c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 22c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // ProfileSyncFactory interface. 233345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick virtual ProfileSyncService* CreateProfileSyncService( 243345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick const std::string& cros_user); 25c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 26c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch virtual browser_sync::DataTypeManager* CreateDataTypeManager( 27c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch browser_sync::SyncBackendHost* backend, 28c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch const browser_sync::DataTypeController::TypeMap& controllers); 29c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 303345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick virtual SyncComponents CreateAppSyncComponents( 313345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick ProfileSyncService* profile_sync_service, 323345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick browser_sync::UnrecoverableErrorHandler* error_handler); 333345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick 34c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch virtual SyncComponents CreateAutofillSyncComponents( 35c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch ProfileSyncService* profile_sync_service, 36c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch WebDatabase* web_database, 37c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch PersonalDataManager* personal_data, 38c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch browser_sync::UnrecoverableErrorHandler* error_handler); 39c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 4021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen virtual SyncComponents CreateAutofillProfileSyncComponents( 4121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen ProfileSyncService* profile_sync_service, 4221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen WebDatabase* web_database, 4321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen PersonalDataManager* personal_data, 4421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen browser_sync::UnrecoverableErrorHandler* error_handler); 4521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 46c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch virtual SyncComponents CreateBookmarkSyncComponents( 47c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch ProfileSyncService* profile_sync_service, 48c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch browser_sync::UnrecoverableErrorHandler* error_handler); 49c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 50c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch virtual SyncComponents CreateExtensionSyncComponents( 51c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch ProfileSyncService* profile_sync_service, 52c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch browser_sync::UnrecoverableErrorHandler* error_handler); 53c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 54c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch virtual SyncComponents CreatePasswordSyncComponents( 55c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch ProfileSyncService* profile_sync_service, 56c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch PasswordStore* password_store, 57c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch browser_sync::UnrecoverableErrorHandler* error_handler); 58c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 59c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch virtual SyncComponents CreatePreferenceSyncComponents( 60c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch ProfileSyncService* profile_sync_service, 61c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch browser_sync::UnrecoverableErrorHandler* error_handler); 62c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 63c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch virtual SyncComponents CreateThemeSyncComponents( 64c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch ProfileSyncService* profile_sync_service, 65c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch browser_sync::UnrecoverableErrorHandler* error_handler); 66c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 67c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch virtual SyncComponents CreateTypedUrlSyncComponents( 68c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch ProfileSyncService* profile_sync_service, 69c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch history::HistoryBackend* history_backend, 70c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch browser_sync::UnrecoverableErrorHandler* error_handler); 71c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 723345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick virtual SyncComponents CreateSessionSyncComponents( 733345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick ProfileSyncService* profile_sync_service, 743345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick browser_sync::UnrecoverableErrorHandler* error_handler); 753345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick 76c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch private: 77c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch Profile* profile_; 78c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch CommandLine* command_line_; 79c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 80c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch DISALLOW_COPY_AND_ASSIGN(ProfileSyncFactoryImpl); 81c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch}; 82c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 83c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#endif // CHROME_BROWSER_SYNC_PROFILE_SYNC_FACTORY_IMPL_H__ 84