From 05ed443780b3696c53e100d7eee9ae63c633e22d Mon Sep 17 00:00:00 2001 From: Kent Sutherland Date: Wed, 29 Oct 2003 06:45:00 +0000 Subject: [PATCH] More work done to networking. Bugfixes out the wazoo, but there's still like 99 left. --- English.lproj/Preferences.nib/classes.nib | 1 + English.lproj/Preferences.nib/info.nib | 4 +++- .../Preferences.nib/keyedobjects.nib | Bin 38095 -> 39331 bytes MainController.m | 20 +++++++++++++----- NetworkController.h | 2 +- NetworkController.m | 12 ++++------- PreferencesController.h | 1 + PreferencesController.m | 9 +++++++- libValidate.a | Bin 8032 -> 8032 bytes 9 files changed, 33 insertions(+), 16 deletions(-) diff --git a/English.lproj/Preferences.nib/classes.nib b/English.lproj/Preferences.nib/classes.nib index 68f916a..cebb794 100755 --- a/English.lproj/Preferences.nib/classes.nib +++ b/English.lproj/Preferences.nib/classes.nib @@ -20,6 +20,7 @@ appearanceEffectPopup = NSPopUpButton; appearanceSpeedSlider = NSSlider; artistCheckbox = NSButton; + clientPasswordTextField = NSTextField; hostTextField = NSTextField; hotKeysTableView = NSTableView; launchAtLoginCheckbox = NSButton; diff --git a/English.lproj/Preferences.nib/info.nib b/English.lproj/Preferences.nib/info.nib index d4a5e32..1c8a9f3 100755 --- a/English.lproj/Preferences.nib/info.nib +++ b/English.lproj/Preferences.nib/info.nib @@ -9,7 +9,7 @@ 634 386 421 380 180 0 0 1152 746 639 - 412 313 380 122 0 0 1152 746 + 386 450 380 122 0 0 1152 746 IBFramework Version 349.0 @@ -20,6 +20,8 @@ IBOpenObjects 6 + 699 + 624 IBSystem Version 7B85 diff --git a/English.lproj/Preferences.nib/keyedobjects.nib b/English.lproj/Preferences.nib/keyedobjects.nib index 7e4be37599dae2e933f70e6a2ac9b589b8595848..e180aca1845d1224a988e1199660e5babe783152 100755 GIT binary patch delta 10845 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 delta 9827 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 diff --git a/MainController.m b/MainController.m index aaddc7f..a9e67e9 100755 --- a/MainController.m +++ b/MainController.m @@ -945,18 +945,25 @@ static MainController *sharedController; - (BOOL)connectToServer { + int result; ITDebugLog(@"Attempting to connect to shared remote."); + result = [networkController connectToHost:[df stringForKey:@"sharedPlayerHost"]]; //Connect - if ([networkController connectToHost:[df stringForKey:@"sharedPlayerHost"]]) { + if (result == 1) { currentRemote = [[[networkController networkObject] remote] retain]; [self timerUpdate]; //[refreshTimer invalidate]; ITDebugLog(@"Connection successful."); return YES; - } else { + } else if (result == 0) { ITDebugLog(@"Connection failed."); currentRemote = [remoteArray objectAtIndex:0]; return NO; + } else if (result == -1) { + ITDebugLog(@"Connection failed."); + currentRemote = [remoteArray objectAtIndex:0]; + return NO; + //Do something about the password being invalid } } @@ -977,7 +984,9 @@ static MainController *sharedController; if ([networkController checkForServerAtHost:[df stringForKey:@"sharedPlayerHost"]]) { ITDebugLog(@"Remote server found."); [timer invalidate]; - [[StatusWindowController sharedController] showReconnectQueryWindow]; + if (![networkController isConnectedToServer]) { + [[StatusWindowController sharedController] showReconnectQueryWindow]; + } } else { ITDebugLog(@"Remote server not found."); } @@ -986,9 +995,10 @@ static MainController *sharedController; - (void)networkError:(NSException *)exception { ITDebugLog(@"Remote exception thrown: %@: %@", [exception name], [exception reason]); - if ([[exception name] isEqualToString:NSPortTimeoutException]) { + NSLog(@"%@", [exception reason]); + if ([[exception name] isEqualToString:NSPortTimeoutException] && [networkController isConnectedToServer]) { NSRunCriticalAlertPanel(@"Remote MenuTunes Disconnected", @"The MenuTunes server you were connected to stopped responding or quit. MenuTunes will revert back to the local player.", @"OK", nil, nil); - if ([networkController isConnectedToServer] && [self disconnectFromServer]) { + if ([self disconnectFromServer]) { [NSTimer scheduledTimerWithTimeInterval:45 target:self selector:@selector(checkForRemoteServer:) userInfo:nil repeats:YES]; } else { ITDebugLog(@"CRITICAL ERROR, DISCONNECTING!"); diff --git a/NetworkController.h b/NetworkController.h index ae40030..662e519 100755 --- a/NetworkController.h +++ b/NetworkController.h @@ -36,7 +36,7 @@ - (void)stopRemoteServerSearch; - (void)setServerStatus:(BOOL)status; -- (BOOL)connectToHost:(NSString *)host; +- (int)connectToHost:(NSString *)host; - (BOOL)checkForServerAtHost:(NSString *)host; - (BOOL)disconnect; - (BOOL)isServerOn; diff --git a/NetworkController.m b/NetworkController.m index 230e136..65962ba 100755 --- a/NetworkController.m +++ b/NetworkController.m @@ -112,7 +112,7 @@ static NetworkController *sharedController; } } -- (BOOL)connectToHost:(NSString *)host +- (int)connectToHost:(NSString *)host { NSData *fullPass = [[NSUserDefaults standardUserDefaults] dataForKey:@"connectPassword"]; unsigned char buffer; @@ -150,18 +150,14 @@ static NetworkController *sharedController; if (![clientProxy sendPassword:[[NSUserDefaults standardUserDefaults] dataForKey:@"connectPassword"]]) { ITDebugLog(@"Invalid password!"); [self disconnect]; - if ( NSRunCriticalAlertPanel(@"Invalid Password", @"The MenuTunes server you attempted to connect to rejected your password. Would you like to try to reconnect?.", @"Yes", @"No", nil) == NSOKButton ) { - return [self connectToHost:host]; - } else { - return NO; - } + return -1; } } ITDebugLog(@"Connected to host: %@", host); [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(disconnect) name:NSConnectionDidDieNotification object:clientConnection]; - connectedToServer = YES; - return YES; + connectedToServer = 1; + return 1; } - (BOOL)disconnect diff --git a/PreferencesController.h b/PreferencesController.h index 394934a..9ac7365 100755 --- a/PreferencesController.h +++ b/PreferencesController.h @@ -23,6 +23,7 @@ IBOutlet NSPopUpButton *appearanceEffectPopup; IBOutlet NSSlider *appearanceSpeedSlider; IBOutlet NSButton *artistCheckbox; + IBOutlet NSTextField *clientPasswordTextField; IBOutlet NSTextField *hostTextField; IBOutlet NSTableView *hotKeysTableView; IBOutlet NSButton *launchAtLoginCheckbox; diff --git a/PreferencesController.m b/PreferencesController.m index 96c19e8..f6c6d7b 100755 --- a/PreferencesController.m +++ b/PreferencesController.m @@ -220,9 +220,14 @@ static PreferencesController *prefs = nil; [selectSharedPlayerButton setEnabled:state]; if (state) { + [selectedPlayerTextField setStringValue:[[[NetworkController sharedController] networkObject] serverName]]; + [locationTextField setStringValue:[[NetworkController sharedController] remoteHost]]; [controller connectToServer]; } else { + [selectedPlayerTextField setStringValue:@"No shared player selected."]; + [locationTextField setStringValue:@"-"]; [controller disconnectFromServer]; + } } else if ( [sender tag] == 5050 ) { //Do nothing on table view click @@ -266,11 +271,13 @@ static PreferencesController *prefs = nil; [NSApp endSheet:selectPlayerSheet]; [selectPlayerSheet orderOut:nil]; + [self changeSharingSetting:clientPasswordTextField]; + if ([selectPlayerBox contentView] == manualView) { [df setObject:[hostTextField stringValue] forKey:@"sharedPlayerHost"]; } else { if ([sharingTableView selectedRow] > -1) { - [df setObject:[NSString stringWithCString:inet_ntoa((*(struct sockaddr_in*)[[[[NetworkController sharedController] remoteServices] objectAtIndex:[sharingTableView selectedRow]] bytes]).sin_addr)] forKey:@"sharedPlayerHost"]; + [df setObject:[NSString stringWithCString:inet_ntoa((*(struct sockaddr_in*)[[[[[[NetworkController sharedController] remoteServices] objectAtIndex:[sharingTableView selectedRow]] addresses] objectAtIndex:0] bytes]).sin_addr)] forKey:@"sharedPlayerHost"]; } } diff --git a/libValidate.a b/libValidate.a index 4a42a336fe1483cf528e15245308917641b8559c..61c6a97317f9575a607f321d4a580f248c9c3ba3 100755 GIT binary patch delta 17 YcmaE0_rPv~44a98rG<&bMkPCW06A0zU;qFB delta 17 YcmaE0_rPv~44bi~frW{|MkPCW068lKR{#J2 -- 2.20.1