Create application/directory for subdir, if metadata or permissions are applied.
[pithos-ios] / Classes / ServerViewController.h
1 //
2 //  ServerViewController.h
3 //  OpenStack
4 //
5 //  Created by Mike Mayo on 10/7/10.
6 //  The OpenStack project is provided under the Apache 2.0 license.
7 //
8
9 #import "OpenStackViewController.h"
10
11 // table view
12 #define kOverview -1
13 #define kDetails 0
14 #define kIPAddresses 1
15 #define kActions 2
16
17 #define kName 0
18 #define kStatus 1
19 #define kHostId 2
20
21 #define kImage 0
22 #define kMemory 1
23 #define kDisk 2
24
25 // actions
26 #define kActionsRow -1
27 #define kReboot -1
28 #define kRename 0
29 #define kResize 1
30 #define kChangePassword 2
31 #define kBackups 3
32 #define kRebuild 4
33 #define kDelete 5
34
35 @class Server, OpenStackAccount, ServersViewController, AnimatedProgressView, OpenStackRequest, AccountHomeViewController, NameAndStatusTitleView;
36
37 @interface ServerViewController : OpenStackViewController <UITableViewDelegate, UITableViewDataSource, UIActionSheetDelegate, UIAlertViewDelegate, UIScrollViewDelegate> {
38     Server *server;
39     OpenStackAccount *account;
40     IBOutlet UITableView *tableView;
41     NSString *selectedIPAddress;
42     NSIndexPath *selectedIPAddressIndexPath;
43     BOOL actionsExpanded;
44     AnimatedProgressView *progressView;
45     
46     ServersViewController *serversViewController;
47     
48     UIActionSheet *ipAddressActionSheet;
49     UIActionSheet *rebootActionSheet;
50     UIActionSheet *deleteActionSheet;
51
52     BOOL performingAction;
53     
54     id rebootSucceededObserver;
55     id rebootFailedObserver;
56
57     id getLimitsSucceededObserver;
58     
59     id changeAdminPasswordSucceededObserver;
60     id changeAdminPasswordFailedObserver;
61     
62     id resizeServerSucceededObserver;
63     id resizeServerFailedObserver;
64     
65     id deleteServerSucceededObserver;
66     id deleteServerFailedObserver;
67     
68     id getImageSucceededObserver;
69     id getImageFailedObserver;
70     
71     id updateBackupScheduleSucceededObserver;
72     id updateBackupScheduleFailedObserver;
73     
74     id confirmResizeSucceededObserver;
75     id confirmResizeFailedObserver;
76     
77     id revertResizeSucceededObserver;
78     id revertResizeFailedObserver;
79     
80     id rebuildSucceededObserver;
81     id rebuildFailedObserver;
82     
83     NSTimer *countdownTimer;
84     NSString *rebootCountdown;
85     NSString *renameCountdown;
86     NSString *resizeCountdown;
87     NSString *changePasswordCountdown;
88     NSString *backupsCountdown;
89     NSString *rebuildCountdown;
90     NSString *deleteCountdown;    
91     
92     NSIndexPath *selectedServerIndexPath;
93     
94     UIImageView *actionsArrow;
95     
96     OpenStackRequest *pollRequest;
97     BOOL polling;
98     
99     //NSString *previousStatus;
100     
101     AccountHomeViewController *accountHomeViewController;
102     
103     IBOutlet NameAndStatusTitleView *titleView;
104     IBOutlet UIView *actionView;
105     CGPoint previousScrollPoint;
106     
107     IBOutlet UIButton *rebootButton;
108     IBOutlet UIButton *pingButton;
109 }
110
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;
118
119 - (void)refreshLimitStrings;
120
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;
126
127 @end