Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion SmartDeviceLink/SDLLifecycleConfiguration.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,11 @@ typedef NS_OPTIONS(NSUInteger, SDLLogOutput) {
SDLLogOutputSiphon = 1 << 2
};

typedef NS_ENUM(NSInteger, SDLTransportType) {
SDLTransportTypeTCP = 0,
SDLTransportTypeIAP = 1 << 0
};


NS_ASSUME_NONNULL_BEGIN

Expand All @@ -40,10 +45,11 @@ NS_ASSUME_NONNULL_BEGIN
*
* @param appName The name of the app.
* @param appId The appId to be used. This should be registered with the radio's manufacturer.
* @param transportType The transport type.
*
* @return The lifecycle configuration
*/
+ (SDLLifecycleConfiguration *)defaultConfigurationWithAppName:(NSString *)appName appId:(NSString *)appId;
+ (SDLLifecycleConfiguration *)defaultConfigurationWithAppName:(NSString *)appName appId:(NSString *)appId transportType:(SDLTransportType)transportType;

/**
* A debug configuration that runs using TCP. Additional functionality should be customized on the properties.
Expand Down Expand Up @@ -137,6 +143,11 @@ NS_ASSUME_NONNULL_BEGIN
*/
@property (assign, nonatomic) SDLLogOutput logFlags;

/**
* The transport type.
*/
@property (assign, nonatomic) SDLTransportType transportType;

@end

NS_ASSUME_NONNULL_END
11 changes: 6 additions & 5 deletions SmartDeviceLink/SDLLifecycleConfiguration.m
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ @implementation SDLLifecycleConfiguration

#pragma mark Lifecycle

- (instancetype)initDefaultConfigurationWithAppName:(NSString *)appName appId:(NSString *)appId {
- (instancetype)initDefaultConfigurationWithAppName:(NSString *)appName appId:(NSString *)appId transportType:(SDLTransportType)transportType {
self = [super init];
if (!self) {
return nil;
Expand All @@ -52,16 +52,17 @@ - (instancetype)initDefaultConfigurationWithAppName:(NSString *)appName appId:(N
_ttsName = nil;
_voiceRecognitionCommandNames = nil;
_logFlags = SDLLogOutputNone;
_transportType = transportType;

return self;
}

+ (SDLLifecycleConfiguration *)defaultConfigurationWithAppName:(NSString *)appName appId:(NSString *)appId {
return [[self alloc] initDefaultConfigurationWithAppName:appName appId:appId];
+ (SDLLifecycleConfiguration *)defaultConfigurationWithAppName:(NSString *)appName appId:(NSString *)appId transportType:(SDLTransportType)transportType {
return [[self alloc] initDefaultConfigurationWithAppName:appName appId:appId transportType:SDLTransportTypeTCP];
}

+ (SDLLifecycleConfiguration *)debugConfigurationWithAppName:(NSString *)appName appId:(NSString *)appId ipAddress:(NSString *)ipAddress port:(UInt16)port {
SDLLifecycleConfiguration *config = [[self alloc] initDefaultConfigurationWithAppName:appName appId:appId];
SDLLifecycleConfiguration *config = [[self alloc] initDefaultConfigurationWithAppName:appName appId:appId transportType:SDLTransportTypeTCP];
config.tcpDebugMode = YES;
config.tcpDebugIPAddress = ipAddress;
config.tcpDebugPort = port;
Expand Down Expand Up @@ -101,7 +102,7 @@ - (void)setAppType:(nullable SDLAppHMIType *)appType {
#pragma mark NSCopying

- (id)copyWithZone:(nullable NSZone *)zone {
SDLLifecycleConfiguration *newConfig = [[self.class allocWithZone:zone] initDefaultConfigurationWithAppName:_appName appId:_appId];
SDLLifecycleConfiguration *newConfig = [[self.class allocWithZone:zone] initDefaultConfigurationWithAppName:_appName appId:_appId transportType:_transportType];
newConfig->_tcpDebugMode = _tcpDebugMode;
newConfig->_tcpDebugIPAddress = _tcpDebugIPAddress;
newConfig->_tcpDebugPort = _tcpDebugPort;
Expand Down
10 changes: 5 additions & 5 deletions SmartDeviceLink/SDLLifecycleManager.m
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ @implementation SDLLifecycleManager
#pragma mark Lifecycle

- (instancetype)init {
return [self initWithConfiguration:[SDLConfiguration configurationWithLifecycle:[SDLLifecycleConfiguration defaultConfigurationWithAppName:@"SDL APP" appId:@"001"] lockScreen:[SDLLockScreenConfiguration disabledConfiguration]] delegate:nil];
return [self initWithConfiguration:[SDLConfiguration configurationWithLifecycle:[SDLLifecycleConfiguration defaultConfigurationWithAppName:@"SDL APP" appId:@"001" transportType:SDLTransportTypeTCP] lockScreen:[SDLLockScreenConfiguration disabledConfiguration]] delegate:nil];
}

- (instancetype)initWithConfiguration:(SDLConfiguration *)configuration delegate:(nullable id<SDLManagerDelegate>)delegate {
Expand Down Expand Up @@ -157,10 +157,10 @@ - (void)didEnterStateStarted {
// Start up the internal proxy object
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
if (self.configuration.lifecycleConfig.tcpDebugMode) {
self.proxy = [SDLProxyFactory buildSDLProxyWithListener:self.notificationDispatcher tcpIPAddress:self.configuration.lifecycleConfig.tcpDebugIPAddress tcpPort:[@(self.configuration.lifecycleConfig.tcpDebugPort) stringValue]];
} else {
self.proxy = [SDLProxyFactory buildSDLProxyWithListener:self.notificationDispatcher];
if (self.configuration.lifecycleConfig.transportType == SDLTransportTypeTCP) {
self.proxy = [SDLProxyFactory buildSDLProxyWithTCPListener:self.notificationDispatcher tcpIPAddress:self.configuration.lifecycleConfig.tcpDebugIPAddress tcpPort:[@(self.configuration.lifecycleConfig.tcpDebugPort) stringValue]];
} else if (self.configuration.lifecycleConfig.transportType == SDLTransportTypeIAP) {
self.proxy = [SDLProxyFactory buildSDLProxyWithiAPListener:self.notificationDispatcher];
}
#pragma clang diagnostic pop
}
Expand Down
2 changes: 1 addition & 1 deletion SmartDeviceLink/SDLManager.m
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ @implementation SDLManager
#pragma mark Lifecycle

- (instancetype)init {
return [self initWithConfiguration:[SDLConfiguration configurationWithLifecycle:[SDLLifecycleConfiguration defaultConfigurationWithAppName:@"SDL APP" appId:@"001"] lockScreen:[SDLLockScreenConfiguration enabledConfiguration]] delegate:nil];
return [self initWithConfiguration:[SDLConfiguration configurationWithLifecycle:[SDLLifecycleConfiguration defaultConfigurationWithAppName:@"SDL APP" appId:@"001"transportType:SDLTransportTypeTCP] lockScreen:[SDLLockScreenConfiguration enabledConfiguration]] delegate:nil];
}

- (instancetype)initWithConfiguration:(SDLConfiguration *)configuration delegate:(nullable id<SDLManagerDelegate>)delegate {
Expand Down
8 changes: 4 additions & 4 deletions SmartDeviceLink/SDLProxyFactory.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ __deprecated_msg("Use SDLManager instead")
@interface SDLProxyFactory : NSObject {
}

+ (SDLProxy *)buildSDLProxyWithListener:(NSObject<SDLProxyListener> *)listener;
+ (SDLProxy *)buildSDLProxyWithiAPListener:(NSObject<SDLProxyListener> *)listener;

+ (SDLProxy *)buildSDLProxyWithListener:(NSObject<SDLProxyListener> *)listener
tcpIPAddress:(NSString *)ipaddress
tcpPort:(NSString *)port;
+ (SDLProxy *)buildSDLProxyWithTCPListener:(NSObject<SDLProxyListener> *)listener
tcpIPAddress:(NSString *)ipaddress
tcpPort:(NSString *)port;
@end
18 changes: 9 additions & 9 deletions SmartDeviceLink/SDLProxyFactory.m
Original file line number Diff line number Diff line change
Expand Up @@ -12,26 +12,26 @@

@implementation SDLProxyFactory

+ (SDLProxy *)buildSDLProxyWithListener:(NSObject<SDLProxyListener> *)delegate {
+ (SDLProxy *)buildSDLProxyWithiAPListener:(NSObject<SDLProxyListener> *)delegate {
SDLIAPTransport *transport = [[SDLIAPTransport alloc] init];
SDLProtocol *protocol = [[SDLProtocol alloc] init];
SDLProxy *ret = [[SDLProxy alloc] initWithTransport:transport protocol:protocol delegate:delegate];

return ret;
}

+ (SDLProxy *)buildSDLProxyWithListener:(NSObject<SDLProxyListener> *)delegate
tcpIPAddress:(NSString *)ipaddress
tcpPort:(NSString *)port {
+ (SDLProxy *)buildSDLProxyWithTCPListener:(NSObject<SDLProxyListener> *)delegate
tcpIPAddress:(NSString *)ipaddress
tcpPort:(NSString *)port {
SDLTCPTransport *transport = [[SDLTCPTransport alloc] init];
transport.hostName = ipaddress;
transport.portNumber = port;

SDLProtocol *protocol = [[SDLProtocol alloc] init];

SDLProxy *ret = [[SDLProxy alloc] initWithTransport:transport protocol:protocol delegate:delegate];

return ret;
}

@end
@end
2 changes: 1 addition & 1 deletion SmartDeviceLink_Example/Classes/ProxyManager.m
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ - (instancetype)init {

- (void)startIAP {
[self sdlex_updateProxyState:ProxyStateSearchingForConnection];
SDLLifecycleConfiguration *lifecycleConfig = [self.class setLifecycleConfigurationPropertiesOnConfiguration:[SDLLifecycleConfiguration defaultConfigurationWithAppName:SDLAppName appId:SDLAppId]];
SDLLifecycleConfiguration *lifecycleConfig = [self.class setLifecycleConfigurationPropertiesOnConfiguration:[SDLLifecycleConfiguration defaultConfigurationWithAppName:SDLAppName appId:SDLAppId transportType:SDLTransportTypeIAP]];

// Assume this is production and disable logging
lifecycleConfig.logFlags = SDLLogOutputNone;
Expand Down