Chromium Code Reviews| Index: chrome/browser/services/gcm/gcm_profile_service.h |
| diff --git a/chrome/browser/services/gcm/gcm_profile_service.h b/chrome/browser/services/gcm/gcm_profile_service.h |
| index df05dbb3a7cbca0f8c14a8196b76c66689ca5def..caf1c8282e624cb93425630c6e5ea55997d96d70 100644 |
| --- a/chrome/browser/services/gcm/gcm_profile_service.h |
| +++ b/chrome/browser/services/gcm/gcm_profile_service.h |
| @@ -16,6 +16,10 @@ |
| #include "components/gcm_driver/gcm_driver.h" |
| #include "components/keyed_service/core/keyed_service.h" |
| +#if !defined(OS_ANDROID) |
| +#include "google_apis/gaia/identity_provider.h" |
| +#endif |
| + |
| class Profile; |
| namespace user_prefs { |
| @@ -28,7 +32,12 @@ class GCMClientFactory; |
| class GCMDriver; |
| // Providing GCM service, via GCMDriver, to a profile. |
| +#if defined(OS_ANDROID) |
| class GCMProfileService : public KeyedService { |
| +#else |
| +class GCMProfileService : public KeyedService, |
|
Nicolas Zea
2014/06/13 19:49:31
Agree with Filip, I think it would be cleaner to n
jianli
2014/06/13 21:58:04
Per discussion, I added inner class IdentityObserv
|
| + public IdentityProvider::Observer { |
| +#endif |
| public: |
| // Returns whether GCM is enabled for |profile|. |
| static bool IsGCMEnabled(Profile* profile); |
| @@ -54,6 +63,16 @@ class GCMProfileService : public KeyedService { |
| // KeyedService: |
| virtual void Shutdown() OVERRIDE; |
| +#if !defined(OS_ANDROID) |
| + // IdentityProvider::Observer: |
| + virtual void OnActiveAccountLogin() OVERRIDE; |
| + virtual void OnActiveAccountLogout() OVERRIDE; |
| +#endif |
| + |
| + // Returns the user name if the profile is signed in or an empty string |
| + // otherwise. |
| + std::string SignedInUserName() const; |
| + |
| // For testing purpose. |
| void SetDriverForTesting(GCMDriver* driver); |
| @@ -76,6 +95,14 @@ class GCMProfileService : public KeyedService { |
| // Implementation of content::PushMessagingService using GCMProfileService. |
| PushMessagingServiceImpl push_messaging_service_; |
| +#if !defined(OS_ANDROID) |
| + scoped_ptr<IdentityProvider> identity_provider_; |
| + |
| + // The account ID that this service is responsible for. Empty when the service |
| + // is not running. |
| + std::string account_id_; |
| +#endif |
| + |
| DISALLOW_COPY_AND_ASSIGN(GCMProfileService); |
| }; |