Chromium Code Reviews| Index: chrome/browser/chromeos/contacts/google_contact_store.h |
| diff --git a/chrome/browser/chromeos/contacts/google_contact_store.h b/chrome/browser/chromeos/contacts/google_contact_store.h |
| index c51fca472026393bfbe31cbd295498b4eade6462..f38d787bbb28fc2eeeab91bcf83700652675e391 100644 |
| --- a/chrome/browser/chromeos/contacts/google_contact_store.h |
| +++ b/chrome/browser/chromeos/contacts/google_contact_store.h |
| @@ -20,6 +20,7 @@ |
| #include "base/stl_util.h" |
| #include "base/time.h" |
| #include "base/timer.h" |
| +#include "net/base/network_change_notifier.h" |
| class Profile; |
| @@ -34,7 +35,9 @@ class ContactDatabaseInterface; |
| class UpdateMetadata; |
| // A collection of contacts from a Google account. |
| -class GoogleContactStore : public ContactStore { |
| +class GoogleContactStore |
| + : public ContactStore, |
| + public net::NetworkChangeNotifier::ConnectionTypeObserver { |
|
satorux1
2012/08/08 21:42:27
I didn't know about this. in gdata_sync_client.cc,
|
| public: |
| class TestAPI { |
| public: |
| @@ -56,6 +59,9 @@ class GoogleContactStore : public ContactStore { |
| // Triggers an update, similar to what happens when the update timer fires. |
| void DoUpdate(); |
| + // Notifies the store that the system has gone online or offline. |
| + void NotifyAboutNetworkStateChange(bool online); |
| + |
| private: |
| GoogleContactStore* store_; // not owned |
| @@ -73,6 +79,10 @@ class GoogleContactStore : public ContactStore { |
| virtual void AddObserver(ContactStoreObserver* observer) OVERRIDE; |
| virtual void RemoveObserver(ContactStoreObserver* observer) OVERRIDE; |
| + // net::NetworkChangeNotifier::ConnectionTypeObserver implementation: |
| + virtual void OnConnectionTypeChanged( |
| + net::NetworkChangeNotifier::ConnectionType type) OVERRIDE; |
| + |
| private: |
| // Map from a contact's Google-assigned ID to the contact itself. |
| typedef std::map<std::string, Contact*> ContactMap; |
| @@ -150,6 +160,14 @@ class GoogleContactStore : public ContactStore { |
| // fails. |
| base::TimeDelta update_delay_on_next_failure_; |
| + // Do we believe that it's likely that we'll be able to make network |
| + // connections? |
| + bool is_online_; |
| + |
| + // Should we call UpdateContacts() when |is_online_| becomes true? Set when |
| + // UpdateContacts() is called while we're offline. |
| + bool should_update_when_online_; |
| + |
| // If non-null, used in place of base::Time::Now() when the current time is |
| // needed. |
| base::Time current_time_for_testing_; |