X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/107e67ed9e5791f210cfaf2185e75ea5b5e84792..2404965b693451fd71dcffd06eb82695e9085389:/NetworkObject.m diff --git a/NetworkObject.m b/NetworkObject.m index 5ab7c79..4473970 100755 --- a/NetworkObject.m +++ b/NetworkObject.m @@ -1,10 +1,19 @@ -// -// NetworkObject.m -// MenuTunes -// -// Created by Kent Sutherland on Tue Oct 28 2003. -// Copyright (c) 2003 __MyCompanyName__. All rights reserved. -// +/* + * 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" @@ -12,9 +21,25 @@ @implementation NetworkObject +- (id)init +{ + if ( (self = [super init]) ) { + if (![self requiresPassword]) { + _authenticated = YES; + } else { + _authenticated = NO; + } + } + return self; +} + - (ITMTRemote *)remote { - return [[MainController sharedController] currentRemote]; + if (_authenticated) { + return [[MainController sharedController] currentRemote]; + } else { + return nil; + } } - (NSString *)serverName @@ -25,4 +50,20 @@ return name; } +- (BOOL)requiresPassword +{ + return [[NSUserDefaults standardUserDefaults] boolForKey:@"enableSharingPassword"]; +} + +- (BOOL)sendPassword:(NSData *)password +{ + if ([password isEqualToData:[[NSUserDefaults standardUserDefaults] dataForKey:@"sharedPlayerPassword"]]) { + _authenticated = YES; + return YES; + } else { + _authenticated = NO; + return NO; + } +} + @end