Fix compile errors
[pithos-ios] / Classes / EditPolicyViewController.m
index 045fd12..7ca282f 100644 (file)
@@ -40,6 +40,7 @@
 #import "AccountManager.h"
 #import "ContainerDetailViewController.h"
 #import "ContainersViewController.h"
+#import "APICallback.h"
 
 #define kVersioning 0
 #define kQuota 1
@@ -55,6 +56,7 @@
     [account release];
     [container release];
     [oldVersioning release];
+    [activityIndicatorView release];
     [super dealloc];
 }
 
         cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
     }
     
+
     if (indexPath.section == kVersioning) {
         cell.selectionStyle = UITableViewCellSelectionStyleNone;
         if (indexPath.row == 0) {
         if (textField == nil) {
             CGRect bounds = [cell.contentView bounds];
             CGRect rect = CGRectInset(bounds, 10.0, 10.0);                        
-            textField = [[UITextField alloc] initWithFrame:rect];
+            textField = [[[UITextField alloc] initWithFrame:rect] autorelease];
             [textField setFrame:rect];
         }
         [textField setClearButtonMode:UITextFieldViewModeWhileEditing];
         cell.selectionStyle = UITableViewCellSelectionStyleNone;
         textField.text = [NSString stringWithFormat:@"%u", self.container.quota];
         [cell.contentView addSubview:textField];
-        
         cell.accessoryType = UITableViewCellAccessoryNone;
     } 
     else if (indexPath.section == kSavePolicy) {
 
 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
 {
+    
     if (indexPath.section != kQuota)
         [self.view endEditing:YES];
 
             container.versioning = @"none";
         
         NSString *activityMessage = @"Applying policy...";
+        [activityIndicatorView release];
         activityIndicatorView = [[ActivityIndicatorView alloc] initWithFrame:[ActivityIndicatorView frameForText:activityMessage] text:activityMessage];
         [activityIndicatorView addToView:self.view];
 
-        [self.account.manager writeContainerPolicy:container];
-        
-        successObserver = [[NSNotificationCenter defaultCenter] addObserverForName:@"writeContainerPolicySucceeded"
-                                                                            object:container
-                                                                             queue:[NSOperationQueue mainQueue]
-                                                                        usingBlock:^(NSNotification *notification)
-                           {
-                               [self.tableView reloadData];
-                               if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
-                                   [self.containerDetailViewController.containersViewController refreshButtonPressed:nil];
-                               [activityIndicatorView removeFromSuperviewAndRelease];
-                               [self.tableView deselectRowAtIndexPath:indexPath animated:YES];
-                               [[NSNotificationCenter defaultCenter] removeObserver:successObserver];
-                           }];
-        failureObserver = [[NSNotificationCenter defaultCenter] addObserverForName:@"writeContainerPolicyFailed" 
-                                                                            object:container 
-                                                                             queue:[NSOperationQueue mainQueue] 
-                                                                        usingBlock:^(NSNotification *notification)
-                           {
-                               container.versioning = self.oldVersioning;
-                               container.quota = self.oldQuota;
-                               [self configVersioningVariables];
-                               [self.tableView reloadData];
-                               
-                               [activityIndicatorView removeFromSuperviewAndRelease];
-                               [self.tableView deselectRowAtIndexPath:indexPath animated:YES];
-                               [self.tableView reloadData];
-                               [self alert:@"There was a problem applying the policy." request:[notification.userInfo objectForKey:@"request"]];
-                               [[NSNotificationCenter defaultCenter] removeObserver:failureObserver];
-                           }];
+        [[self.account.manager writeContainerPolicy:container] 
+         success:^(OpenStackRequest *request) {
+             [self.tableView reloadData];
+             if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
+                 [self.containerDetailViewController.containersViewController refreshButtonPressed:nil];
+             [activityIndicatorView removeFromSuperview];
+             [self.tableView deselectRowAtIndexPath:indexPath animated:YES];
+         }
+         failure:^(OpenStackRequest *request) {
+             container.versioning = self.oldVersioning;
+             container.quota = self.oldQuota;
+             [self configVersioningVariables];
+             [self.tableView reloadData];
+             
+             [activityIndicatorView removeFromSuperview];
+             [self.tableView deselectRowAtIndexPath:indexPath animated:YES];
+             [self.tableView reloadData];
+             [self alert:@"There was a problem applying the policy." request:request];
+         }];        
     }
 }
 
 #pragma mark - Textfield delegate
 
-- (void)textFieldDidEndEditing:(UITextField *)textField {
+- (void)textFieldDidEndEditing:(UITextField *)textField
+{
     self.oldQuota = container.quota;
     
     NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
     [numberFormatter setAllowsFloats:NO];
     if (![numberFormatter numberFromString:textField.text]) {
         [self alert:@"Invalid quota value" message:@"Only integers are accepted as valid quota values"];
-        [numberFormatter release];
         textField.text = [NSString stringWithFormat:@"%d", self.oldQuota];
         [self.tableView reloadData];
-    }    
+    } 
+    [numberFormatter release];
 }
 
-- (BOOL)textFieldShouldReturn:(UITextField *)textField {
+
+- (BOOL)textFieldShouldReturn:(UITextField *)textField
+{
     [textField resignFirstResponder];
     return YES;
 }
 
+
 @end