serverConnection = [[NSConnection alloc] initWithReceivePort:serverPort
sendPort:serverPort];
clientProxy = [[NetworkObject alloc] init];
- [serverConnection setRootObject:[clientProxy autorelease]];
+ [serverConnection setRootObject:clientProxy];
[serverConnection registerName:@"ITMTPlayerHost"];
NS_HANDLER
- [[serverConnection rootObject] release];
+ [clientProxy release];
[serverConnection setRootObject:nil];
[serverConnection release];
[serverPort release];
} else if (serverOn && !status && [serverConnection isValid]) {
//Turn off
[service stop];
+ [clientProxy invalidate];
[serverConnection registerName:nil];
+ [serverConnection setRootObject:nil];
[serverConnection release];
- [clientProxy release];
ITDebugLog(@"Stopped server.");
serverOn = NO;
}
NSConnection *testConnection;
NSSocketPort *testPort;
NetworkObject *tempProxy;
+ BOOL valid;
ITDebugLog(@"Checking for shared remote at %@.", host);
if (fullPass) {
[fullPass getBytes:&buffer range:NSMakeRange(6, 4)];
[testConnection setReplyTimeout:2];
tempProxy = (NetworkObject *)[testConnection rootProxy];
[tempProxy serverName];
+ valid = [tempProxy isValid];
NS_HANDLER
ITDebugLog(@"Connection to host failed: %@", host);
[testConnection release];
}
[testConnection release];
[testPort release];
- return YES;
+ return valid;
}
- (BOOL)isServerOn