Did some tinkering, nothing really useful done though. Removed a useless
[MenuTunes.git] / NetworkController.m
index 1e7a230..49b8321 100755 (executable)
@@ -69,20 +69,24 @@ static NetworkController *sharedController;
 {
     if (!serverOn && status) {
         NSString *name = [[NSUserDefaults standardUserDefaults] stringForKey:@"sharedPlayerName"];
+        NSPort *serverPort;
         unsigned char buffer;
         NSData *fullPass;
         //Turn on
         NS_DURING
-            serverPort = [[NSSocketPort alloc] initWithTCPPort:SERVER_PORT];
+            serverPort = [[[NSSocketPort alloc] initWithTCPPort:SERVER_PORT] autorelease];
             serverConnection = [[NSConnection alloc] initWithReceivePort:serverPort
                                                      sendPort:serverPort];
-            [serverConnection setRootObject:[[NetworkObject alloc] init]];
+            clientProxy = [[NetworkObject alloc] init];
+            [serverConnection setRootObject:[clientProxy autorelease]];
             [serverConnection registerName:@"ITMTPlayerHost"];
         NS_HANDLER
             [[serverConnection rootObject] release];
+            [serverConnection setRootObject:nil];
             [serverConnection release];
             [serverPort release];
             ITDebugLog(@"Error starting server!");
+            return;
         NS_ENDHANDLER
         ITDebugLog(@"Started server.");
         if (!name) {
@@ -102,12 +106,13 @@ static NetworkController *sharedController;
         }
         [service publish];
         serverOn = YES;
+        ITDebugLog(@"Server service published.");
     } else if (serverOn && !status && [serverConnection isValid]) {
         //Turn off
         [service stop];
         [serverConnection registerName:nil];
-        [[serverConnection rootObject] release];
         [serverConnection release];
+        [clientProxy release];
         ITDebugLog(@"Stopped server.");
         serverOn = NO;
     }
@@ -133,11 +138,12 @@ static NetworkController *sharedController;
         clientConnection = [[NSConnection connectionWithReceivePort:nil sendPort:clientPort] retain];
         [clientConnection setReplyTimeout:5];
         clientProxy = [[clientConnection rootProxy] retain];
+        connectedToServer = YES;
     NS_HANDLER
         [clientConnection release];
         [clientPort release];
         ITDebugLog(@"Connection to host failed: %@", host);
-        return NO;
+        return 0;
     NS_ENDHANDLER
     
     if (!clientProxy) {
@@ -172,7 +178,6 @@ static NetworkController *sharedController;
     
     ITDebugLog(@"Connected to host: %@", host);
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(disconnect) name:NSConnectionDidDieNotification object:clientConnection];
-    connectedToServer = YES;
     return 1;
 }
 
@@ -282,7 +287,6 @@ static NetworkController *sharedController;
 - (void)netServiceDidResolveAddress:(NSNetService *)sender
 {
     ITDebugLog(@"Resolved service named %@.", [sender name]);
-    NSLog(@"Resolved service named %@.", [sender name]);
     [[NSNotificationCenter defaultCenter] postNotificationName:@"ITMTFoundNetService" object:nil];
     [sender stop];
 }