Index: chrome/browser/chromeos/drive/drive_readonly_token_fetcher.h |
diff --git a/chrome/browser/chromeos/drive/drive_readonly_token_fetcher.h b/chrome/browser/chromeos/drive/drive_readonly_token_fetcher.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..f58905792b2ba1bb9d35b1135a95b42ea3f88b6f |
--- /dev/null |
+++ b/chrome/browser/chromeos/drive/drive_readonly_token_fetcher.h |
@@ -0,0 +1,45 @@ |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CHROME_BROWSER_CHROMEOS_DRIVE_DRIVE_READONLY_TOKEN_FETCHER_H_ |
+#define CHROME_BROWSER_CHROMEOS_DRIVE_DRIVE_READONLY_TOKEN_FETCHER_H_ |
+ |
+#include <queue> |
+ |
+#include "base/basictypes.h" |
+#include "base/callback.h" |
+#include "base/threading/thread_checker.h" |
+#include "base/time/time.h" |
+#include "google_apis/drive/auth_service_interface.h" |
+#include "google_apis/gaia/oauth2_token_service.h" |
+ |
+namespace drive { |
+ |
+// OAuthTokenFetcher caches OAuth access tokens and refreshes them as needed. |
+class DriveReadonlyTokenFetcher : public OAuth2TokenService::Consumer { |
kinaba
2014/07/09 06:02:47
This class looks almost functionally identical to
|
+ public: |
+ DriveReadonlyTokenFetcher( |
+ const std::string& account_id, |
+ OAuth2TokenService* oauth2_token_service, |
+ const google_apis::AuthStatusCallback& callback); |
+ virtual ~DriveReadonlyTokenFetcher(); |
+ |
+ private: |
+ // Overridden from OAuth2TokenService::Consumer: |
+ virtual void OnGetTokenSuccess(const OAuth2TokenService::Request* request, |
+ const std::string& access_token, |
+ const base::Time& expiration_time) OVERRIDE; |
+ virtual void OnGetTokenFailure(const OAuth2TokenService::Request* request, |
+ const GoogleServiceAuthError& error) OVERRIDE; |
+ |
+ google_apis::AuthStatusCallback callback_; |
+ scoped_ptr<OAuth2TokenService::Request> request_; |
+ base::ThreadChecker thread_checker_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(DriveReadonlyTokenFetcher); |
+}; |
+ |
+} // namespace drive |
+ |
+#endif // CHROME_BROWSER_CHROMEOS_DRIVE_DRIVE_READONLY_TOKEN_FETCHER_H_ |