-
Notifications
You must be signed in to change notification settings - Fork 1
/
PlaylistNode.m
85 lines (69 loc) · 1.23 KB
/
PlaylistNode.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#import "PlaylistNode.h"
@implementation PlaylistNode
+ (PlaylistNode *)playlistNodeWithName:(NSString *)n type:(ITMTNodeType)t index:(int)i
{
return [[[PlaylistNode alloc] initWithName:n type:t index:i] autorelease];
}
- (id)initWithName:(NSString *)n type:(ITMTNodeType)t index:(int)i
{
if ( (self = [super init]) ) {
_name = [n retain];
_type = t;
_index = i;
_children = nil;
_parent = nil;
}
return self;
}
- (void)dealloc
{
[_name release];
[_children release];
[_parent release];
[super dealloc];
}
- (NSString *)description
{
return [NSString stringWithFormat:@"{%@, index: %i, type: %i, parent: %@, children: %@}", _name, _index, _type, [_parent name], _children];
}
- (NSString *)name
{
return _name;
}
- (NSMutableArray *)children
{
if (!_children) {
_children = [[NSMutableArray alloc] init];
}
return _children;
}
- (int)index
{
return _index;
}
- (void)setType:(ITMTNodeType)t
{
_type = t;
}
- (ITMTNodeType)type
{
return _type;
}
- (PlaylistNode *)parent
{
return _parent;
}
- (void)setParent:(PlaylistNode *)p
{
[_parent release];
_parent = [p retain];
}
- (ITMTRemotePlayerSource)sourceType
{
return _sourceType;
}
- (void)setSourceType:(ITMTRemotePlayerSource)t
{
_sourceType = t;
}
@end