| OLD | NEW | 
|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_SETTINGS_DEVICE_OAUTH2_TOKEN_SERVICE_FACTORY_H_ | 5 #ifndef CHROME_BROWSER_CHROMEOS_SETTINGS_DEVICE_OAUTH2_TOKEN_SERVICE_FACTORY_H_ | 
| 6 #define CHROME_BROWSER_CHROMEOS_SETTINGS_DEVICE_OAUTH2_TOKEN_SERVICE_FACTORY_H_ | 6 #define CHROME_BROWSER_CHROMEOS_SETTINGS_DEVICE_OAUTH2_TOKEN_SERVICE_FACTORY_H_ | 
| 7 | 7 | 
| 8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" | 
|  | 9 #include "base/callback_forward.h" | 
| 9 | 10 | 
| 10 namespace chromeos { | 11 namespace chromeos { | 
| 11 | 12 | 
| 12 class DeviceOAuth2TokenService; | 13 class DeviceOAuth2TokenService; | 
| 13 | 14 | 
| 14 class DeviceOAuth2TokenServiceFactory { | 15 class DeviceOAuth2TokenServiceFactory { | 
| 15  public: | 16  public: | 
| 16   // Returns the instance of the DeviceOAuth2TokenService singleton. | 17   // Callback type used for Get() function. | 
| 17   // May return null during browser startup and shutdown.  Do not hold | 18   typedef base::Callback<void(DeviceOAuth2TokenService*)> GetCallback; | 
| 18   // the pointer returned by this method; call this method every time | 19 | 
| 19   // and check for null to handle the case where this instance is destroyed | 20   // Returns the instance of the DeviceOAuth2TokenService singleton via the | 
| 20   // during shutdown. | 21   // given callback. This function is asynchronous as initializing | 
| 21   static DeviceOAuth2TokenService* Get(); | 22   // DeviceOAuth2TokenService involves asynchronous D-Bus method calls. | 
|  | 23   // | 
|  | 24   // May return NULL during browser startup and shutdown. May also return | 
|  | 25   // NULL if Initialize() is not called beforehand, which can happen in unit | 
|  | 26   // tests. | 
|  | 27   // | 
|  | 28   // Do not hold the pointer returned by this method; call this method every | 
|  | 29   // time and check for NULL to handle the case where this instance is | 
|  | 30   // destroyed during shutdown. | 
|  | 31   static void Get(const GetCallback& callback); | 
| 22 | 32 | 
| 23   // Called by ChromeBrowserMainPartsChromeOS in order to bootstrap the | 33   // Called by ChromeBrowserMainPartsChromeOS in order to bootstrap the | 
| 24   // DeviceOAuth2TokenService instance after the required global data is | 34   // DeviceOAuth2TokenService instance after the required global data is | 
| 25   // available (local state and request context getter). | 35   // available (local state and request context getter). | 
| 26   static void Initialize(); | 36   static void Initialize(); | 
| 27 | 37 | 
| 28   // Called by ChromeBrowserMainPartsChromeOS in order to shutdown the | 38   // Called by ChromeBrowserMainPartsChromeOS in order to shutdown the | 
| 29   // DeviceOAuth2TokenService instance and cancel all in-flight requests | 39   // DeviceOAuth2TokenService instance and cancel all in-flight requests | 
| 30   // before the required global data is destroyed (local state and request | 40   // before the required global data is destroyed (local state and request | 
| 31   // context getter). | 41   // context getter). | 
| 32   static void Shutdown(); | 42   static void Shutdown(); | 
| 33 | 43 | 
| 34  private: | 44  private: | 
| 35   DeviceOAuth2TokenServiceFactory(); | 45   DeviceOAuth2TokenServiceFactory(); | 
|  | 46   ~DeviceOAuth2TokenServiceFactory(); | 
|  | 47 | 
|  | 48   DeviceOAuth2TokenService* token_service_; | 
| 36 | 49 | 
| 37   DISALLOW_COPY_AND_ASSIGN(DeviceOAuth2TokenServiceFactory); | 50   DISALLOW_COPY_AND_ASSIGN(DeviceOAuth2TokenServiceFactory); | 
| 38 }; | 51 }; | 
| 39 | 52 | 
| 40 }  // namespace chromeos | 53 }  // namespace chromeos | 
| 41 | 54 | 
| 42 #endif  // CHROME_BROWSER_CHROMEOS_SETTINGS_DEVICE_OAUTH2_TOKEN_SERVICE_FACTORY_
    H_ | 55 #endif  // CHROME_BROWSER_CHROMEOS_SETTINGS_DEVICE_OAUTH2_TOKEN_SERVICE_FACTORY_
    H_ | 
| OLD | NEW | 
|---|