Convert to Objective-C ARC
[pithos-macos] / pithos-macos / PithosAccountNode.m
index 10fa3a4..dc670be 100644 (file)
@@ -52,7 +52,7 @@ static NSImage *sharedIcon = nil;
 
 + (void)initialize {
        if (self == [PithosAccountNode class])
-        sharedIcon = [[[NSWorkspace sharedWorkspace] iconForFileType:NSFileTypeForHFSTypeCode(kUserIcon)] retain];
+        sharedIcon = [[NSWorkspace sharedWorkspace] iconForFileType:NSFileTypeForHFSTypeCode(kUserIcon)];
 }
 
 #pragma mark -
@@ -60,22 +60,15 @@ static NSImage *sharedIcon = nil;
 
 - (id)initWithPithos:(ASIPithos *)aPithos {
     if ((self = [super init])) {
-        pithos = [aPithos retain];
+        pithos = aPithos;
     }
     return self;
 }
 
 - (void)dealloc {
     [accountRequest clearDelegatesAndCancel];
-    [accountRequest release];
     [refreshMetadataAccountRequest clearDelegatesAndCancel];
-    [refreshMetadataAccountRequest release];
     [applyMetadataAccountRequest clearDelegatesAndCancel];
-    [applyMetadataAccountRequest release];
-    [containers release];
-    [pithosAccount release];
-    [pithos release];
-    [super dealloc];
 }
 
 #pragma mark -
@@ -83,18 +76,13 @@ static NSImage *sharedIcon = nil;
 
 - (void)setPithos:(ASIPithos *)aPithos {
     if (aPithos && ![aPithos isEqualTo:pithos]) {
-        [pithos release];
-        pithos = [aPithos retain];
-        [url release];
+        pithos = aPithos;
         url = nil;
         [accountRequest clearDelegatesAndCancel];
-        [accountRequest release];
         accountRequest = nil;
         [refreshMetadataAccountRequest clearDelegatesAndCancel];
-        [refreshMetadataAccountRequest release];
         refreshMetadataAccountRequest = nil;
         [applyMetadataAccountRequest clearDelegatesAndCancel];
-        [applyMetadataAccountRequest release];
         applyMetadataAccountRequest = nil;
         reset = YES;
     }
@@ -112,17 +100,12 @@ static NSImage *sharedIcon = nil;
     @synchronized(self) {
         if (reset) {
             [accountRequest clearDelegatesAndCancel];
-            [accountRequest release];
             accountRequest = nil;
             [refreshMetadataAccountRequest clearDelegatesAndCancel];
-            [refreshMetadataAccountRequest release];
             refreshMetadataAccountRequest = nil;
             [applyMetadataAccountRequest clearDelegatesAndCancel];
-            [applyMetadataAccountRequest release];
             applyMetadataAccountRequest = nil;
-            [children release];
             children = nil;
-            [newChildren release];
             newChildren = nil;
             self.pithosAccount = nil;
             freshness = PithosNodeStateRefreshNeeded;
@@ -135,11 +118,11 @@ static NSImage *sharedIcon = nil;
                 break;
             case PithosNodeStateRefreshNeeded:
                 freshness = PithosNodeStateRefreshing;
-                accountRequest = [[ASIPithosAccountRequest listContainersRequestWithPithos:pithos 
+                accountRequest = [ASIPithosAccountRequest listContainersRequestWithPithos:pithos 
                                                                                      limit:0 
                                                                                     marker:nil 
                                                                                     shared:shared 
-                                                                                     until:nil] retain];
+                                                                                     until:nil];
                 if (sharingAccount)
                     [accountRequest setRequestUserFromDefaultTo:sharingAccount withPithos:pithos];
                 else if (!forcedRefresh)
@@ -159,7 +142,6 @@ static NSImage *sharedIcon = nil;
                 break;
             case PithosNodeStateRefreshFinished:
                 if (newChildren) {
-                    [children release];
                     children = newChildren;
                     newChildren = nil;
                 }
@@ -174,12 +156,12 @@ static NSImage *sharedIcon = nil;
 - (NSString *)displayName {
     if (displayName == nil)
         return [NSString stringWithString:(sharingAccount ? sharingAccount : @"account")];
-    return [[displayName copy] autorelease];
+    return [displayName copy];
 }
 
 - (NSImage *)icon {
     if (icon == nil)
-        icon = [sharedIcon retain];
+        icon = sharedIcon;
     return icon;
 }
 
@@ -202,15 +184,11 @@ static NSImage *sharedIcon = nil;
         if (retries > 0) {
             ASIPithosAccountRequest *newAccountRequest = (ASIPithosAccountRequest *)[PithosUtilities copyRequest:accountRequest];
             [(NSMutableDictionary *)(newAccountRequest.userInfo)setObject:[NSNumber numberWithUnsignedInteger:(--retries)] forKey:@"retries"];
-            [accountRequest release];
             accountRequest = newAccountRequest;
             [[PithosUtilities prepareRequest:accountRequest priority:[[accountRequest.userInfo objectForKey:@"priority"] integerValue]] startAsynchronous];
         } else {
-            [newChildren release];
             newChildren = nil;
-            [accountRequest release];
             accountRequest = nil;
-            [containers release];
             containers = nil;
             forcedRefresh = NO;
             @synchronized(self) {
@@ -240,7 +218,7 @@ static NSImage *sharedIcon = nil;
                     newChildren = [[NSMutableArray alloc] init];
                     NSMutableIndexSet *keptNodes = [NSMutableIndexSet indexSet];
                     for (ASIPithosContainer *container in containers) {
-                        PithosContainerNode *node = [[[PithosContainerNode alloc] initWithPithos:pithos pithosContainer:container] autorelease];
+                        PithosContainerNode *node = [[PithosContainerNode alloc] initWithPithos:pithos pithosContainer:container];
                         node.parent = self;
                         node.shared = shared;
                         node.sharingAccount = sharingAccount;
@@ -265,9 +243,7 @@ static NSImage *sharedIcon = nil;
                     }]] makeObjectsPerformSelector:@selector(pithosNodeWillBeRemoved)];
                 }
                 // Else cache was used and all results were fetched during this request, so existing children can be reused
-                [accountRequest release];
                 accountRequest = nil;
-                [containers release];
                 containers = nil;
                 forcedRefresh = NO;
                 @synchronized(self) {
@@ -275,13 +251,12 @@ static NSImage *sharedIcon = nil;
                 }
                 [self postChildrenUpdatedNotificationName];
             } else {
-                [accountRequest release];
                 // Do an additional request to fetch more objects
-                accountRequest = [[ASIPithosAccountRequest listContainersRequestWithPithos:pithos 
+                accountRequest = [ASIPithosAccountRequest listContainersRequestWithPithos:pithos 
                                                                                      limit:0 
                                                                                     marker:[[someContainers lastObject] name] 
                                                                                     shared:shared 
-                                                                                     until:nil] retain];
+                                                                                     until:nil];
                 if (sharingAccount)
                     [accountRequest setRequestUserFromDefaultTo:sharingAccount withPithos:pithos];
                 else if (!forcedRefresh)
@@ -299,9 +274,7 @@ static NSImage *sharedIcon = nil;
             }
         } else if (accountRequest.responseStatusCode == 304) {
             // Account is not modified, so existing children can be reused
-            [accountRequest release];
             accountRequest = nil;
-            [containers release];
             containers = nil;
             forcedRefresh = NO;
             @synchronized(self) {
@@ -321,14 +294,12 @@ static NSImage *sharedIcon = nil;
         
         if ([request isEqualTo:applyMetadataAccountRequest]) {
             @synchronized(self) {
-                [applyMetadataAccountRequest release];
                 applyMetadataAccountRequest = nil;
             }
             [self refreshInfo];
         } else if ([request isEqualTo:refreshMetadataAccountRequest]) {
             self.pithosAccount = [refreshMetadataAccountRequest account];
             @synchronized(self) {
-                [refreshMetadataAccountRequest release];
                 refreshMetadataAccountRequest = nil;
             }
         }
@@ -343,28 +314,23 @@ static NSImage *sharedIcon = nil;
             [(NSMutableDictionary *)(newRequest.userInfo)setObject:[NSNumber numberWithUnsignedInteger:(--retries)] forKey:@"retries"];
             if ([request isEqualTo:applyMetadataAccountRequest]) {
                 @synchronized(self) {
-                    [applyMetadataAccountRequest release];
                     applyMetadataAccountRequest = newRequest;
                 }
             } else if ([request isEqualTo:refreshMetadataAccountRequest]) {
                 @synchronized(self) {
-                    [refreshMetadataAccountRequest release];
                     refreshMetadataAccountRequest = newRequest;
                 }
             }
             [[PithosUtilities prepareRequest:newRequest priority:[[newRequest.userInfo objectForKey:@"priority"] integerValue]] startAsynchronous];
-            [newRequest release];
         } else {
             if ([request isEqualTo:applyMetadataAccountRequest]) {
                 [PithosUtilities httpRequestErrorAlertWithRequest:applyMetadataAccountRequest];
                 @synchronized(self) {
-                    [applyMetadataAccountRequest release];
                     applyMetadataAccountRequest = nil;
                 }
             } else if ([request isEqualTo:refreshMetadataAccountRequest]) {
                 [PithosUtilities httpRequestErrorAlertWithRequest:refreshMetadataAccountRequest];
                 @synchronized(self) {
-                    [refreshMetadataAccountRequest release];
                     refreshMetadataAccountRequest = nil;
                 }
             }
@@ -381,10 +347,10 @@ static NSImage *sharedIcon = nil;
             NSMutableDictionary *groups = pithosAccount.groups;
             if ([groups count] == 0)
                 groups = [NSMutableDictionary dictionaryWithObject:@"" forKey:@"group"];
-            applyMetadataAccountRequest = [[ASIPithosAccountRequest updateAccountMetadataRequestWithPithos:pithos 
+            applyMetadataAccountRequest = [ASIPithosAccountRequest updateAccountMetadataRequestWithPithos:pithos 
                                                                                                     groups:groups 
                                                                                                   metadata:pithosAccount.metadata 
-                                                                                                    update:NO] retain];
+                                                                                                    update:NO];
             applyMetadataAccountRequest.delegate = self;
             applyMetadataAccountRequest.didFinishSelector = @selector(performRequestFinishedDelegateInBackground:);
             applyMetadataAccountRequest.didFailSelector = @selector(performRequestFailedDelegateInBackground:);
@@ -402,7 +368,7 @@ static NSImage *sharedIcon = nil;
 - (void)refreshInfo {
     @synchronized(self) {
         if (refreshMetadataAccountRequest == nil) {
-            refreshMetadataAccountRequest = [[ASIPithosAccountRequest accountMetadataRequestWithPithos:pithos] retain];
+            refreshMetadataAccountRequest = [ASIPithosAccountRequest accountMetadataRequestWithPithos:pithos];
             refreshMetadataAccountRequest.delegate = self;
             refreshMetadataAccountRequest.didFinishSelector = @selector(performRequestFinishedDelegateInBackground:);
             refreshMetadataAccountRequest.didFailSelector = @selector(performRequestFailedDelegateInBackground:);