summaryrefslogtreecommitdiff
path: root/SmartDeviceLink/public/SDLSystemInfo.h
blob: 0a14f7fb829532f9c9944c48d44095c6c6f0613f (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
//
//  SDLSystemInfo.h
//  SmartDeviceLink
//
//  Created by Joel Fischer on 2/23/21.
//  Copyright © 2021 smartdevicelink. All rights reserved.
//

#import <Foundation/Foundation.h>

@class SDLVehicleType;

NS_ASSUME_NONNULL_BEGIN

@interface SDLSystemInfo : NSObject

/// The connected module's vehicle type: it's make, model, trim, and model year
@property (strong, nonatomic, readonly, nullable) SDLVehicleType *vehicleType;

/// The connected module's software version
@property (strong, nonatomic, readonly, nullable) NSString *systemSoftwareVersion;

/// The connected module's hardware version
@property (strong, nonatomic, readonly, nullable) NSString *systemHardwareVersion;

/// Initialize a system info object with individual pieces
/// @param make The vehicle's make
/// @param model The vehicle's model
/// @param trim The vehicle's trim
/// @param modelYear The vehicle's model year
/// @param softwareVersion The vehicle's software version
/// @param hardwareVersion The vehicle's hardware version
- (instancetype)initWithMake:(nullable NSString *)make model:(nullable NSString *)model trim:(nullable NSString *)trim modelYear:(nullable NSString *)modelYear softwareVersion:(nullable NSString *)softwareVersion hardwareVersion:(nullable NSString *)hardwareVersion;

/// Initialize a system info object with the vehicle type and versions
/// @param vehicleType The vehicle information
/// @param softwareVersion The vehicle's software version
/// @param hardwareVersion The vehicle's hardware version
- (instancetype)initWithVehicleType:(nullable SDLVehicleType *)vehicleType softwareVersion:(nullable NSString *)softwareVersion hardwareVersion:(nullable NSString *)hardwareVersion;

@end

NS_ASSUME_NONNULL_END