X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/6e637324a7d146b5675fec00c819259d7ac9c244..4ceec63fa54ca0281b26107bcfc78617c9854d4c:/NetworkObject.m diff --git a/NetworkObject.m b/NetworkObject.m index da316e1..7c5a018 100755 --- a/NetworkObject.m +++ b/NetworkObject.m @@ -1,29 +1,29 @@ -/* - * MenuTunes - * NetworkObject - * Remote network object that is vended - * - * Original Author : Kent Sutherland - * Responsibility : Kent Sutherland - * - * Copyright (c) 2002 - 2003 iThink Software. - * All Rights Reserved - * - * This header defines the Objective-C protocol which all MenuTunes Remote - * plugins must implement. To build a remote, create a subclass of this - * object, and implement each method in the @protocol below. - * - */ - #import "NetworkObject.h" #import "MainController.h" #import @implementation NetworkObject +- (id)init +{ + if ( (self = [super init]) ) { + _valid = YES; + if (![self requiresPassword]) { + _authenticated = YES; + } else { + _authenticated = NO; + } + } + return self; +} + - (ITMTRemote *)remote { - return [[MainController sharedController] currentRemote]; + if (_authenticated && _valid) { + return [[MainController sharedController] currentRemote]; + } else { + return nil; + } } - (NSString *)serverName @@ -36,16 +36,33 @@ - (BOOL)requiresPassword { - return [[NSUserDefaults standardUserDefaults] boolForKey:@"enableSharingPassword"]; + return ([[[NSUserDefaults standardUserDefaults] dataForKey:@"sharedPlayerPassword"] length] > 0); } - (BOOL)sendPassword:(NSData *)password { if ([password isEqualToData:[[NSUserDefaults standardUserDefaults] dataForKey:@"sharedPlayerPassword"]]) { + _authenticated = YES; return YES; } else { + _authenticated = NO; return NO; } } +- (void)invalidate +{ + _valid = NO; +} + +- (void)makeValid +{ + _valid = YES; +} + +- (BOOL)isValid +{ + return _valid; +} + @end