| Index: jingle/notifier/listener/push_client_observer.h | 
| diff --git a/jingle/notifier/listener/push_client_observer.h b/jingle/notifier/listener/push_client_observer.h | 
| index 0fe7d467295746bca2689611847c06a7cd4575eb..d51deb290b113c64a023cb74e7f9ba02f135fdbc 100644 | 
| --- a/jingle/notifier/listener/push_client_observer.h | 
| +++ b/jingle/notifier/listener/push_client_observer.h | 
| @@ -9,18 +9,32 @@ | 
|  | 
| namespace notifier { | 
|  | 
| -// A PushClientObserver is notified whenever an incoming notification | 
| -// is received or when the state of the push client changes. | 
| +enum NotificationsDisabledReason { | 
| +  // There is an underlying transient problem (e.g., network- or | 
| +  // XMPP-related). | 
| +  TRANSIENT_NOTIFICATION_ERROR, | 
| +  DEFAULT_NOTIFICATION_ERROR = TRANSIENT_NOTIFICATION_ERROR, | 
| +  // Our credentials have been rejected. | 
| +  NOTIFICATION_CREDENTIALS_REJECTED, | 
| +  // No error (useful for avoiding keeping a separate bool for | 
| +  // notifications enabled/disabled). | 
| +  NO_NOTIFICATION_ERROR | 
| +}; | 
| + | 
| +// A PushClientObserver is notified when notifications are enabled or | 
| +// disabled, and when a notification is received. | 
| class PushClientObserver { | 
| protected: | 
| virtual ~PushClientObserver(); | 
|  | 
| public: | 
| -  // Called when the state of the push client changes.  If | 
| -  // |notifications_enabled| is true, that means notifications can be | 
| -  // sent and received freely.  If it is false, that means no | 
| -  // notifications can be sent or received. | 
| -  virtual void OnNotificationStateChange(bool notifications_enabled) = 0; | 
| +  // Called when notifications are enabled. | 
| +  virtual void OnNotificationsEnabled() = 0; | 
| + | 
| +  // Called when notifications are disabled, with the reason (not | 
| +  // equal to NO_ERROR) in |reason|. | 
| +  virtual void OnNotificationsDisabled( | 
| +      NotificationsDisabledReason reason) = 0; | 
|  | 
| // Called when a notification is received.  The details of the | 
| // notification are in |notification|. | 
|  |