More toying with network stuff. Hopefully fixed more problems without making even...
authorKent Sutherland <ksuther@ithinksw.com>
Thu, 11 Dec 2003 22:19:49 +0000 (22:19 +0000)
committerKent Sutherland <ksuther@ithinksw.com>
Thu, 11 Dec 2003 22:19:49 +0000 (22:19 +0000)
MainController.m
NetworkController.h
NetworkController.m
PreferencesController.m
libValidate.a

index 3c1cb6c..dafd199 100755 (executable)
@@ -290,9 +290,6 @@ static MainController *sharedController;
 {
     if ([networkController isConnectedToServer]) {
         [statusItem setMenu:[menuController menu]];
-        if ([[networkController networkObject] remote] == nil) {
-            [self networkError:nil];
-        }
     }
     
     if ( [self songChanged] && (timerUpdating != YES) ) {
@@ -502,6 +499,10 @@ static MainController *sharedController;
 
 - (ITMTRemote *)currentRemote
 {
+    if ([networkController isConnectedToServer] && ![[networkController networkObject] isValid]) {
+        [self networkError:nil];
+        return nil;
+    }
     return currentRemote;
 }
 
index 57eee2e..62f221e 100755 (executable)
@@ -39,6 +39,7 @@
 - (int)connectToHost:(NSString *)host;
 - (BOOL)checkForServerAtHost:(NSString *)host;
 - (BOOL)disconnect;
+- (void)resetServerName;
 - (BOOL)isServerOn;
 - (BOOL)isClientConnected;
 - (BOOL)isConnectedToServer;
index 6c9631c..f2989e3 100755 (executable)
@@ -111,6 +111,7 @@ static NetworkController *sharedController;
     } else if (serverOn && !status && [serverConnection isValid]) {
         //Turn off
         [service stop];
+        [service release];
         [rootObject invalidate];
         [serverConnection registerName:nil];
         [serverConnection invalidate];
@@ -240,6 +241,18 @@ static NetworkController *sharedController;
     return valid;
 }
 
+- (void)resetServerName
+{
+    if ([self isServerOn]) {
+        [service stop];
+        [service release];
+        service = [[NSNetService alloc] initWithDomain:@""
+                                        type:@"_mttp._tcp."
+                                        name:[[NSUserDefaults standardUserDefaults] stringForKey:@"sharedPlayerName"]
+                                        port:SERVER_PORT];
+    }
+}
+
 - (BOOL)isServerOn
 {
     return serverOn;
index 6f18bc0..7bc3db8 100755 (executable)
@@ -244,6 +244,7 @@ static PreferencesController *prefs = nil;
         [controller setServerStatus:state]; //Set server status
     } else if ( [sender tag] == 5015 ) {
         [df setObject:[sender stringValue] forKey:@"sharedPlayerName"];
+        [[NetworkController sharedController] resetServerName];
     } else if ( [sender tag] == 5020 ) {
         [df setBool:SENDER_STATE forKey:@"enableSharingPassword"];
     } else if ( [sender tag] == 5030 ) {
index eb23cd2..336b657 100755 (executable)
Binary files a/libValidate.a and b/libValidate.a differ