2 // PasscodeViewController.h
5 // Created by Mike Mayo on 10/26/10.
6 // The OpenStack project is provided under the Apache 2.0 license.
9 #import <UIKit/UIKit.h>
11 #define kModeEnterPasscode 0
12 #define kModeSetPasscode 1
13 #define kModeDisablePasscode 2
14 #define kModeChangePasscode 3
16 @class PasscodeLockViewController, SettingsViewController, RootViewController;
18 // this class asks for the passcode and allows you to set it
20 @interface PasscodeViewController : UIViewController <UITextFieldDelegate, UITableViewDelegate, UITableViewDataSource> {
22 PasscodeLockViewController *passcodeLockViewController;
23 SettingsViewController *settingsViewController;
24 RootViewController *rootViewController;
26 UILabel *passcodeConfirmationWarningLabel;
27 UIView *failedAttemptsView;
28 UILabel *failedAttemptsLabel;
29 NSInteger failedAttemptsCount;
31 // to be like Apple's passcode lock style, we're going to use three table views
32 // and slide them around as needed
33 NSUInteger tableIndex;
34 NSMutableArray *tableViews;
35 NSMutableArray *textFields;
36 NSMutableArray *squares;
38 IBOutlet UITableView *enterPasscodeTableView;
39 UITextField *enterPasscodeTextField;
40 NSArray *enterPasscodeSquareImageViews;
42 IBOutlet UITableView *setPasscodeTableView;
43 UITextField *setPasscodeTextField;
44 NSArray *setPasscodeSquareImageViews;
46 IBOutlet UITableView *confirmPasscodeTableView;
47 UITextField *confirmPasscodeTextField;
48 NSArray *confirmPasscodeSquareImageViews;
50 // there are two modes: entering a password and setting a password
53 BOOL simplePasscodeOn;
60 @property (nonatomic, assign) NSUInteger mode;
61 @property (nonatomic, retain) PasscodeLockViewController *passcodeLockViewController;
62 @property (nonatomic, retain) SettingsViewController *settingsViewController;
63 @property (nonatomic, retain) RootViewController *rootViewController;