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

Side by Side Diff: chrome/browser/chromeos/drive/drive_integration_service.h

Issue 15517005: Remove references to Profile from browser_context_keyed_service. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase & style Created 7 years, 7 months 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_CHROMEOS_DRIVE_DRIVE_INTEGRATION_SERVICE_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_DRIVE_DRIVE_INTEGRATION_SERVICE_H_
6 #define CHROME_BROWSER_CHROMEOS_DRIVE_DRIVE_INTEGRATION_SERVICE_H_ 6 #define CHROME_BROWSER_CHROMEOS_DRIVE_DRIVE_INTEGRATION_SERVICE_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 62
63 // DriveIntegrationService is used to integrate Drive to Chrome. This class 63 // DriveIntegrationService is used to integrate Drive to Chrome. This class
64 // exposes the file system representation built on top of Drive and some 64 // exposes the file system representation built on top of Drive and some
65 // other Drive related objects to the file manager, and some other sub 65 // other Drive related objects to the file manager, and some other sub
66 // systems. 66 // systems.
67 // 67 //
68 // The class is essentially a container that manages lifetime of the objects 68 // The class is essentially a container that manages lifetime of the objects
69 // that are used to integrate Drive to Chrome. The object of this class is 69 // that are used to integrate Drive to Chrome. The object of this class is
70 // created per-profile. 70 // created per-profile.
71 class DriveIntegrationService 71 class DriveIntegrationService
72 : public ProfileKeyedService, 72 : public BrowserContextKeyedService,
73 public google_apis::DriveNotificationObserver { 73 public google_apis::DriveNotificationObserver {
74 public: 74 public:
75 // test_drive_service, test_cache_root and test_file_system are used by tests 75 // test_drive_service, test_cache_root and test_file_system are used by tests
76 // to inject customized instances. 76 // to inject customized instances.
77 // Pass NULL or the empty value when not interested. 77 // Pass NULL or the empty value when not interested.
78 DriveIntegrationService( 78 DriveIntegrationService(
79 Profile* profile, 79 Profile* profile,
80 google_apis::DriveServiceInterface* test_drive_service, 80 google_apis::DriveServiceInterface* test_drive_service,
81 const base::FilePath& test_cache_root, 81 const base::FilePath& test_cache_root,
82 FileSystemInterface* test_file_system); 82 FileSystemInterface* test_file_system);
83 virtual ~DriveIntegrationService(); 83 virtual ~DriveIntegrationService();
84 84
85 // Initializes the object. This function should be called before any 85 // Initializes the object. This function should be called before any
86 // other functions. 86 // other functions.
87 void Initialize(); 87 void Initialize();
88 88
89 // ProfileKeyedService override: 89 // BrowserContextKeyedService override:
90 virtual void Shutdown() OVERRIDE; 90 virtual void Shutdown() OVERRIDE;
91 91
92 // Adds and removes the observer. 92 // Adds and removes the observer.
93 void AddObserver(DriveIntegrationServiceObserver* observer); 93 void AddObserver(DriveIntegrationServiceObserver* observer);
94 void RemoveObserver(DriveIntegrationServiceObserver* observer); 94 void RemoveObserver(DriveIntegrationServiceObserver* observer);
95 95
96 // google_apis::DriveNotificationObserver implementation. 96 // google_apis::DriveNotificationObserver implementation.
97 virtual void OnNotificationReceived() OVERRIDE; 97 virtual void OnNotificationReceived() OVERRIDE;
98 virtual void OnPushNotificationEnabled(bool enabled) OVERRIDE; 98 virtual void OnPushNotificationEnabled(bool enabled) OVERRIDE;
99 99
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 ObserverList<DriveIntegrationServiceObserver> observers_; 171 ObserverList<DriveIntegrationServiceObserver> observers_;
172 172
173 // Note: This should remain the last member so it'll be destroyed and 173 // Note: This should remain the last member so it'll be destroyed and
174 // invalidate its weak pointers before any other members are destroyed. 174 // invalidate its weak pointers before any other members are destroyed.
175 base::WeakPtrFactory<DriveIntegrationService> weak_ptr_factory_; 175 base::WeakPtrFactory<DriveIntegrationService> weak_ptr_factory_;
176 DISALLOW_COPY_AND_ASSIGN(DriveIntegrationService); 176 DISALLOW_COPY_AND_ASSIGN(DriveIntegrationService);
177 }; 177 };
178 178
179 // Singleton that owns all instances of DriveIntegrationService and 179 // Singleton that owns all instances of DriveIntegrationService and
180 // associates them with Profiles. 180 // associates them with Profiles.
181 class DriveIntegrationServiceFactory : public ProfileKeyedServiceFactory { 181 class DriveIntegrationServiceFactory
182 : public BrowserContextKeyedServiceFactory {
182 public: 183 public:
183 // Factory function used by tests. 184 // Factory function used by tests.
184 typedef base::Callback<DriveIntegrationService*(Profile* profile)> 185 typedef base::Callback<DriveIntegrationService*(Profile* profile)>
185 FactoryCallback; 186 FactoryCallback;
186 187
187 // Returns the DriveIntegrationService for |profile|, creating it if it is 188 // Returns the DriveIntegrationService for |profile|, creating it if it is
188 // not yet created. 189 // not yet created.
189 // 190 //
190 // This function starts returning NULL if Drive is disabled, even if this 191 // This function starts returning NULL if Drive is disabled, even if this
191 // function previously returns a non-NULL object. In other words, clients 192 // function previously returns a non-NULL object. In other words, clients
(...skipping 23 matching lines...) Expand all
215 216
216 // Sets a factory function for tests. 217 // Sets a factory function for tests.
217 static void SetFactoryForTest(const FactoryCallback& factory_for_test); 218 static void SetFactoryForTest(const FactoryCallback& factory_for_test);
218 219
219 private: 220 private:
220 friend struct DefaultSingletonTraits<DriveIntegrationServiceFactory>; 221 friend struct DefaultSingletonTraits<DriveIntegrationServiceFactory>;
221 222
222 DriveIntegrationServiceFactory(); 223 DriveIntegrationServiceFactory();
223 virtual ~DriveIntegrationServiceFactory(); 224 virtual ~DriveIntegrationServiceFactory();
224 225
225 // ProfileKeyedServiceFactory: 226 // BrowserContextKeyedServiceFactory:
226 virtual ProfileKeyedService* BuildServiceInstanceFor( 227 virtual BrowserContextKeyedService* BuildServiceInstanceFor(
227 content::BrowserContext* context) const OVERRIDE; 228 content::BrowserContext* context) const OVERRIDE;
228 229
229 FactoryCallback factory_for_test_; 230 FactoryCallback factory_for_test_;
230 }; 231 };
231 232
232 } // namespace drive 233 } // namespace drive
233 234
234 #endif // CHROME_BROWSER_CHROMEOS_DRIVE_DRIVE_INTEGRATION_SERVICE_H_ 235 #endif // CHROME_BROWSER_CHROMEOS_DRIVE_DRIVE_INTEGRATION_SERVICE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698