Index: remoting/test/refresh_token_storage.h |
diff --git a/remoting/test/refresh_token_storage.h b/remoting/test/refresh_token_storage.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c25fa6f38608c3b091a155c50388e00e5daad624 |
--- /dev/null |
+++ b/remoting/test/refresh_token_storage.h |
@@ -0,0 +1,52 @@ |
+// Copyright 2015 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 REMOTING_TEST_REFRESH_TOKEN_STORAGE_H_ |
+#define REMOTING_TEST_REFRESH_TOKEN_STORAGE_H_ |
+ |
+#include <string> |
+ |
+namespace remoting { |
+namespace test { |
+ |
+// This interface is used to allow classes which use this functionality to |
+// remove the file system dependency for testing. |
Wez
2015/02/13 03:01:55
See elsewhere re comment style. Sounds like this i
joedow
2015/02/14 02:31:29
Done.
|
+class RefreshTokenStorageInterface { |
Wez
2015/02/13 03:01:55
It's traditional in Chromium to call this e.g. Ref
joedow
2015/02/14 02:31:29
Done.
Wez
2015/02/19 22:00:22
Doesn't look like this actually got done. ;)
|
+ public: |
+ RefreshTokenStorageInterface() {} |
+ virtual ~RefreshTokenStorageInterface() {} |
+ |
+ virtual std::string ReadRefreshTokenFromDisk( |
+ const std::string& user_name) = 0; |
+ virtual bool WriteRefreshTokenToDisk( |
+ const std::string& user_name, |
+ const std::string& refresh_token) = 0; |
+}; |
+ |
+// This is the implementation of the interface above, it provides functionality |
+// to write a refresh token to a local folder on disk and read it back during |
+// subsequent tool runs. |
+class RefreshTokenStorage : public RefreshTokenStorageInterface { |
Wez
2015/02/13 03:01:55
I'd suggest moving this concrete implementation in
joedow
2015/02/14 02:31:29
Done.
|
+ public: |
+ RefreshTokenStorage() {} |
+ ~RefreshTokenStorage() override {} |
+ |
+ // Reads the refresh token from a file in a user unique directory if it exists |
+ // and returns the refresh token value if successful or empty string if not. |
+ std::string ReadRefreshTokenFromDisk( |
+ const std::string& user_name) override; |
+ |
+ // Stores the given refresh_token in a folder on the user's local disk. It |
+ // will create the directory and file if they do not exist and set permissions |
+ // on the local file so that it is only readable by the current user. Returns |
+ // true if the token was successfully written otherwise false. |
+ bool WriteRefreshTokenToDisk( |
+ const std::string& user_name, |
+ const std::string& refresh_token) override; |
+}; |
+ |
+} // namespace test |
+} // namespace remoting |
+ |
+#endif // REMOTING_TEST_REFRESH_TOKEN_STORAGE_H_ |