2 // ServerViewController.h
5 // Created by Mike Mayo on 10/7/10.
6 // The OpenStack project is provided under the Apache 2.0 license.
9 #import "OpenStackViewController.h"
14 #define kIPAddresses 1
26 #define kActionsRow -1
30 #define kChangePassword 2
35 @class Server, OpenStackAccount, ServersViewController, AnimatedProgressView, OpenStackRequest, AccountHomeViewController, NameAndStatusTitleView;
37 @interface ServerViewController : OpenStackViewController <UITableViewDelegate, UITableViewDataSource, UIActionSheetDelegate, UIAlertViewDelegate, UIScrollViewDelegate> {
39 OpenStackAccount *account;
40 IBOutlet UITableView *tableView;
41 NSString *selectedIPAddress;
42 NSIndexPath *selectedIPAddressIndexPath;
44 AnimatedProgressView *progressView;
46 ServersViewController *serversViewController;
48 UIActionSheet *ipAddressActionSheet;
49 UIActionSheet *rebootActionSheet;
50 UIActionSheet *deleteActionSheet;
52 BOOL performingAction;
54 id rebootSucceededObserver;
55 id rebootFailedObserver;
57 id getLimitsSucceededObserver;
59 id changeAdminPasswordSucceededObserver;
60 id changeAdminPasswordFailedObserver;
62 id resizeServerSucceededObserver;
63 id resizeServerFailedObserver;
65 id deleteServerSucceededObserver;
66 id deleteServerFailedObserver;
68 id getImageSucceededObserver;
69 id getImageFailedObserver;
71 id updateBackupScheduleSucceededObserver;
72 id updateBackupScheduleFailedObserver;
74 id confirmResizeSucceededObserver;
75 id confirmResizeFailedObserver;
77 id revertResizeSucceededObserver;
78 id revertResizeFailedObserver;
80 id rebuildSucceededObserver;
81 id rebuildFailedObserver;
83 NSTimer *countdownTimer;
84 NSString *rebootCountdown;
85 NSString *renameCountdown;
86 NSString *resizeCountdown;
87 NSString *changePasswordCountdown;
88 NSString *backupsCountdown;
89 NSString *rebuildCountdown;
90 NSString *deleteCountdown;
92 NSIndexPath *selectedServerIndexPath;
94 UIImageView *actionsArrow;
96 OpenStackRequest *pollRequest;
99 //NSString *previousStatus;
101 AccountHomeViewController *accountHomeViewController;
103 IBOutlet NameAndStatusTitleView *titleView;
104 IBOutlet UIView *actionView;
105 CGPoint previousScrollPoint;
107 IBOutlet UIButton *rebootButton;
108 IBOutlet UIButton *pingButton;
111 @property (nonatomic, retain) Server *server;
112 @property (nonatomic, retain) OpenStackAccount *account;
113 @property (nonatomic, retain) IBOutlet UITableView *tableView;
114 @property (nonatomic, retain) NSIndexPath *selectedIPAddressIndexPath;
115 @property (nonatomic, retain) ServersViewController *serversViewController;
116 @property (nonatomic, retain) NSIndexPath *selectedServerIndexPath;
117 @property (nonatomic, retain) AccountHomeViewController *accountHomeViewController;
119 - (void)refreshLimitStrings;
121 - (void)changeAdminPassword:(NSString *)password;
122 - (void)renameServer:(NSString *)name;
123 - (IBAction)rebootButtonPressed:(id)sender;
124 - (IBAction)snapshotButtonPressed:(id)sender;
125 - (IBAction)pingIPButtonPressed:(id)sender;