Chromium Code Reviews| OLD | NEW |
|---|---|
| 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_CHROME_TO_MOBILE_SERVICE_H_ | 5 #ifndef CHROME_BROWSER_CHROME_TO_MOBILE_SERVICE_H_ |
| 6 #define CHROME_BROWSER_CHROME_TO_MOBILE_SERVICE_H_ | 6 #define CHROME_BROWSER_CHROME_TO_MOBILE_SERVICE_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <queue> | 9 #include <queue> |
| 10 #include <set> | 10 #include <set> |
| 11 #include <string> | 11 #include <string> |
| 12 #include <vector> | 12 #include <vector> |
| 13 | 13 |
| 14 #include "base/compiler_specific.h" | 14 #include "base/compiler_specific.h" |
| 15 #include "base/file_path.h" | 15 #include "base/file_path.h" |
| 16 #include "base/memory/weak_ptr.h" | 16 #include "base/memory/weak_ptr.h" |
| 17 #include "base/memory/scoped_vector.h" | |
|
Raghu Simha
2012/09/07 17:15:55
nit: This goes above weak_ptr.h.
| |
| 17 #include "base/string16.h" | 18 #include "base/string16.h" |
| 18 #include "base/timer.h" | 19 #include "base/timer.h" |
| 19 #include "base/values.h" | 20 #include "base/values.h" |
| 20 #include "chrome/browser/profiles/profile_keyed_service.h" | 21 #include "chrome/browser/profiles/profile_keyed_service.h" |
| 21 #include "chrome/browser/sessions/session_id.h" | 22 #include "chrome/browser/sessions/session_id.h" |
| 22 #include "content/public/browser/notification_observer.h" | 23 #include "content/public/browser/notification_observer.h" |
| 23 #include "content/public/browser/notification_registrar.h" | 24 #include "content/public/browser/notification_registrar.h" |
| 24 #include "google_apis/gaia/oauth2_access_token_consumer.h" | 25 #include "google_apis/gaia/oauth2_access_token_consumer.h" |
| 25 #include "googleurl/src/gurl.h" | 26 #include "googleurl/src/gurl.h" |
| 26 #include "net/url_request/url_fetcher_delegate.h" | 27 #include "net/url_request/url_fetcher_delegate.h" |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 60 DEVICES_REQUESTED = 0, // Cloud print was contacted to list devices. | 61 DEVICES_REQUESTED = 0, // Cloud print was contacted to list devices. |
| 61 DEVICES_AVAILABLE, // Cloud print returned 1+ compatible devices. | 62 DEVICES_AVAILABLE, // Cloud print returned 1+ compatible devices. |
| 62 BUBBLE_SHOWN, // The page action bubble was shown. | 63 BUBBLE_SHOWN, // The page action bubble was shown. |
| 63 SNAPSHOT_GENERATED, // A snapshot was successfully generated. | 64 SNAPSHOT_GENERATED, // A snapshot was successfully generated. |
| 64 SNAPSHOT_ERROR, // An error occurred during snapshot generation. | 65 SNAPSHOT_ERROR, // An error occurred during snapshot generation. |
| 65 SENDING_URL, // Send was invoked (with or without a snapshot). | 66 SENDING_URL, // Send was invoked (with or without a snapshot). |
| 66 SENDING_SNAPSHOT, // A snapshot was sent along with the page URL. | 67 SENDING_SNAPSHOT, // A snapshot was sent along with the page URL. |
| 67 SEND_SUCCESS, // Cloud print responded with success on send. | 68 SEND_SUCCESS, // Cloud print responded with success on send. |
| 68 SEND_ERROR, // Cloud print responded with failure on send. | 69 SEND_ERROR, // Cloud print responded with failure on send. |
| 69 LEARN_MORE_CLICKED, // The "Learn more" help article link was clicked. | 70 LEARN_MORE_CLICKED, // The "Learn more" help article link was clicked. |
| 71 BAD_TOKEN, // The cloud print access token could not be minted. | |
| 72 BAD_SEARCH_AUTH, // The cloud print search request failed (auth). | |
| 73 BAD_SEARCH_OTHER, // The cloud print search request failed (other). | |
| 74 BAD_SEND_407, // The cloud print send response was errorCode==407. | |
| 75 // "Print job added but failed to notify printer..." | |
| 76 BAD_SEND_ERROR, // The cloud print send response was errorCode!=407. | |
| 77 BAD_SEND_AUTH, // The cloud print send request failed (auth). | |
| 78 BAD_SEND_OTHER, // The cloud print send request failed (other). | |
| 70 NUM_METRICS | 79 NUM_METRICS |
| 71 }; | 80 }; |
| 72 | 81 |
| 73 // The supported mobile device operating systems. | 82 // The supported mobile device operating systems. |
| 74 enum MobileOS { | 83 enum MobileOS { |
| 75 ANDROID = 0, | 84 ANDROID = 0, |
| 76 IOS, | 85 IOS, |
| 77 }; | 86 }; |
| 78 | 87 |
| 79 // The cloud print job types. | 88 // The cloud print job types. |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 216 std::string access_token_; | 225 std::string access_token_; |
| 217 | 226 |
| 218 // The set of snapshots currently available. | 227 // The set of snapshots currently available. |
| 219 std::set<FilePath> snapshots_; | 228 std::set<FilePath> snapshots_; |
| 220 | 229 |
| 221 // Map URLFetchers to observers for reporting OnSendComplete. | 230 // Map URLFetchers to observers for reporting OnSendComplete. |
| 222 typedef std::map<const net::URLFetcher*, base::WeakPtr<Observer> > | 231 typedef std::map<const net::URLFetcher*, base::WeakPtr<Observer> > |
| 223 RequestObserverMap; | 232 RequestObserverMap; |
| 224 RequestObserverMap request_observer_map_; | 233 RequestObserverMap request_observer_map_; |
| 225 | 234 |
| 226 // The pending OAuth access token request and a timer for retrying on failure. | 235 // The list of active URLFetcher requests owned by the service. |
| 236 ScopedVector<net::URLFetcher> url_fetchers_; | |
| 237 | |
| 238 // The pending OAuth access token request and timers for retrying on failure. | |
| 227 scoped_ptr<OAuth2AccessTokenFetcher> access_token_fetcher_; | 239 scoped_ptr<OAuth2AccessTokenFetcher> access_token_fetcher_; |
| 228 base::OneShotTimer<ChromeToMobileService> auth_retry_timer_; | 240 base::OneShotTimer<ChromeToMobileService> auth_retry_timer_; |
| 241 base::OneShotTimer<ChromeToMobileService> search_retry_timer_; | |
| 229 | 242 |
| 230 // A queue of tasks to perform after an access token is lazily initialized. | 243 // A queue of tasks to perform after an access token is lazily initialized. |
| 231 std::queue<base::Closure> task_queue_; | 244 std::queue<base::Closure> task_queue_; |
| 232 | 245 |
| 233 DISALLOW_COPY_AND_ASSIGN(ChromeToMobileService); | 246 DISALLOW_COPY_AND_ASSIGN(ChromeToMobileService); |
| 234 }; | 247 }; |
| 235 | 248 |
| 236 #endif // CHROME_BROWSER_CHROME_TO_MOBILE_SERVICE_H_ | 249 #endif // CHROME_BROWSER_CHROME_TO_MOBILE_SERVICE_H_ |
| OLD | NEW |