Index: ios/chrome/browser/ui/settings/reauthentication_module.h |
diff --git a/ios/chrome/browser/ui/settings/reauthentication_module.h b/ios/chrome/browser/ui/settings/reauthentication_module.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..fa3c7423b18622ab26272a8e89de4cda422feb02 |
--- /dev/null |
+++ b/ios/chrome/browser/ui/settings/reauthentication_module.h |
@@ -0,0 +1,39 @@ |
+// 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 IOS_CHROME_BROWSER_UI_SETTINGS_REAUTHENTICATION_MODULE_H_ |
+#define IOS_CHROME_BROWSER_UI_SETTINGS_REAUTHENTICATION_MODULE_H_ |
+ |
+#import <Foundation/Foundation.h> |
+ |
+#import "ios/chrome/browser/ui/settings/reauthentication_protocol.h" |
+ |
+@protocol SuccessfulReauthTimeAccessor<NSObject> |
+ |
+// Method meant to be called by the |ReauthenticationModule| to update |
+// the time of the last successful re-authentication. |
+- (void)updateSuccessfulReauthTime; |
+ |
+// Returns the time of the last successful re-authentication. |
+- (NSDate*)lastSuccessfulReauthTime; |
+ |
+@end |
+ |
+/** |
+ * This is used by |PasswordsDetailsCollectionViewController| to re-authenticate |
+ * the user before displaying the password in plain text, or allowing it to be |
+ * copied. |
+ */ |
+@interface ReauthenticationModule : NSObject<ReauthenticationProtocol> |
+ |
+// The designated initializer. |successfulReauthTimeAccessor| must not be nil. |
+- (instancetype)initWithSuccessfulReauthTimeAccessor: |
+ (id<SuccessfulReauthTimeAccessor>)successfulReauthTimeAccessor |
+ NS_DESIGNATED_INITIALIZER; |
+ |
+- (instancetype)init NS_UNAVAILABLE; |
+ |
+@end |
+ |
+#endif // IOS_CHROME_BROWSER_UI_SETTINGS_REAUTHENTICATION_MODULE_H_ |