blob: 25f6389120e98008d94e950e4d97d95483dff826 (
plain)
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
86
87
88
89
90
91
92
93
94
|
//
// SDLSystemCapability.m
// SmartDeviceLink-iOS
//
// Created by Joel Fischer on 7/10/17.
// Copyright © 2017 smartdevicelink. All rights reserved.
//
#import "SDLSystemCapability.h"
#import "NSMutableDictionary+Store.h"
#import "SDLNames.h"
#import "SDLNavigationCapability.h"
#import "SDLPhoneCapability.h"
#import "SDLSystemCapabilityType.h"
#import "SDLVideoStreamingCapability.h"
NS_ASSUME_NONNULL_BEGIN
@implementation SDLSystemCapability
- (instancetype)initWithPhoneCapability:(SDLPhoneCapability *)capability {
self = [self init];
if (!self) {
return nil;
}
self.systemCapabilityType = SDLSystemCapabilityTypePhoneCall;
self.phoneCapability = capability;
return self;
}
- (instancetype)initWithNavigationCapability:(SDLNavigationCapability *)capability {
self = [self init];
if (!self) {
return nil;
}
self.systemCapabilityType = SDLSystemCapabilityTypeNavigation;
self.navigationCapability = capability;
return self;
}
- (instancetype)initWithVideoStreamingCapability:(SDLVideoStreamingCapability *)capability {
self = [self init];
if (!self) {
return nil;
}
self.systemCapabilityType = SDLSystemCapabilityTypeVideoStreaming;
self.videoStreamingCapability = capability;
return self;
}
- (void)setSystemCapabilityType:(SDLSystemCapabilityType)type {
[store sdl_setObject:type forName:SDLNameSystemCapabilityType];
}
- (SDLSystemCapabilityType)systemCapabilityType {
return [store sdl_objectForName:SDLNameSystemCapabilityType];
}
// TODO: Nav / Phone Capability
- (void)setNavigationCapability:(nullable SDLNavigationCapability *)navigationCapability {
[store sdl_setObject:navigationCapability forName:SDLNameNavigationCapability];
}
- (nullable SDLNavigationCapability *)navigationCapability {
return [store sdl_objectForName:SDLNameNavigationCapability ofClass:SDLNavigationCapability.class];
}
- (void)setPhoneCapability:(nullable SDLPhoneCapability *)phoneCapability {
[store sdl_setObject:phoneCapability forName:SDLNamePhoneCapability];
}
- (nullable SDLPhoneCapability *)phoneCapability {
return [store sdl_objectForName:SDLNamePhoneCapability ofClass:SDLPhoneCapability.class];
}
- (void)setVideoStreamingCapability:(nullable SDLVideoStreamingCapability *)videoStreamingCapability {
[store sdl_setObject:videoStreamingCapability forName:SDLNameVideoStreamingCapability];
}
- (nullable SDLVideoStreamingCapability *)videoStreamingCapability {
return [store sdl_objectForName:SDLNameVideoStreamingCapability ofClass:SDLVideoStreamingCapability.class];
}
@end
NS_ASSUME_NONNULL_END
|