Fixed the 10.4 deprecation of -resolve. Will call resolveWithTimeout: in 10.4
[MenuTunes.git] / NetworkController.m
index ce19757..c05d1e6 100755 (executable)
@@ -141,7 +141,7 @@ static NetworkController *sharedController;
         clientPort = [[NSSocketPort alloc] initRemoteWithTCPPort:SERVER_PORT
                                            host:host];
         clientConnection = [[NSConnection connectionWithReceivePort:nil sendPort:clientPort] retain];
         clientPort = [[NSSocketPort alloc] initRemoteWithTCPPort:SERVER_PORT
                                            host:host];
         clientConnection = [[NSConnection connectionWithReceivePort:nil sendPort:clientPort] retain];
-        [clientConnection setReplyTimeout:5];
+        [clientConnection setReplyTimeout:10];
         clientProxy = [[clientConnection rootProxy] retain];
         connectedToServer = YES;
     NS_HANDLER
         clientProxy = [[clientConnection rootProxy] retain];
         connectedToServer = YES;
     NS_HANDLER
@@ -154,7 +154,7 @@ static NetworkController *sharedController;
     if (!clientProxy) {
         ITDebugLog(@"Null proxy! Couldn't connect!");
         [self disconnect];
     if (!clientProxy) {
         ITDebugLog(@"Null proxy! Couldn't connect!");
         [self disconnect];
-        return NO;
+        return 0;
     }
     
     if ([clientProxy requiresPassword]) {
     }
     
     if ([clientProxy requiresPassword]) {
@@ -202,8 +202,8 @@ static NetworkController *sharedController;
 {
     NSData *fullPass = [[NSUserDefaults standardUserDefaults] dataForKey:@"connectPassword"];
     unsigned char buffer;
 {
     NSData *fullPass = [[NSUserDefaults standardUserDefaults] dataForKey:@"connectPassword"];
     unsigned char buffer;
-    NSConnection *testConnection;
-    NSSocketPort *testPort;
+    NSConnection *testConnection = nil;
+    NSSocketPort *testPort = nil;
     NetworkObject *tempProxy;
     BOOL valid;
     ITDebugLog(@"Checking for shared remote at %@.", host);
     NetworkObject *tempProxy;
     BOOL valid;
     ITDebugLog(@"Checking for shared remote at %@.", host);
@@ -219,7 +219,8 @@ static NetworkController *sharedController;
         testPort = [[NSSocketPort alloc] initRemoteWithTCPPort:SERVER_PORT
                                          host:host];
         testConnection = [[NSConnection connectionWithReceivePort:nil sendPort:testPort] retain];
         testPort = [[NSSocketPort alloc] initRemoteWithTCPPort:SERVER_PORT
                                          host:host];
         testConnection = [[NSConnection connectionWithReceivePort:nil sendPort:testPort] retain];
-        [testConnection setReplyTimeout:2];
+        [testConnection setReplyTimeout:5];
+        [testConnection setRequestTimeout:5];
         tempProxy = (NetworkObject *)[testConnection rootProxy];
         [tempProxy serverName];
         valid = [tempProxy isValid];
         tempProxy = (NetworkObject *)[testConnection rootProxy];
         [tempProxy serverName];
         valid = [tempProxy isValid];
@@ -230,7 +231,7 @@ static NetworkController *sharedController;
         return NO;
     NS_ENDHANDLER
     
         return NO;
     NS_ENDHANDLER
     
-    if (!clientProxy) {
+    if (!tempProxy) {
         ITDebugLog(@"Null proxy! Couldn't connect!");
         [testConnection release];
         [testPort release];
         ITDebugLog(@"Null proxy! Couldn't connect!");
         [testConnection release];
         [testPort release];
@@ -288,7 +289,12 @@ static NetworkController *sharedController;
     ITDebugLog(@"Found service named %@.", [aNetService name]);
     [remoteServices addObject:aNetService];
     [aNetService setDelegate:self];
     ITDebugLog(@"Found service named %@.", [aNetService name]);
     [remoteServices addObject:aNetService];
     [aNetService setDelegate:self];
-    [aNetService resolve];
+       //Figure out if it responds to the 10.4 method
+       if ([aNetService respondsToSelector:@selector(resolveWithTimeout:)]) {
+               [aNetService resolveWithTimeout:5.0];
+       } else {
+               [aNetService resolve];
+       }
     if (!moreComing) {
         [[NSNotificationCenter defaultCenter] postNotificationName:@"ITMTFoundNetService" object:nil];
     }
     if (!moreComing) {
         [[NSNotificationCenter defaultCenter] postNotificationName:@"ITMTFoundNetService" object:nil];
     }
@@ -307,6 +313,9 @@ static NetworkController *sharedController;
 {
     ITDebugLog(@"Resolved service named %@.", [sender name]);
     [[NSNotificationCenter defaultCenter] postNotificationName:@"ITMTFoundNetService" object:nil];
 {
     ITDebugLog(@"Resolved service named %@.", [sender name]);
     [[NSNotificationCenter defaultCenter] postNotificationName:@"ITMTFoundNetService" object:nil];
+    if ([[NSUserDefaults standardUserDefaults] boolForKey:@"useSharedPlayer"] && !connectedToServer) {
+        [[MainController sharedController] checkForRemoteServerAndConnectImmediately:NO];
+    }
     [sender stop];
 }
 
     [sender stop];
 }