Licensing MenuTunes under the GNU General Public License version 2.
[MenuTunes.git] / NetworkObject.m
1 #import "NetworkObject.h"
2 #import "MainController.h"
3 #import <ITMTRemote/ITMTRemote.h>
4
5 @implementation NetworkObject
6
7 - (id)init
8 {
9     if ( (self = [super init]) ) {
10         _valid = YES;
11         if (![self requiresPassword]) {
12             _authenticated = YES;
13         } else {
14             _authenticated = NO;
15         }
16     }
17     return self;
18 }
19
20 - (ITMTRemote *)remote
21 {
22     if (_authenticated && _valid) {
23         return [[MainController sharedController] currentRemote];
24     } else {
25         return nil;
26     }
27 }
28
29 - (NSString *)serverName
30 {
31     NSString *name = [[NSUserDefaults standardUserDefaults] stringForKey:@"sharedPlayerName"];
32     if (!name)
33         name = @"MenuTunes Shared Player";
34     return name;
35 }
36
37 - (BOOL)requiresPassword
38 {
39     return ([[[NSUserDefaults standardUserDefaults] dataForKey:@"sharedPlayerPassword"] length] > 0);
40 }
41
42 - (BOOL)sendPassword:(NSData *)password
43 {
44     if ([password isEqualToData:[[NSUserDefaults standardUserDefaults] dataForKey:@"sharedPlayerPassword"]]) {
45         _authenticated = YES;
46         return YES;
47     } else {
48         _authenticated = NO;
49         return NO;
50     }
51 }
52
53 - (void)invalidate
54 {
55     _valid = NO;
56 }
57
58 - (void)makeValid
59 {
60     _valid = YES;
61 }
62
63 - (BOOL)isValid
64 {
65     return _valid;
66 }
67
68 @end