summaryrefslogtreecommitdiff
path: root/SmartDeviceLink/SDLSyncMsgVersion.m
blob: 780edb2feb936791440c0e687cac080ba7ae31aa (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
//  SDLSyncMsgVersion.m
//


#import "SDLSyncMsgVersion.h"

#import "NSMutableDictionary+Store.h"
#import "SDLNames.h"

NS_ASSUME_NONNULL_BEGIN

@implementation SDLSyncMsgVersion

- (instancetype)initWithMajorVersion:(NSInteger)majorVersion minorVersion:(NSInteger)minorVersion {
    self = [self init];
    if (!self) {
        return nil;
    }

    self.majorVersion = @(majorVersion);
    self.minorVersion = @(minorVersion);
    self.patchVersion = @(0);

    return self;
}

- (instancetype)initWithMajorVersion:(NSInteger)majorVersion minorVersion:(NSInteger)minorVersion patchVersion:(NSInteger)patchVersion {
    self = [self init];
    if (!self) {
        return nil;
    }

    self.majorVersion = @(majorVersion);
    self.minorVersion = @(minorVersion);
    self.patchVersion = @(patchVersion);

    return self;
}

- (void)setMajorVersion:(NSNumber<SDLInt> *)majorVersion {
    [store sdl_setObject:majorVersion forName:SDLNameMajorVersion];
}

- (NSNumber<SDLInt> *)majorVersion {
    return [store sdl_objectForName:SDLNameMajorVersion];
}

- (void)setMinorVersion:(NSNumber<SDLInt> *)minorVersion {
    [store sdl_setObject:minorVersion forName:SDLNameMinorVersion];
}

- (NSNumber<SDLInt> *)minorVersion {
    return [store sdl_objectForName:SDLNameMinorVersion];
}

- (void)setPatchVersion:(nullable NSNumber<SDLInt> *)patchVersion {
    [store sdl_setObject:patchVersion forName:SDLNamePatchVersion];
}

- (nullable NSNumber<SDLInt> *)patchVersion {
    return [store sdl_objectForName:SDLNamePatchVersion];
}

- (NSString *)description {
    return [NSString stringWithFormat:@"%@.%@.%@", self.majorVersion, self.minorVersion, self.patchVersion];
}
@end

NS_ASSUME_NONNULL_END