Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(285)

Side by Side Diff: chrome/browser/sync/profile_sync_components_factory_impl.h

Issue 1451023005: Revert of [Sync] Componentize ProfileSyncComponentsFactoryImpl (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef CHROME_BROWSER_SYNC_PROFILE_SYNC_COMPONENTS_FACTORY_IMPL_H__
6 #define CHROME_BROWSER_SYNC_PROFILE_SYNC_COMPONENTS_FACTORY_IMPL_H__
7
8 #include <string>
9
10 #include "base/basictypes.h"
11 #include "base/compiler_specific.h"
12 #include "base/memory/weak_ptr.h"
13 #include "components/sync_driver/sync_api_component_factory.h"
14 #include "sync/internal_api/public/base/model_type.h"
15 #include "url/gurl.h"
16
17 class OAuth2TokenService;
18 class Profile;
19
20 namespace base {
21 class CommandLine;
22 }
23
24 namespace net {
25 class URLRequestContextGetter;
26 }
27
28 class ProfileSyncComponentsFactoryImpl
29 : public sync_driver::SyncApiComponentFactory {
30 public:
31 // Constructs a ProfileSyncComponentsFactoryImpl.
32 //
33 // |sync_service_url| is the base URL of the sync server.
34 //
35 // |token_service| must outlive the ProfileSyncComponentsFactoryImpl.
36 //
37 // |url_request_context_getter| must outlive the
38 // ProfileSyncComponentsFactoryImpl.
39 ProfileSyncComponentsFactoryImpl(
40 Profile* profile,
41 base::CommandLine* command_line,
42 const GURL& sync_service_url,
43 OAuth2TokenService* token_service,
44 net::URLRequestContextGetter* url_request_context_getter);
45 ~ProfileSyncComponentsFactoryImpl() override;
46
47 void RegisterDataTypes(sync_driver::SyncClient* sync_client) override;
48
49 sync_driver::DataTypeManager* CreateDataTypeManager(
50 const syncer::WeakHandle<syncer::DataTypeDebugInfoListener>&
51 debug_info_listener,
52 const sync_driver::DataTypeController::TypeMap* controllers,
53 const sync_driver::DataTypeEncryptionHandler* encryption_handler,
54 browser_sync::SyncBackendHost* backend,
55 sync_driver::DataTypeManagerObserver* observer) override;
56
57 browser_sync::SyncBackendHost* CreateSyncBackendHost(
58 const std::string& name,
59 sync_driver::SyncClient* sync_client,
60 invalidation::InvalidationService* invalidator,
61 const base::WeakPtr<sync_driver::SyncPrefs>& sync_prefs,
62 const base::FilePath& sync_folder) override;
63
64 scoped_ptr<sync_driver::LocalDeviceInfoProvider>
65 CreateLocalDeviceInfoProvider() override;
66
67 scoped_ptr<syncer::AttachmentService> CreateAttachmentService(
68 scoped_ptr<syncer::AttachmentStoreForSync> attachment_store,
69 const syncer::UserShare& user_share,
70 const std::string& store_birthday,
71 syncer::ModelType model_type,
72 syncer::AttachmentService::Delegate* delegate) override;
73
74 // Legacy datatypes that need to be converted to the SyncableService API.
75 sync_driver::SyncApiComponentFactory::SyncComponents
76 CreateBookmarkSyncComponents(
77 sync_driver::SyncService* sync_service,
78 sync_driver::DataTypeErrorHandler* error_handler) override;
79 sync_driver::SyncApiComponentFactory::SyncComponents
80 CreateTypedUrlSyncComponents(
81 sync_driver::SyncService* sync_service,
82 history::HistoryBackend* history_backend,
83 sync_driver::DataTypeErrorHandler* error_handler) override;
84
85 private:
86 // Register data types which are enabled on desktop platforms only.
87 // |disabled_types| and |enabled_types| correspond only to those types
88 // being explicitly enabled/disabled by the command line.
89 void RegisterDesktopDataTypes(syncer::ModelTypeSet disabled_types,
90 syncer::ModelTypeSet enabled_types,
91 sync_driver::SyncClient* sync_client);
92
93 // Register data types which are enabled on both desktop and mobile.
94 // |disabled_types| and |enabled_types| correspond only to those types
95 // being explicitly enabled/disabled by the command line.
96 void RegisterCommonDataTypes(syncer::ModelTypeSet disabled_types,
97 syncer::ModelTypeSet enabled_types,
98 sync_driver::SyncClient* sync_client);
99
100 void DisableBrokenType(syncer::ModelType type,
101 const tracked_objects::Location& from_here,
102 const std::string& message);
103
104 Profile* profile_;
105 base::CommandLine* command_line_;
106
107 const GURL sync_service_url_;
108 OAuth2TokenService* const token_service_;
109 net::URLRequestContextGetter* const url_request_context_getter_;
110
111 base::WeakPtrFactory<ProfileSyncComponentsFactoryImpl> weak_factory_;
112
113 DISALLOW_COPY_AND_ASSIGN(ProfileSyncComponentsFactoryImpl);
114 };
115
116 #endif // CHROME_BROWSER_SYNC_PROFILE_SYNC_COMPONENTS_FACTORY_IMPL_H__
OLDNEW
« no previous file with comments | « chrome/browser/sync/chrome_sync_client.cc ('k') | chrome/browser/sync/profile_sync_components_factory_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698