diff options
Diffstat (limited to 'SmartDeviceLink-iOS/SmartDeviceLink')
495 files changed, 27537 insertions, 0 deletions
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/ISDLProxy.h b/SmartDeviceLink-iOS/SmartDeviceLink/ISDLProxy.h new file mode 100644 index 000000000..3d6ced5f9 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/ISDLProxy.h @@ -0,0 +1,21 @@ +// ISDLProxy.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLProtocol.h" +#import "SDLProxyListener" +#import "SDLRPCMessage" +#import "SDLTransport" + +@protocol ISDLProxy + +-(id) initWithTransport:(NSObject<SDLTransport>*) transport protocol:(NSObject<SDLProtocol>*) protocol delegate:(NSObject<SDLProxyListener>*) delegate; + +-(void) dispose; +-(void) addDelegate:(NSObject<SDLProxyListener>*) delegate; + +-(void) sendRPCRequest:(SDLRPCMessage*) msg; +-(void) handleRpcMessage:(NSDictionary*) msg; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/Info.plist b/SmartDeviceLink-iOS/SmartDeviceLink/Info.plist new file mode 100644 index 000000000..e79788ec7 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/Info.plist @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleDevelopmentRegion</key> + <string>en</string> + <key>CFBundleExecutable</key> + <string>$(EXECUTABLE_NAME)</string> + <key>CFBundleIdentifier</key> + <string>com.smartdevicelink.smartdevicelink</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundleName</key> + <string>$(PRODUCT_NAME)</string> + <key>CFBundlePackageType</key> + <string>FMWK</string> + <key>CFBundleShortVersionString</key> + <string>3.1.0</string> + <key>CFBundleSignature</key> + <string>????</string> + <key>CFBundleVersion</key> + <string>$(CURRENT_PROJECT_VERSION)</string> + <key>NSPrincipalClass</key> + <string></string> +</dict> +</plist> diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractProtocol.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractProtocol.h new file mode 100644 index 000000000..4eb8af48a --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractProtocol.h @@ -0,0 +1,17 @@ +// SDLAbstractProtocol.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLInterfaceProtocol.h" +#import "SDLTransport.h" +#import "SDLProtocolListener.h" + + +@interface SDLAbstractProtocol : NSObject<SDLInterfaceProtocol> + +@property (strong) NSString *debugConsoleGroupName; +@property (strong) id<SDLTransport> transport; +@property (weak) id<SDLProtocolListener> protocolDelegate; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractProtocol.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractProtocol.m new file mode 100644 index 000000000..b0daa2142 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractProtocol.m @@ -0,0 +1,45 @@ +// SDLAbstractProtocol.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLAbstractProtocol.h" + +@implementation SDLAbstractProtocol +- (id)init { + if (self = [super init]) { + _debugConsoleGroupName = @"default"; + } + return self; +} + +- (void)sendStartSessionWithType:(SDLServiceType)serviceType { + [self doesNotRecognizeSelector:_cmd]; +} + +- (void)sendEndSessionWithType:(SDLServiceType)serviceType sessionID:(Byte)sessionID { + [self doesNotRecognizeSelector:_cmd]; +} + +- (void)sendRPCRequest:(SDLRPCRequest *)rpcRequest { + [self doesNotRecognizeSelector:_cmd]; +} + +- (void)handleBytesFromTransport:(NSData *)receivedData { + [self doesNotRecognizeSelector:_cmd]; +} + + +#pragma - SDLTransportListener Implementation +- (void)onTransportConnected { + [self.protocolDelegate onProtocolOpened]; +} + +- (void)onTransportDisconnected { + [self.protocolDelegate onProtocolClosed]; +} + +- (void)onDataReceived:(NSData *)receivedData { + [self handleBytesFromTransport:receivedData]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractTransport.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractTransport.h new file mode 100644 index 000000000..260d27260 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractTransport.h @@ -0,0 +1,23 @@ +// SDLAbstractTransport.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +@import Foundation; + +#import "SDLTransport.h" +#import "SDLTransportDelegate.h" + +@interface SDLAbstractTransport : NSObject<SDLTransport> + +@property (weak) id<SDLTransportDelegate> delegate; +@property (strong) NSString *debugConsoleGroupName; +@property (strong, readonly) NSString* endpointName; +@property (strong, readonly) NSString* endpointParam; + +- (id) initWithEndpoint:(NSString*) endpoint endpointParam:(NSString*) endointParam; + +- (void)notifyTransportConnected; +- (void)notifyTransportDisconnected; +- (void)handleDataReceivedFromTransport:(NSData *)receivedData; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractTransport.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractTransport.m new file mode 100644 index 000000000..be06cb101 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractTransport.m @@ -0,0 +1,45 @@ +// SDLAbstractTransport.m +// SDLAbstractTransport.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLAbstractTransport.h" + +@implementation SDLAbstractTransport + +- (id) initWithEndpoint:(NSString*) endpoint endpointParam:(NSString*) param { + if (self = [super init]) { + _endpointName = endpoint; + _endpointParam = param; + _debugConsoleGroupName = @"default"; + } + return self; +} + +- (void)notifyTransportConnected { + [self.delegate onTransportConnected]; +} + +- (void)notifyTransportDisconnected { + [self.delegate onTransportDisconnected]; +} + +- (void)handleDataReceivedFromTransport:(NSData *)receivedData { + [self.delegate onDataReceived:receivedData]; +} + + +#pragma mark SDLTransport Implementation +- (void)connect { + [self doesNotRecognizeSelector:_cmd]; +} + +- (void)disconnect { + [self doesNotRecognizeSelector:_cmd]; +} + +- (void)sendData:(NSData *)dataToSend { + [self doesNotRecognizeSelector:_cmd]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommand.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommand.h new file mode 100644 index 000000000..aa0ab24d7 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommand.h @@ -0,0 +1,21 @@ +// SDLAddCommand.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +#import "SDLMenuParams.h" +#import "SDLImage.h" + +@interface SDLAddCommand : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* cmdID; +@property(strong) SDLMenuParams* menuParams; +@property(strong) NSMutableArray* vrCommands; +@property(strong) SDLImage* cmdIcon; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommand.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommand.m new file mode 100644 index 000000000..6282f7cc5 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommand.m @@ -0,0 +1,79 @@ +// SDLAddCommand.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLAddCommand.h" + +#import "SDLNames.h" + +@implementation SDLAddCommand + +-(id) init { + if (self = [super initWithName:NAMES_AddCommand]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setCmdID:(NSNumber*) cmdID { + if (cmdID != nil) { + [parameters setObject:cmdID forKey:NAMES_cmdID]; + } else { + [parameters removeObjectForKey:NAMES_cmdID]; + } +} + +-(NSNumber*) cmdID { + return [parameters objectForKey:NAMES_cmdID]; +} + +-(void) setMenuParams:(SDLMenuParams*) menuParams { + if (menuParams != nil) { + [parameters setObject:menuParams forKey:NAMES_menuParams]; + } else { + [parameters removeObjectForKey:NAMES_menuParams]; + } +} + +-(SDLMenuParams*) menuParams { + NSObject* obj = [parameters objectForKey:NAMES_menuParams]; + if ([obj isKindOfClass:SDLMenuParams.class]) { + return (SDLMenuParams*)obj; + } else { + return [[SDLMenuParams alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setVrCommands:(NSMutableArray*) vrCommands { + if (vrCommands != nil) { + [parameters setObject:vrCommands forKey:NAMES_vrCommands]; + } else { + [parameters removeObjectForKey:NAMES_vrCommands]; + } +} + +-(NSMutableArray*) vrCommands { + return [parameters objectForKey:NAMES_vrCommands]; +} + +-(void) setCmdIcon:(SDLImage*) cmdIcon { + if (cmdIcon != nil) { + [parameters setObject:cmdIcon forKey:NAMES_cmdIcon]; + } else { + [parameters removeObjectForKey:NAMES_cmdIcon]; + } +} + +-(SDLImage*) cmdIcon { + NSObject* obj = [parameters objectForKey:NAMES_cmdIcon]; + if ([obj isKindOfClass:SDLImage.class]) { + return (SDLImage*)obj; + } else { + return [[SDLImage alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommandResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommandResponse.h new file mode 100644 index 000000000..5d15de12b --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommandResponse.h @@ -0,0 +1,13 @@ +// SDLAddCommandResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLAddCommandResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommandResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommandResponse.m new file mode 100644 index 000000000..70f74def0 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommandResponse.m @@ -0,0 +1,21 @@ +// SDLAddCommandResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLAddCommandResponse.h" + +#import "SDLNames.h" + +@implementation SDLAddCommandResponse + +-(id) init { + if (self = [super initWithName:NAMES_AddCommand]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenu.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenu.h new file mode 100644 index 000000000..b23d27e08 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenu.h @@ -0,0 +1,17 @@ +// SDLAddSubMenu.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +@interface SDLAddSubMenu : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* menuID; +@property(strong) NSNumber* position; +@property(strong) NSString* menuName; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenu.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenu.m new file mode 100644 index 000000000..87d47a1cb --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenu.m @@ -0,0 +1,57 @@ +// SDLAddSubMenu.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLAddSubMenu.h" + +#import "SDLNames.h" + +@implementation SDLAddSubMenu + +-(id) init { + if (self = [super initWithName:NAMES_AddSubMenu]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setMenuID:(NSNumber*) menuID { + if (menuID != nil) { + [parameters setObject:menuID forKey:NAMES_menuID]; + } else { + [parameters removeObjectForKey:NAMES_menuID]; + } +} + +-(NSNumber*) menuID { + return [parameters objectForKey:NAMES_menuID]; +} + +-(void) setPosition:(NSNumber*) position { + if (position != nil) { + [parameters setObject:position forKey:NAMES_position]; + } else { + [parameters removeObjectForKey:NAMES_position]; + } +} + +-(NSNumber*) position { + return [parameters objectForKey:NAMES_position]; +} + +-(void) setMenuName:(NSString*) menuName { + if (menuName != nil) { + [parameters setObject:menuName forKey:NAMES_menuName]; + } else { + [parameters removeObjectForKey:NAMES_menuName]; + } +} + +-(NSString*) menuName { + return [parameters objectForKey:NAMES_menuName]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenuResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenuResponse.h new file mode 100644 index 000000000..c74f3ca0f --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenuResponse.h @@ -0,0 +1,13 @@ +// SDLAddSubMenuResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLAddSubMenuResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenuResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenuResponse.m new file mode 100644 index 000000000..7fb09852e --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenuResponse.m @@ -0,0 +1,21 @@ +// SDLAddSubMenuResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLAddSubMenuResponse.h" + +#import "SDLNames.h" + +@implementation SDLAddSubMenuResponse + +-(id) init { + if (self = [super initWithName:NAMES_AddSubMenu]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAirbagStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAirbagStatus.h new file mode 100644 index 000000000..d0cf2ee7b --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAirbagStatus.h @@ -0,0 +1,24 @@ +// SDLAirbagStatus.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +#import "SDLVehicleDataEventStatus.h" + +@interface SDLAirbagStatus : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLVehicleDataEventStatus* driverAirbagDeployed; +@property(strong) SDLVehicleDataEventStatus* driverSideAirbagDeployed; +@property(strong) SDLVehicleDataEventStatus* driverCurtainAirbagDeployed; +@property(strong) SDLVehicleDataEventStatus* passengerAirbagDeployed; +@property(strong) SDLVehicleDataEventStatus* passengerCurtainAirbagDeployed; +@property(strong) SDLVehicleDataEventStatus* driverKneeAirbagDeployed; +@property(strong) SDLVehicleDataEventStatus* passengerSideAirbagDeployed; +@property(strong) SDLVehicleDataEventStatus* passengerKneeAirbagDeployed; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAirbagStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAirbagStatus.m new file mode 100644 index 000000000..9a1b2f3ae --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAirbagStatus.m @@ -0,0 +1,157 @@ +// SDLAirbagStatus.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLAirbagStatus.h" + +#import "SDLNames.h" + +@implementation SDLAirbagStatus + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setDriverAirbagDeployed:(SDLVehicleDataEventStatus*) driverAirbagDeployed { + if (driverAirbagDeployed != nil) { + [store setObject:driverAirbagDeployed forKey:NAMES_driverAirbagDeployed]; + } else { + [store removeObjectForKey:NAMES_driverAirbagDeployed]; + } +} + +-(SDLVehicleDataEventStatus*) driverAirbagDeployed { + NSObject* obj = [store objectForKey:NAMES_driverAirbagDeployed]; + if ([obj isKindOfClass:SDLVehicleDataEventStatus.class]) { + return (SDLVehicleDataEventStatus*)obj; + } else { + return [SDLVehicleDataEventStatus valueOf:(NSString*)obj]; + } +} + +-(void) setDriverSideAirbagDeployed:(SDLVehicleDataEventStatus*) driverSideAirbagDeployed { + if (driverSideAirbagDeployed != nil) { + [store setObject:driverSideAirbagDeployed forKey:NAMES_driverSideAirbagDeployed]; + } else { + [store removeObjectForKey:NAMES_driverSideAirbagDeployed]; + } +} + +-(SDLVehicleDataEventStatus*) driverSideAirbagDeployed { + NSObject* obj = [store objectForKey:NAMES_driverSideAirbagDeployed]; + if ([obj isKindOfClass:SDLVehicleDataEventStatus.class]) { + return (SDLVehicleDataEventStatus*)obj; + } else { + return [SDLVehicleDataEventStatus valueOf:(NSString*)obj]; + } +} + +-(void) setDriverCurtainAirbagDeployed:(SDLVehicleDataEventStatus*) driverCurtainAirbagDeployed { + if (driverCurtainAirbagDeployed != nil) { + [store setObject:driverCurtainAirbagDeployed forKey:NAMES_driverCurtainAirbagDeployed]; + } else { + [store removeObjectForKey:NAMES_driverCurtainAirbagDeployed]; + } +} + +-(SDLVehicleDataEventStatus*) driverCurtainAirbagDeployed { + NSObject* obj = [store objectForKey:NAMES_driverCurtainAirbagDeployed]; + if ([obj isKindOfClass:SDLVehicleDataEventStatus.class]) { + return (SDLVehicleDataEventStatus*)obj; + } else { + return [SDLVehicleDataEventStatus valueOf:(NSString*)obj]; + } +} + +-(void) setPassengerAirbagDeployed:(SDLVehicleDataEventStatus*) passengerAirbagDeployed { + if (passengerAirbagDeployed != nil) { + [store setObject:passengerAirbagDeployed forKey:NAMES_passengerAirbagDeployed]; + } else { + [store removeObjectForKey:NAMES_passengerAirbagDeployed]; + } +} + +-(SDLVehicleDataEventStatus*) passengerAirbagDeployed { + NSObject* obj = [store objectForKey:NAMES_passengerAirbagDeployed]; + if ([obj isKindOfClass:SDLVehicleDataEventStatus.class]) { + return (SDLVehicleDataEventStatus*)obj; + } else { + return [SDLVehicleDataEventStatus valueOf:(NSString*)obj]; + } +} + +-(void) setPassengerCurtainAirbagDeployed:(SDLVehicleDataEventStatus*) passengerCurtainAirbagDeployed { + if (passengerCurtainAirbagDeployed != nil) { + [store setObject:passengerCurtainAirbagDeployed forKey:NAMES_passengerCurtainAirbagDeployed]; + } else { + [store removeObjectForKey:NAMES_passengerCurtainAirbagDeployed]; + } +} + +-(SDLVehicleDataEventStatus*) passengerCurtainAirbagDeployed { + NSObject* obj = [store objectForKey:NAMES_passengerCurtainAirbagDeployed]; + if ([obj isKindOfClass:SDLVehicleDataEventStatus.class]) { + return (SDLVehicleDataEventStatus*)obj; + } else { + return [SDLVehicleDataEventStatus valueOf:(NSString*)obj]; + } +} + +-(void) setDriverKneeAirbagDeployed:(SDLVehicleDataEventStatus*) driverKneeAirbagDeployed { + if (driverKneeAirbagDeployed != nil) { + [store setObject:driverKneeAirbagDeployed forKey:NAMES_driverKneeAirbagDeployed]; + } else { + [store removeObjectForKey:NAMES_driverKneeAirbagDeployed]; + } +} + +-(SDLVehicleDataEventStatus*) driverKneeAirbagDeployed { + NSObject* obj = [store objectForKey:NAMES_driverKneeAirbagDeployed]; + if ([obj isKindOfClass:SDLVehicleDataEventStatus.class]) { + return (SDLVehicleDataEventStatus*)obj; + } else { + return [SDLVehicleDataEventStatus valueOf:(NSString*)obj]; + } +} + +-(void) setPassengerSideAirbagDeployed:(SDLVehicleDataEventStatus*) passengerSideAirbagDeployed { + if (passengerSideAirbagDeployed != nil) { + [store setObject:passengerSideAirbagDeployed forKey:NAMES_passengerSideAirbagDeployed]; + } else { + [store removeObjectForKey:NAMES_passengerSideAirbagDeployed]; + } +} + +-(SDLVehicleDataEventStatus*) passengerSideAirbagDeployed { + NSObject* obj = [store objectForKey:NAMES_passengerSideAirbagDeployed]; + if ([obj isKindOfClass:SDLVehicleDataEventStatus.class]) { + return (SDLVehicleDataEventStatus*)obj; + } else { + return [SDLVehicleDataEventStatus valueOf:(NSString*)obj]; + } +} + +-(void) setPassengerKneeAirbagDeployed:(SDLVehicleDataEventStatus*) passengerKneeAirbagDeployed { + if (passengerKneeAirbagDeployed != nil) { + [store setObject:passengerKneeAirbagDeployed forKey:NAMES_passengerKneeAirbagDeployed]; + } else { + [store removeObjectForKey:NAMES_passengerKneeAirbagDeployed]; + } +} + +-(SDLVehicleDataEventStatus*) passengerKneeAirbagDeployed { + NSObject* obj = [store objectForKey:NAMES_passengerKneeAirbagDeployed]; + if ([obj isKindOfClass:SDLVehicleDataEventStatus.class]) { + return (SDLVehicleDataEventStatus*)obj; + } else { + return [SDLVehicleDataEventStatus valueOf:(NSString*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlert.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlert.h new file mode 100644 index 000000000..39c5d43f7 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlert.h @@ -0,0 +1,22 @@ +// SDLAlert.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +@interface SDLAlert : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSString* alertText1; +@property(strong) NSString* alertText2; +@property(strong) NSString* alertText3; +@property(strong) NSMutableArray* ttsChunks; +@property(strong) NSNumber* duration; +@property(strong) NSNumber* playTone; +@property(strong) NSNumber* progressIndicator; +@property(strong) NSMutableArray* softButtons; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlert.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlert.m new file mode 100644 index 000000000..a8121fb01 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlert.m @@ -0,0 +1,137 @@ +// SDLAlert.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLAlert.h" + +#import "SDLNames.h" +#import "SDLTTSChunk.h" +#import "SDLSoftButton.h" + +@implementation SDLAlert + +-(id) init { + if (self = [super initWithName:NAMES_Alert]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setAlertText1:(NSString*) alertText1 { + if (alertText1 != nil) { + [parameters setObject:alertText1 forKey:NAMES_alertText1]; + } else { + [parameters removeObjectForKey:NAMES_alertText1]; + } +} + +-(NSString*) alertText1 { + return [parameters objectForKey:NAMES_alertText1]; +} + +-(void) setAlertText2:(NSString*) alertText2 { + if (alertText2 != nil) { + [parameters setObject:alertText2 forKey:NAMES_alertText2]; + } else { + [parameters removeObjectForKey:NAMES_alertText2]; + } +} + +-(NSString*) alertText2 { + return [parameters objectForKey:NAMES_alertText2]; +} + +-(void) setAlertText3:(NSString*) alertText3 { + if (alertText3 != nil) { + [parameters setObject:alertText3 forKey:NAMES_alertText3]; + } else { + [parameters removeObjectForKey:NAMES_alertText3]; + } +} + +-(NSString*) alertText3 { + return [parameters objectForKey:NAMES_alertText3]; +} + +-(void) setTtsChunks:(NSMutableArray*) ttsChunks { + if (ttsChunks != nil) { + [parameters setObject:ttsChunks forKey:NAMES_ttsChunks]; + } else { + [parameters removeObjectForKey:NAMES_ttsChunks]; + } +} + +-(NSMutableArray*) ttsChunks { + NSMutableArray* array = [parameters objectForKey:NAMES_ttsChunks]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLTTSChunk.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSDictionary* dict in array) { + [newList addObject:[[SDLTTSChunk alloc] initWithDictionary:(NSMutableDictionary*)dict]]; + } + return newList; + } +} + +-(void) setDuration:(NSNumber*) duration { + if (duration != nil) { + [parameters setObject:duration forKey:NAMES_duration]; + } else { + [parameters removeObjectForKey:NAMES_duration]; + } +} + +-(NSNumber*) duration { + return [parameters objectForKey:NAMES_duration]; +} + +-(void) setPlayTone:(NSNumber*) playTone { + if (playTone != nil) { + [parameters setObject:playTone forKey:NAMES_playTone]; + } else { + [parameters removeObjectForKey:NAMES_playTone]; + } +} + +-(NSNumber*) playTone { + return [parameters objectForKey:NAMES_playTone]; +} + +-(void) setProgressIndicator:(NSNumber*) progressIndicator { + if (progressIndicator != nil) { + [parameters setObject:progressIndicator forKey:NAMES_progressIndicator]; + } else { + [parameters removeObjectForKey:NAMES_progressIndicator]; + } +} + +-(NSNumber*) progressIndicator { + return [parameters objectForKey:NAMES_progressIndicator]; +} + +-(void) setSoftButtons:(NSMutableArray*) softButtons { + if (softButtons != nil) { + [parameters setObject:softButtons forKey:NAMES_softButtons]; + } else { + [parameters removeObjectForKey:NAMES_softButtons]; + } +} + +-(NSMutableArray*) softButtons { + NSMutableArray* array = [parameters objectForKey:NAMES_softButtons]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLSoftButton.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSDictionary* dict in array) { + [newList addObject:[[SDLSoftButton alloc] initWithDictionary:(NSMutableDictionary*)dict]]; + } + return newList; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuver.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuver.h new file mode 100644 index 000000000..536bb2caf --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuver.h @@ -0,0 +1,16 @@ +// SDLAlertManeuver.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +@interface SDLAlertManeuver : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSMutableArray* ttsChunks; +@property(strong) NSMutableArray* softButtons; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuver.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuver.m new file mode 100644 index 000000000..c7c61ce36 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuver.m @@ -0,0 +1,65 @@ +// SDLAlertManeuver.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLAlertManeuver.h" + +#import "SDLNames.h" +#import "SDLTTSChunk.h" +#import "SDLSoftButton.h" + +@implementation SDLAlertManeuver + +-(id) init { + if (self = [super initWithName:NAMES_AlertManeuver]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setTtsChunks:(NSMutableArray*) ttsChunks { + if (ttsChunks != nil) { + [parameters setObject:ttsChunks forKey:NAMES_ttsChunks]; + } else { + [parameters removeObjectForKey:NAMES_ttsChunks]; + } +} + +-(NSMutableArray*) ttsChunks { + NSMutableArray* array = [parameters objectForKey:NAMES_ttsChunks]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLTTSChunk.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSDictionary* dict in array) { + [newList addObject:[[SDLTTSChunk alloc] initWithDictionary:(NSMutableDictionary*)dict]]; + } + return newList; + } +} + +-(void) setSoftButtons:(NSMutableArray*) softButtons { + if (softButtons != nil) { + [parameters setObject:softButtons forKey:NAMES_softButtons]; + } else { + [parameters removeObjectForKey:NAMES_softButtons]; + } +} + +-(NSMutableArray*) softButtons { + NSMutableArray* array = [parameters objectForKey:NAMES_softButtons]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLSoftButton.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSDictionary* dict in array) { + [newList addObject:[[SDLSoftButton alloc] initWithDictionary:(NSMutableDictionary*)dict]]; + } + return newList; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuverResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuverResponse.h new file mode 100644 index 000000000..9f560a396 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuverResponse.h @@ -0,0 +1,13 @@ +// SDLAlertManeuverResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLAlertManeuverResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuverResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuverResponse.m new file mode 100644 index 000000000..3c820df6d --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuverResponse.m @@ -0,0 +1,21 @@ +// SDLAlertManeuverResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLAlertManeuverResponse.h" + +#import "SDLNames.h" + +@implementation SDLAlertManeuverResponse + +-(id) init { + if (self = [super initWithName:NAMES_AlertManeuver]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertResponse.h new file mode 100644 index 000000000..d0884789e --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertResponse.h @@ -0,0 +1,15 @@ +// SDLAlertResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLAlertResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* tryAgainTime; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertResponse.m new file mode 100644 index 000000000..98f7ea30a --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertResponse.m @@ -0,0 +1,33 @@ +// SDLAlertResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLAlertResponse.h" + +#import "SDLNames.h" + +@implementation SDLAlertResponse + +-(id) init { + if (self = [super initWithName:NAMES_Alert]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setTryAgainTime:(NSNumber*) tryAgainTime { + if (tryAgainTime != nil) { + [parameters setObject:tryAgainTime forKey:NAMES_tryAgainTime]; + } else { + [parameters removeObjectForKey:NAMES_tryAgainTime]; + } +} + +-(NSNumber*) tryAgainTime { + return [parameters objectForKey:NAMES_tryAgainTime]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAmbientLightStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAmbientLightStatus.h new file mode 100644 index 000000000..85b8df73a --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAmbientLightStatus.h @@ -0,0 +1,22 @@ +// SDLAmbientLightStatus.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLAmbientLightStatus : SDLEnum {} + ++(SDLAmbientLightStatus*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLAmbientLightStatus*) NIGHT; ++(SDLAmbientLightStatus*) TWILIGHT_1; ++(SDLAmbientLightStatus*) TWILIGHT_2; ++(SDLAmbientLightStatus*) TWILIGHT_3; ++(SDLAmbientLightStatus*) TWILIGHT_4; ++(SDLAmbientLightStatus*) DAY; ++(SDLAmbientLightStatus*) UNKNOWN; ++(SDLAmbientLightStatus*) INVALID; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAmbientLightStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAmbientLightStatus.m new file mode 100644 index 000000000..886f46f64 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAmbientLightStatus.m @@ -0,0 +1,101 @@ +// SDLAmbientLightStatus.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLAmbientLightStatus.h" + +SDLAmbientLightStatus* SDLAmbientLightStatus_NIGHT = nil; +SDLAmbientLightStatus* SDLAmbientLightStatus_TWILIGHT_1 = nil; +SDLAmbientLightStatus* SDLAmbientLightStatus_TWILIGHT_2 = nil; +SDLAmbientLightStatus* SDLAmbientLightStatus_TWILIGHT_3 = nil; +SDLAmbientLightStatus* SDLAmbientLightStatus_TWILIGHT_4 = nil; +SDLAmbientLightStatus* SDLAmbientLightStatus_DAY = nil; +SDLAmbientLightStatus* SDLAmbientLightStatus_UNKNOWN = nil; +SDLAmbientLightStatus* SDLAmbientLightStatus_INVALID = nil; + +NSMutableArray* SDLAmbientLightStatus_values = nil; + +@implementation SDLAmbientLightStatus + ++(SDLAmbientLightStatus*) valueOf:(NSString*) value { + for (SDLAmbientLightStatus* item in SDLAmbientLightStatus.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLAmbientLightStatus_values == nil) { + SDLAmbientLightStatus_values = [[NSMutableArray alloc] initWithObjects: + SDLAmbientLightStatus.NIGHT, + SDLAmbientLightStatus.TWILIGHT_1, + SDLAmbientLightStatus.TWILIGHT_2, + SDLAmbientLightStatus.TWILIGHT_3, + SDLAmbientLightStatus.TWILIGHT_4, + SDLAmbientLightStatus.DAY, + SDLAmbientLightStatus.UNKNOWN, + SDLAmbientLightStatus.INVALID, + nil]; + } + return SDLAmbientLightStatus_values; +} + ++(SDLAmbientLightStatus*) NIGHT { + if (SDLAmbientLightStatus_NIGHT == nil) { + SDLAmbientLightStatus_NIGHT = [[SDLAmbientLightStatus alloc] initWithValue:@"NIGHT"]; + } + return SDLAmbientLightStatus_NIGHT; +} + ++(SDLAmbientLightStatus*) TWILIGHT_1 { + if (SDLAmbientLightStatus_TWILIGHT_1 == nil) { + SDLAmbientLightStatus_TWILIGHT_1 = [[SDLAmbientLightStatus alloc] initWithValue:@"TWILIGHT_1"]; + } + return SDLAmbientLightStatus_TWILIGHT_1; +} + ++(SDLAmbientLightStatus*) TWILIGHT_2 { + if (SDLAmbientLightStatus_TWILIGHT_2 == nil) { + SDLAmbientLightStatus_TWILIGHT_2 = [[SDLAmbientLightStatus alloc] initWithValue:@"TWILIGHT_2"]; + } + return SDLAmbientLightStatus_TWILIGHT_2; +} + ++(SDLAmbientLightStatus*) TWILIGHT_3 { + if (SDLAmbientLightStatus_TWILIGHT_3 == nil) { + SDLAmbientLightStatus_TWILIGHT_3 = [[SDLAmbientLightStatus alloc] initWithValue:@"TWILIGHT_3"]; + } + return SDLAmbientLightStatus_TWILIGHT_3; +} + ++(SDLAmbientLightStatus*) TWILIGHT_4 { + if (SDLAmbientLightStatus_TWILIGHT_4 == nil) { + SDLAmbientLightStatus_TWILIGHT_4 = [[SDLAmbientLightStatus alloc] initWithValue:@"TWILIGHT_4"]; + } + return SDLAmbientLightStatus_TWILIGHT_4; +} + ++(SDLAmbientLightStatus*) DAY { + if (SDLAmbientLightStatus_DAY == nil) { + SDLAmbientLightStatus_DAY = [[SDLAmbientLightStatus alloc] initWithValue:@"DAY"]; + } + return SDLAmbientLightStatus_DAY; +} + ++(SDLAmbientLightStatus*) UNKNOWN { + if (SDLAmbientLightStatus_UNKNOWN == nil) { + SDLAmbientLightStatus_UNKNOWN = [[SDLAmbientLightStatus alloc] initWithValue:@"UNKNOWN"]; + } + return SDLAmbientLightStatus_UNKNOWN; +} + ++(SDLAmbientLightStatus*) INVALID { + if (SDLAmbientLightStatus_INVALID == nil) { + SDLAmbientLightStatus_INVALID = [[SDLAmbientLightStatus alloc] initWithValue:@"INVALID"]; + } + return SDLAmbientLightStatus_INVALID; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAppHMIType.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAppHMIType.h new file mode 100644 index 000000000..bd75eaf2d --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAppHMIType.h @@ -0,0 +1,24 @@ +// SDLAppHMIType.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLAppHMIType : SDLEnum {} + ++(SDLAppHMIType*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLAppHMIType*) DEFAULT; ++(SDLAppHMIType*) COMMUNICATION; ++(SDLAppHMIType*) MEDIA; ++(SDLAppHMIType*) MESSAGING; ++(SDLAppHMIType*) NAVIGATION; ++(SDLAppHMIType*) INFORMATION; ++(SDLAppHMIType*) SOCIAL; ++(SDLAppHMIType*) BACKGROUND_PROCESS; ++(SDLAppHMIType*) TESTING; ++(SDLAppHMIType*) SYSTEM; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAppHMIType.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAppHMIType.m new file mode 100644 index 000000000..a8476a83f --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAppHMIType.m @@ -0,0 +1,119 @@ +// SDLAppHMIType.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLAppHMIType.h" + +SDLAppHMIType* SDLAppHMIType_DEFAULT = nil; +SDLAppHMIType* SDLAppHMIType_COMMUNICATION = nil; +SDLAppHMIType* SDLAppHMIType_MEDIA = nil; +SDLAppHMIType* SDLAppHMIType_MESSAGING = nil; +SDLAppHMIType* SDLAppHMIType_NAVIGATION = nil; +SDLAppHMIType* SDLAppHMIType_INFORMATION = nil; +SDLAppHMIType* SDLAppHMIType_SOCIAL = nil; +SDLAppHMIType* SDLAppHMIType_BACKGROUND_PROCESS = nil; +SDLAppHMIType* SDLAppHMIType_TESTING = nil; +SDLAppHMIType* SDLAppHMIType_SYSTEM = nil; + +NSMutableArray* SDLAppHMIType_values = nil; + +@implementation SDLAppHMIType + ++(SDLAppHMIType*) valueOf:(NSString*) value { + for (SDLAppHMIType* item in SDLAppHMIType.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLAppHMIType_values == nil) { + SDLAppHMIType_values = [[NSMutableArray alloc] initWithObjects: + SDLAppHMIType.DEFAULT, + SDLAppHMIType.COMMUNICATION, + SDLAppHMIType.MEDIA, + SDLAppHMIType.MESSAGING, + SDLAppHMIType.NAVIGATION, + SDLAppHMIType.INFORMATION, + SDLAppHMIType.SOCIAL, + SDLAppHMIType.BACKGROUND_PROCESS, + SDLAppHMIType.TESTING, + SDLAppHMIType.SYSTEM, + nil]; + } + return SDLAppHMIType_values; +} + ++(SDLAppHMIType*) DEFAULT { + if (SDLAppHMIType_DEFAULT == nil) { + SDLAppHMIType_DEFAULT = [[SDLAppHMIType alloc] initWithValue:@"DEFAULT"]; + } + return SDLAppHMIType_DEFAULT; +} + ++(SDLAppHMIType*) COMMUNICATION { + if (SDLAppHMIType_COMMUNICATION == nil) { + SDLAppHMIType_COMMUNICATION = [[SDLAppHMIType alloc] initWithValue:@"COMMUNICATION"]; + } + return SDLAppHMIType_COMMUNICATION; +} + ++(SDLAppHMIType*) MEDIA { + if (SDLAppHMIType_MEDIA == nil) { + SDLAppHMIType_MEDIA = [[SDLAppHMIType alloc] initWithValue:@"MEDIA"]; + } + return SDLAppHMIType_MEDIA; +} + ++(SDLAppHMIType*) MESSAGING { + if (SDLAppHMIType_MESSAGING == nil) { + SDLAppHMIType_MESSAGING = [[SDLAppHMIType alloc] initWithValue:@"MESSAGING"]; + } + return SDLAppHMIType_MESSAGING; +} + ++(SDLAppHMIType*) NAVIGATION { + if (SDLAppHMIType_NAVIGATION == nil) { + SDLAppHMIType_NAVIGATION = [[SDLAppHMIType alloc] initWithValue:@"NAVIGATION"]; + } + return SDLAppHMIType_NAVIGATION; +} + ++(SDLAppHMIType*) INFORMATION { + if (SDLAppHMIType_INFORMATION == nil) { + SDLAppHMIType_INFORMATION = [[SDLAppHMIType alloc] initWithValue:@"INFORMATION"]; + } + return SDLAppHMIType_INFORMATION; +} + ++(SDLAppHMIType*) SOCIAL { + if (SDLAppHMIType_SOCIAL == nil) { + SDLAppHMIType_SOCIAL = [[SDLAppHMIType alloc] initWithValue:@"SOCIAL"]; + } + return SDLAppHMIType_SOCIAL; +} + ++(SDLAppHMIType*) BACKGROUND_PROCESS { + if (SDLAppHMIType_BACKGROUND_PROCESS == nil) { + SDLAppHMIType_BACKGROUND_PROCESS = [[SDLAppHMIType alloc] initWithValue:@"BACKGROUND_PROCESS"]; + } + return SDLAppHMIType_BACKGROUND_PROCESS; +} + ++(SDLAppHMIType*) TESTING { + if (SDLAppHMIType_TESTING == nil) { + SDLAppHMIType_TESTING = [[SDLAppHMIType alloc] initWithValue:@"TESTING"]; + } + return SDLAppHMIType_TESTING; +} + ++(SDLAppHMIType*) SYSTEM { + if (SDLAppHMIType_SYSTEM == nil) { + SDLAppHMIType_SYSTEM = [[SDLAppHMIType alloc] initWithValue:@"SYSTEM"]; + } + return SDLAppHMIType_SYSTEM; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAppInterfaceUnregisteredReason.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAppInterfaceUnregisteredReason.h new file mode 100644 index 000000000..6322d37f4 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAppInterfaceUnregisteredReason.h @@ -0,0 +1,24 @@ +// SDLAppInterfaceUnregisteredReason.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLAppInterfaceUnregisteredReason : SDLEnum {} + ++(SDLAppInterfaceUnregisteredReason*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLAppInterfaceUnregisteredReason*) IGNITION_OFF; ++(SDLAppInterfaceUnregisteredReason*) BLUETOOTH_OFF; ++(SDLAppInterfaceUnregisteredReason*) USB_DISCONNECTED; ++(SDLAppInterfaceUnregisteredReason*) REQUEST_WHILE_IN_NONE_HMI_LEVEL; ++(SDLAppInterfaceUnregisteredReason*) TOO_MANY_REQUESTS; ++(SDLAppInterfaceUnregisteredReason*) DRIVER_DISTRACTION_VIOLATION; ++(SDLAppInterfaceUnregisteredReason*) LANGUAGE_CHANGE; ++(SDLAppInterfaceUnregisteredReason*) MASTER_RESET; ++(SDLAppInterfaceUnregisteredReason*) FACTORY_DEFAULTS; ++(SDLAppInterfaceUnregisteredReason*) APP_UNAUTHORIZED; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAppInterfaceUnregisteredReason.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAppInterfaceUnregisteredReason.m new file mode 100644 index 000000000..c13e4a9d4 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAppInterfaceUnregisteredReason.m @@ -0,0 +1,119 @@ +// SDLAppInterfaceUnregisteredReason.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLAppInterfaceUnregisteredReason.h" + +SDLAppInterfaceUnregisteredReason* SDLAppInterfaceUnregisteredReason_IGNITION_OFF = nil; +SDLAppInterfaceUnregisteredReason* SDLAppInterfaceUnregisteredReason_BLUETOOTH_OFF = nil; +SDLAppInterfaceUnregisteredReason* SDLAppInterfaceUnregisteredReason_USB_DISCONNECTED = nil; +SDLAppInterfaceUnregisteredReason* SDLAppInterfaceUnregisteredReason_REQUEST_WHILE_IN_NONE_HMI_LEVEL = nil; +SDLAppInterfaceUnregisteredReason* SDLAppInterfaceUnregisteredReason_TOO_MANY_REQUESTS = nil; +SDLAppInterfaceUnregisteredReason* SDLAppInterfaceUnregisteredReason_DRIVER_DISTRACTION_VIOLATION = nil; +SDLAppInterfaceUnregisteredReason* SDLAppInterfaceUnregisteredReason_LANGUAGE_CHANGE = nil; +SDLAppInterfaceUnregisteredReason* SDLAppInterfaceUnregisteredReason_MASTER_RESET = nil; +SDLAppInterfaceUnregisteredReason* SDLAppInterfaceUnregisteredReason_FACTORY_DEFAULTS = nil; +SDLAppInterfaceUnregisteredReason* SDLAppInterfaceUnregisteredReason_APP_UNAUTHORIZED = nil; + +NSMutableArray* SDLAppInterfaceUnregisteredReason_values = nil; + +@implementation SDLAppInterfaceUnregisteredReason + ++(SDLAppInterfaceUnregisteredReason*) valueOf:(NSString*) value { + for (SDLAppInterfaceUnregisteredReason* item in SDLAppInterfaceUnregisteredReason.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLAppInterfaceUnregisteredReason_values == nil) { + SDLAppInterfaceUnregisteredReason_values = [[NSMutableArray alloc] initWithObjects: + SDLAppInterfaceUnregisteredReason.IGNITION_OFF, + SDLAppInterfaceUnregisteredReason.BLUETOOTH_OFF, + SDLAppInterfaceUnregisteredReason.USB_DISCONNECTED, + SDLAppInterfaceUnregisteredReason.REQUEST_WHILE_IN_NONE_HMI_LEVEL, + SDLAppInterfaceUnregisteredReason.TOO_MANY_REQUESTS, + SDLAppInterfaceUnregisteredReason.DRIVER_DISTRACTION_VIOLATION, + SDLAppInterfaceUnregisteredReason.LANGUAGE_CHANGE, + SDLAppInterfaceUnregisteredReason.MASTER_RESET, + SDLAppInterfaceUnregisteredReason.FACTORY_DEFAULTS, + SDLAppInterfaceUnregisteredReason.APP_UNAUTHORIZED, + nil]; + } + return SDLAppInterfaceUnregisteredReason_values; +} + ++(SDLAppInterfaceUnregisteredReason*) IGNITION_OFF { + if (SDLAppInterfaceUnregisteredReason_IGNITION_OFF == nil) { + SDLAppInterfaceUnregisteredReason_IGNITION_OFF = [[SDLAppInterfaceUnregisteredReason alloc] initWithValue:@"IGNITION_OFF"]; + } + return SDLAppInterfaceUnregisteredReason_IGNITION_OFF; +} + ++(SDLAppInterfaceUnregisteredReason*) BLUETOOTH_OFF { + if (SDLAppInterfaceUnregisteredReason_BLUETOOTH_OFF == nil) { + SDLAppInterfaceUnregisteredReason_BLUETOOTH_OFF = [[SDLAppInterfaceUnregisteredReason alloc] initWithValue:@"BLUETOOTH_OFF"]; + } + return SDLAppInterfaceUnregisteredReason_BLUETOOTH_OFF; +} + ++(SDLAppInterfaceUnregisteredReason*) USB_DISCONNECTED { + if (SDLAppInterfaceUnregisteredReason_USB_DISCONNECTED == nil) { + SDLAppInterfaceUnregisteredReason_USB_DISCONNECTED = [[SDLAppInterfaceUnregisteredReason alloc] initWithValue:@"USB_DISCONNECTED"]; + } + return SDLAppInterfaceUnregisteredReason_USB_DISCONNECTED; +} + ++(SDLAppInterfaceUnregisteredReason*) REQUEST_WHILE_IN_NONE_HMI_LEVEL { + if (SDLAppInterfaceUnregisteredReason_REQUEST_WHILE_IN_NONE_HMI_LEVEL == nil) { + SDLAppInterfaceUnregisteredReason_REQUEST_WHILE_IN_NONE_HMI_LEVEL = [[SDLAppInterfaceUnregisteredReason alloc] initWithValue:@"REQUEST_WHILE_IN_NONE_HMI_LEVEL"]; + } + return SDLAppInterfaceUnregisteredReason_REQUEST_WHILE_IN_NONE_HMI_LEVEL; +} + ++(SDLAppInterfaceUnregisteredReason*) TOO_MANY_REQUESTS { + if (SDLAppInterfaceUnregisteredReason_TOO_MANY_REQUESTS == nil) { + SDLAppInterfaceUnregisteredReason_TOO_MANY_REQUESTS = [[SDLAppInterfaceUnregisteredReason alloc] initWithValue:@"TOO_MANY_REQUESTS"]; + } + return SDLAppInterfaceUnregisteredReason_TOO_MANY_REQUESTS; +} + ++(SDLAppInterfaceUnregisteredReason*) DRIVER_DISTRACTION_VIOLATION { + if (SDLAppInterfaceUnregisteredReason_DRIVER_DISTRACTION_VIOLATION == nil) { + SDLAppInterfaceUnregisteredReason_DRIVER_DISTRACTION_VIOLATION = [[SDLAppInterfaceUnregisteredReason alloc] initWithValue:@"DRIVER_DISTRACTION_VIOLATION"]; + } + return SDLAppInterfaceUnregisteredReason_DRIVER_DISTRACTION_VIOLATION; +} + ++(SDLAppInterfaceUnregisteredReason*) LANGUAGE_CHANGE { + if (SDLAppInterfaceUnregisteredReason_LANGUAGE_CHANGE == nil) { + SDLAppInterfaceUnregisteredReason_LANGUAGE_CHANGE = [[SDLAppInterfaceUnregisteredReason alloc] initWithValue:@"LANGUAGE_CHANGE"]; + } + return SDLAppInterfaceUnregisteredReason_LANGUAGE_CHANGE; +} + ++(SDLAppInterfaceUnregisteredReason*) MASTER_RESET { + if (SDLAppInterfaceUnregisteredReason_MASTER_RESET == nil) { + SDLAppInterfaceUnregisteredReason_MASTER_RESET = [[SDLAppInterfaceUnregisteredReason alloc] initWithValue:@"MASTER_RESET"]; + } + return SDLAppInterfaceUnregisteredReason_MASTER_RESET; +} + ++(SDLAppInterfaceUnregisteredReason*) FACTORY_DEFAULTS { + if (SDLAppInterfaceUnregisteredReason_FACTORY_DEFAULTS == nil) { + SDLAppInterfaceUnregisteredReason_FACTORY_DEFAULTS = [[SDLAppInterfaceUnregisteredReason alloc] initWithValue:@"FACTORY_DEFAULTS"]; + } + return SDLAppInterfaceUnregisteredReason_FACTORY_DEFAULTS; +} + ++(SDLAppInterfaceUnregisteredReason*) APP_UNAUTHORIZED { + if (SDLAppInterfaceUnregisteredReason_APP_UNAUTHORIZED == nil) { + SDLAppInterfaceUnregisteredReason_APP_UNAUTHORIZED = [[SDLAppInterfaceUnregisteredReason alloc] initWithValue:@"APP_UNAUTHORIZED"]; + } + return SDLAppInterfaceUnregisteredReason_APP_UNAUTHORIZED; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioPassThruCapabilities.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioPassThruCapabilities.h new file mode 100644 index 000000000..7d3ae1a76 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioPassThruCapabilities.h @@ -0,0 +1,21 @@ +// SDLAudioPassThruCapabilities.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +#import "SDLSamplingRate.h" +#import "SDLBitsPerSample.h" +#import "SDLAudioType.h" + +@interface SDLAudioPassThruCapabilities : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLSamplingRate* samplingRate; +@property(strong) SDLBitsPerSample* bitsPerSample; +@property(strong) SDLAudioType* audioType; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioPassThruCapabilities.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioPassThruCapabilities.m new file mode 100644 index 000000000..6c2de7b9f --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioPassThruCapabilities.m @@ -0,0 +1,72 @@ +// SDLAudioPassThruCapabilities.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLAudioPassThruCapabilities.h" + +#import "SDLNames.h" + +@implementation SDLAudioPassThruCapabilities + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setSamplingRate:(SDLSamplingRate*) samplingRate { + if (samplingRate != nil) { + [store setObject:samplingRate forKey:NAMES_samplingRate]; + } else { + [store removeObjectForKey:NAMES_samplingRate]; + } +} + +-(SDLSamplingRate*) samplingRate { + NSObject* obj = [store objectForKey:NAMES_samplingRate]; + if ([obj isKindOfClass:SDLSamplingRate.class]) { + return (SDLSamplingRate*)obj; + } else { + return [SDLSamplingRate valueOf:(NSString*)obj]; + } +} + +-(void) setBitsPerSample:(SDLBitsPerSample*) bitsPerSample { + if (bitsPerSample != nil) { + [store setObject:bitsPerSample forKey:NAMES_bitsPerSample]; + } else { + [store removeObjectForKey:NAMES_bitsPerSample]; + } +} + +-(SDLBitsPerSample*) bitsPerSample { + NSObject* obj = [store objectForKey:NAMES_bitsPerSample]; + if ([obj isKindOfClass:SDLBitsPerSample.class]) { + return (SDLBitsPerSample*)obj; + } else { + return [SDLBitsPerSample valueOf:(NSString*)obj]; + } +} + +-(void) setAudioType:(SDLAudioType*) audioType { + if (audioType != nil) { + [store setObject:audioType forKey:NAMES_audioType]; + } else { + [store removeObjectForKey:NAMES_audioType]; + } +} + +-(SDLAudioType*) audioType { + NSObject* obj = [store objectForKey:NAMES_audioType]; + if ([obj isKindOfClass:SDLAudioType.class]) { + return (SDLAudioType*)obj; + } else { + return [SDLAudioType valueOf:(NSString*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioStreamingState.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioStreamingState.h new file mode 100644 index 000000000..eacebfbe2 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioStreamingState.h @@ -0,0 +1,17 @@ +// SDLAudioStreamingState.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLAudioStreamingState : SDLEnum {} + ++(SDLAudioStreamingState*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLAudioStreamingState*) AUDIBLE; ++(SDLAudioStreamingState*) ATTENUATED; ++(SDLAudioStreamingState*) NOT_AUDIBLE; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioStreamingState.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioStreamingState.m new file mode 100644 index 000000000..a93fff619 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioStreamingState.m @@ -0,0 +1,56 @@ +// SDLAudioStreamingState.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLAudioStreamingState.h" + +SDLAudioStreamingState* SDLAudioStreamingState_AUDIBLE = nil; +SDLAudioStreamingState* SDLAudioStreamingState_ATTENUATED = nil; +SDLAudioStreamingState* SDLAudioStreamingState_NOT_AUDIBLE = nil; + +NSMutableArray* SDLAudioStreamingState_values = nil; + +@implementation SDLAudioStreamingState + ++(SDLAudioStreamingState*) valueOf:(NSString*) value { + for (SDLAudioStreamingState* item in SDLAudioStreamingState.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLAudioStreamingState_values == nil) { + SDLAudioStreamingState_values = [[NSMutableArray alloc] initWithObjects: + SDLAudioStreamingState.AUDIBLE, + SDLAudioStreamingState.ATTENUATED, + SDLAudioStreamingState.NOT_AUDIBLE, + nil]; + } + return SDLAudioStreamingState_values; +} + ++(SDLAudioStreamingState*) AUDIBLE { + if (SDLAudioStreamingState_AUDIBLE == nil) { + SDLAudioStreamingState_AUDIBLE = [[SDLAudioStreamingState alloc] initWithValue:@"AUDIBLE"]; + } + return SDLAudioStreamingState_AUDIBLE; +} + ++(SDLAudioStreamingState*) ATTENUATED { + if (SDLAudioStreamingState_ATTENUATED == nil) { + SDLAudioStreamingState_ATTENUATED = [[SDLAudioStreamingState alloc] initWithValue:@"ATTENUATED"]; + } + return SDLAudioStreamingState_ATTENUATED; +} + ++(SDLAudioStreamingState*) NOT_AUDIBLE { + if (SDLAudioStreamingState_NOT_AUDIBLE == nil) { + SDLAudioStreamingState_NOT_AUDIBLE = [[SDLAudioStreamingState alloc] initWithValue:@"NOT_AUDIBLE"]; + } + return SDLAudioStreamingState_NOT_AUDIBLE; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioType.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioType.h new file mode 100644 index 000000000..c847ddaff --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioType.h @@ -0,0 +1,15 @@ +// SDLAudioType.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLAudioType : SDLEnum {} + ++(SDLAudioType*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLAudioType*) PCM; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioType.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioType.m new file mode 100644 index 000000000..8be9bd9c0 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioType.m @@ -0,0 +1,38 @@ +// SDLAudioType.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLAudioType.h" + +SDLAudioType* SDLAudioType_PCM = nil; + +NSMutableArray* SDLAudioType_values = nil; + +@implementation SDLAudioType + ++(SDLAudioType*) valueOf:(NSString*) value { + for (SDLAudioType* item in SDLAudioType.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLAudioType_values == nil) { + SDLAudioType_values = [[NSMutableArray alloc] initWithObjects: + SDLAudioType.PCM, + nil]; + } + return SDLAudioType_values; +} + ++(SDLAudioType*) PCM { + if (SDLAudioType_PCM == nil) { + SDLAudioType_PCM = [[SDLAudioType alloc] initWithValue:@"PCM"]; + } + return SDLAudioType_PCM; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLBeltStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLBeltStatus.h new file mode 100644 index 000000000..4c216310f --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLBeltStatus.h @@ -0,0 +1,31 @@ +// SDLBeltStatus.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +#import "SDLVehicleDataEventStatus.h" + +@interface SDLBeltStatus : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLVehicleDataEventStatus* driverBeltDeployed; +@property(strong) SDLVehicleDataEventStatus* passengerBeltDeployed; +@property(strong) SDLVehicleDataEventStatus* passengerBuckleBelted; +@property(strong) SDLVehicleDataEventStatus* driverBuckleBelted; +@property(strong) SDLVehicleDataEventStatus* leftRow2BuckleBelted; +@property(strong) SDLVehicleDataEventStatus* passengerChildDetected; +@property(strong) SDLVehicleDataEventStatus* rightRow2BuckleBelted; +@property(strong) SDLVehicleDataEventStatus* middleRow2BuckleBelted; +@property(strong) SDLVehicleDataEventStatus* middleRow3BuckleBelted; +@property(strong) SDLVehicleDataEventStatus* leftRow3BuckleBelted; +@property(strong) SDLVehicleDataEventStatus* rightRow3BuckleBelted; +@property(strong) SDLVehicleDataEventStatus* leftRearInflatableBelted; +@property(strong) SDLVehicleDataEventStatus* rightRearInflatableBelted; +@property(strong) SDLVehicleDataEventStatus* middleRow1BeltDeployed; +@property(strong) SDLVehicleDataEventStatus* middleRow1BuckleBelted; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLBeltStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLBeltStatus.m new file mode 100644 index 000000000..d26d53b24 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLBeltStatus.m @@ -0,0 +1,276 @@ +// SDLBeltStatus.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLBeltStatus.h" + +#import "SDLNames.h" + +@implementation SDLBeltStatus + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setDriverBeltDeployed:(SDLVehicleDataEventStatus*) driverBeltDeployed { + if (driverBeltDeployed != nil) { + [store setObject:driverBeltDeployed forKey:NAMES_driverBeltDeployed]; + } else { + [store removeObjectForKey:NAMES_driverBeltDeployed]; + } +} + +-(SDLVehicleDataEventStatus*) driverBeltDeployed { + NSObject* obj = [store objectForKey:NAMES_driverBeltDeployed]; + if ([obj isKindOfClass:SDLVehicleDataEventStatus.class]) { + return (SDLVehicleDataEventStatus*)obj; + } else { + return [SDLVehicleDataEventStatus valueOf:(NSString*)obj]; + } +} + +-(void) setPassengerBeltDeployed:(SDLVehicleDataEventStatus*) passengerBeltDeployed { + if (passengerBeltDeployed != nil) { + [store setObject:passengerBeltDeployed forKey:NAMES_passengerBeltDeployed]; + } else { + [store removeObjectForKey:NAMES_passengerBeltDeployed]; + } +} + +-(SDLVehicleDataEventStatus*) passengerBeltDeployed { + NSObject* obj = [store objectForKey:NAMES_passengerBeltDeployed]; + if ([obj isKindOfClass:SDLVehicleDataEventStatus.class]) { + return (SDLVehicleDataEventStatus*)obj; + } else { + return [SDLVehicleDataEventStatus valueOf:(NSString*)obj]; + } +} + +-(void) setPassengerBuckleBelted:(SDLVehicleDataEventStatus*) passengerBuckleBelted { + if (passengerBuckleBelted != nil) { + [store setObject:passengerBuckleBelted forKey:NAMES_passengerBuckleBelted]; + } else { + [store removeObjectForKey:NAMES_passengerBuckleBelted]; + } +} + +-(SDLVehicleDataEventStatus*) passengerBuckleBelted { + NSObject* obj = [store objectForKey:NAMES_passengerBuckleBelted]; + if ([obj isKindOfClass:SDLVehicleDataEventStatus.class]) { + return (SDLVehicleDataEventStatus*)obj; + } else { + return [SDLVehicleDataEventStatus valueOf:(NSString*)obj]; + } +} + +-(void) setDriverBuckleBelted:(SDLVehicleDataEventStatus*) driverBuckleBelted { + if (driverBuckleBelted != nil) { + [store setObject:driverBuckleBelted forKey:NAMES_driverBuckleBelted]; + } else { + [store removeObjectForKey:NAMES_driverBuckleBelted]; + } +} + +-(SDLVehicleDataEventStatus*) driverBuckleBelted { + NSObject* obj = [store objectForKey:NAMES_driverBuckleBelted]; + if ([obj isKindOfClass:SDLVehicleDataEventStatus.class]) { + return (SDLVehicleDataEventStatus*)obj; + } else { + return [SDLVehicleDataEventStatus valueOf:(NSString*)obj]; + } +} + +-(void) setLeftRow2BuckleBelted:(SDLVehicleDataEventStatus*) leftRow2BuckleBelted { + if (leftRow2BuckleBelted != nil) { + [store setObject:leftRow2BuckleBelted forKey:NAMES_leftRow2BuckleBelted]; + } else { + [store removeObjectForKey:NAMES_leftRow2BuckleBelted]; + } +} + +-(SDLVehicleDataEventStatus*) leftRow2BuckleBelted { + NSObject* obj = [store objectForKey:NAMES_leftRow2BuckleBelted]; + if ([obj isKindOfClass:SDLVehicleDataEventStatus.class]) { + return (SDLVehicleDataEventStatus*)obj; + } else { + return [SDLVehicleDataEventStatus valueOf:(NSString*)obj]; + } +} + +-(void) setPassengerChildDetected:(SDLVehicleDataEventStatus*) passengerChildDetected { + if (passengerChildDetected != nil) { + [store setObject:passengerChildDetected forKey:NAMES_passengerChildDetected]; + } else { + [store removeObjectForKey:NAMES_passengerChildDetected]; + } +} + +-(SDLVehicleDataEventStatus*) passengerChildDetected { + NSObject* obj = [store objectForKey:NAMES_passengerChildDetected]; + if ([obj isKindOfClass:SDLVehicleDataEventStatus.class]) { + return (SDLVehicleDataEventStatus*)obj; + } else { + return [SDLVehicleDataEventStatus valueOf:(NSString*)obj]; + } +} + +-(void) setRightRow2BuckleBelted:(SDLVehicleDataEventStatus*) rightRow2BuckleBelted { + if (rightRow2BuckleBelted != nil) { + [store setObject:rightRow2BuckleBelted forKey:NAMES_rightRow2BuckleBelted]; + } else { + [store removeObjectForKey:NAMES_rightRow2BuckleBelted]; + } +} + +-(SDLVehicleDataEventStatus*) rightRow2BuckleBelted { + NSObject* obj = [store objectForKey:NAMES_rightRow2BuckleBelted]; + if ([obj isKindOfClass:SDLVehicleDataEventStatus.class]) { + return (SDLVehicleDataEventStatus*)obj; + } else { + return [SDLVehicleDataEventStatus valueOf:(NSString*)obj]; + } +} + +-(void) setMiddleRow2BuckleBelted:(SDLVehicleDataEventStatus*) middleRow2BuckleBelted { + if (middleRow2BuckleBelted != nil) { + [store setObject:middleRow2BuckleBelted forKey:NAMES_middleRow2BuckleBelted]; + } else { + [store removeObjectForKey:NAMES_middleRow2BuckleBelted]; + } +} + +-(SDLVehicleDataEventStatus*) middleRow2BuckleBelted { + NSObject* obj = [store objectForKey:NAMES_middleRow2BuckleBelted]; + if ([obj isKindOfClass:SDLVehicleDataEventStatus.class]) { + return (SDLVehicleDataEventStatus*)obj; + } else { + return [SDLVehicleDataEventStatus valueOf:(NSString*)obj]; + } +} + +-(void) setMiddleRow3BuckleBelted:(SDLVehicleDataEventStatus*) middleRow3BuckleBelted { + if (middleRow3BuckleBelted != nil) { + [store setObject:middleRow3BuckleBelted forKey:NAMES_middleRow3BuckleBelted]; + } else { + [store removeObjectForKey:NAMES_middleRow3BuckleBelted]; + } +} + +-(SDLVehicleDataEventStatus*) middleRow3BuckleBelted { + NSObject* obj = [store objectForKey:NAMES_middleRow3BuckleBelted]; + if ([obj isKindOfClass:SDLVehicleDataEventStatus.class]) { + return (SDLVehicleDataEventStatus*)obj; + } else { + return [SDLVehicleDataEventStatus valueOf:(NSString*)obj]; + } +} + +-(void) setLeftRow3BuckleBelted:(SDLVehicleDataEventStatus*) leftRow3BuckleBelted { + if (leftRow3BuckleBelted != nil) { + [store setObject:leftRow3BuckleBelted forKey:NAMES_leftRow3BuckleBelted]; + } else { + [store removeObjectForKey:NAMES_leftRow3BuckleBelted]; + } +} + +-(SDLVehicleDataEventStatus*) leftRow3BuckleBelted { + NSObject* obj = [store objectForKey:NAMES_leftRow3BuckleBelted]; + if ([obj isKindOfClass:SDLVehicleDataEventStatus.class]) { + return (SDLVehicleDataEventStatus*)obj; + } else { + return [SDLVehicleDataEventStatus valueOf:(NSString*)obj]; + } +} + +-(void) setRightRow3BuckleBelted:(SDLVehicleDataEventStatus*) rightRow3BuckleBelted { + if (rightRow3BuckleBelted != nil) { + [store setObject:rightRow3BuckleBelted forKey:NAMES_rightRow3BuckleBelted]; + } else { + [store removeObjectForKey:NAMES_rightRow3BuckleBelted]; + } +} + +-(SDLVehicleDataEventStatus*) rightRow3BuckleBelted { + NSObject* obj = [store objectForKey:NAMES_rightRow3BuckleBelted]; + if ([obj isKindOfClass:SDLVehicleDataEventStatus.class]) { + return (SDLVehicleDataEventStatus*)obj; + } else { + return [SDLVehicleDataEventStatus valueOf:(NSString*)obj]; + } +} + +-(void) setLeftRearInflatableBelted:(SDLVehicleDataEventStatus*) leftRearInflatableBelted { + if (leftRearInflatableBelted != nil) { + [store setObject:leftRearInflatableBelted forKey:NAMES_leftRearInflatableBelted]; + } else { + [store removeObjectForKey:NAMES_leftRearInflatableBelted]; + } +} + +-(SDLVehicleDataEventStatus*) leftRearInflatableBelted { + NSObject* obj = [store objectForKey:NAMES_leftRearInflatableBelted]; + if ([obj isKindOfClass:SDLVehicleDataEventStatus.class]) { + return (SDLVehicleDataEventStatus*)obj; + } else { + return [SDLVehicleDataEventStatus valueOf:(NSString*)obj]; + } +} + +-(void) setRightRearInflatableBelted:(SDLVehicleDataEventStatus*) rightRearInflatableBelted { + if (rightRearInflatableBelted != nil) { + [store setObject:rightRearInflatableBelted forKey:NAMES_rightRearInflatableBelted]; + } else { + [store removeObjectForKey:NAMES_rightRearInflatableBelted]; + } +} + +-(SDLVehicleDataEventStatus*) rightRearInflatableBelted { + NSObject* obj = [store objectForKey:NAMES_rightRearInflatableBelted]; + if ([obj isKindOfClass:SDLVehicleDataEventStatus.class]) { + return (SDLVehicleDataEventStatus*)obj; + } else { + return [SDLVehicleDataEventStatus valueOf:(NSString*)obj]; + } +} + +-(void) setMiddleRow1BeltDeployed:(SDLVehicleDataEventStatus*) middleRow1BeltDeployed { + if (middleRow1BeltDeployed != nil) { + [store setObject:middleRow1BeltDeployed forKey:NAMES_middleRow1BeltDeployed]; + } else { + [store removeObjectForKey:NAMES_middleRow1BeltDeployed]; + } +} + +-(SDLVehicleDataEventStatus*) middleRow1BeltDeployed { + NSObject* obj = [store objectForKey:NAMES_middleRow1BeltDeployed]; + if ([obj isKindOfClass:SDLVehicleDataEventStatus.class]) { + return (SDLVehicleDataEventStatus*)obj; + } else { + return [SDLVehicleDataEventStatus valueOf:(NSString*)obj]; + } +} + +-(void) setMiddleRow1BuckleBelted:(SDLVehicleDataEventStatus*) middleRow1BuckleBelted { + if (middleRow1BuckleBelted != nil) { + [store setObject:middleRow1BuckleBelted forKey:NAMES_middleRow1BuckleBelted]; + } else { + [store removeObjectForKey:NAMES_middleRow1BuckleBelted]; + } +} + +-(SDLVehicleDataEventStatus*) middleRow1BuckleBelted { + NSObject* obj = [store objectForKey:NAMES_middleRow1BuckleBelted]; + if ([obj isKindOfClass:SDLVehicleDataEventStatus.class]) { + return (SDLVehicleDataEventStatus*)obj; + } else { + return [SDLVehicleDataEventStatus valueOf:(NSString*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLBitsPerSample.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLBitsPerSample.h new file mode 100644 index 000000000..3167752ea --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLBitsPerSample.h @@ -0,0 +1,16 @@ +// SDLBitsPerSample.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLBitsPerSample : SDLEnum {} + ++(SDLBitsPerSample*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLBitsPerSample*) _8_BIT; ++(SDLBitsPerSample*) _16_BIT; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLBitsPerSample.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLBitsPerSample.m new file mode 100644 index 000000000..20d81c406 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLBitsPerSample.m @@ -0,0 +1,47 @@ +// SDLBitsPerSample.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLBitsPerSample.h" + +SDLBitsPerSample* SDLBitsPerSample_8_BIT = nil; +SDLBitsPerSample* SDLBitsPerSample_16_BIT = nil; + +NSMutableArray* SDLBitsPerSample_values = nil; + +@implementation SDLBitsPerSample + ++(SDLBitsPerSample*) valueOf:(NSString*) value { + for (SDLBitsPerSample* item in SDLBitsPerSample.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLBitsPerSample_values == nil) { + SDLBitsPerSample_values = [[NSMutableArray alloc] initWithObjects: + SDLBitsPerSample._8_BIT, + SDLBitsPerSample._16_BIT, + nil]; + } + return SDLBitsPerSample_values; +} + ++(SDLBitsPerSample*) _8_BIT { + if (SDLBitsPerSample_8_BIT == nil) { + SDLBitsPerSample_8_BIT = [[SDLBitsPerSample alloc] initWithValue:@"8_BIT"]; + } + return SDLBitsPerSample_8_BIT; +} + ++(SDLBitsPerSample*) _16_BIT { + if (SDLBitsPerSample_16_BIT == nil) { + SDLBitsPerSample_16_BIT = [[SDLBitsPerSample alloc] initWithValue:@"16_BIT"]; + } + return SDLBitsPerSample_16_BIT; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLBodyInformation.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLBodyInformation.h new file mode 100644 index 000000000..1c5399b07 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLBodyInformation.h @@ -0,0 +1,24 @@ +// SDLBodyInformation.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +#import "SDLIgnitionStableStatus.h" +#import "SDLIgnitionStatus.h" + +@interface SDLBodyInformation : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* parkBrakeActive; +@property(strong) SDLIgnitionStableStatus* ignitionStableStatus; +@property(strong) SDLIgnitionStatus* ignitionStatus; +@property(strong) NSNumber* driverDoorAjar; +@property(strong) NSNumber* passengerDoorAjar; +@property(strong) NSNumber* rearLeftDoorAjar; +@property(strong) NSNumber* rearRightDoorAjar; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLBodyInformation.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLBodyInformation.m new file mode 100644 index 000000000..fd98564a3 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLBodyInformation.m @@ -0,0 +1,115 @@ +// SDLBodyInformation.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLBodyInformation.h" + +#import "SDLNames.h" + +@implementation SDLBodyInformation + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setParkBrakeActive:(NSNumber*) parkBrakeActive { + if (parkBrakeActive != nil) { + [store setObject:parkBrakeActive forKey:NAMES_parkBrakeActive]; + } else { + [store removeObjectForKey:NAMES_parkBrakeActive]; + } +} + +-(NSNumber*) parkBrakeActive { + return [store objectForKey:NAMES_parkBrakeActive]; +} + +-(void) setIgnitionStableStatus:(SDLIgnitionStableStatus*) ignitionStableStatus { + if (ignitionStableStatus != nil) { + [store setObject:ignitionStableStatus forKey:NAMES_ignitionStableStatus]; + } else { + [store removeObjectForKey:NAMES_ignitionStableStatus]; + } +} + +-(SDLIgnitionStableStatus*) ignitionStableStatus { + NSObject* obj = [store objectForKey:NAMES_ignitionStableStatus]; + if ([obj isKindOfClass:SDLIgnitionStableStatus.class]) { + return (SDLIgnitionStableStatus*)obj; + } else { + return [SDLIgnitionStableStatus valueOf:(NSString*)obj]; + } +} + +-(void) setIgnitionStatus:(SDLIgnitionStatus*) ignitionStatus { + if (ignitionStatus != nil) { + [store setObject:ignitionStatus forKey:NAMES_ignitionStatus]; + } else { + [store removeObjectForKey:NAMES_ignitionStatus]; + } +} + +-(SDLIgnitionStatus*) ignitionStatus { + NSObject* obj = [store objectForKey:NAMES_ignitionStatus]; + if ([obj isKindOfClass:SDLIgnitionStatus.class]) { + return (SDLIgnitionStatus*)obj; + } else { + return [SDLIgnitionStatus valueOf:(NSString*)obj]; + } +} + +-(void) setDriverDoorAjar:(NSNumber*) driverDoorAjar { + if (driverDoorAjar != nil) { + [store setObject:driverDoorAjar forKey:NAMES_driverDoorAjar]; + } else { + [store removeObjectForKey:NAMES_driverDoorAjar]; + } +} + +-(NSNumber*) driverDoorAjar { + return [store objectForKey:NAMES_driverDoorAjar]; +} + +-(void) setPassengerDoorAjar:(NSNumber*) passengerDoorAjar { + if (passengerDoorAjar != nil) { + [store setObject:passengerDoorAjar forKey:NAMES_passengerDoorAjar]; + } else { + [store removeObjectForKey:NAMES_passengerDoorAjar]; + } +} + +-(NSNumber*) passengerDoorAjar { + return [store objectForKey:NAMES_passengerDoorAjar]; +} + +-(void) setRearLeftDoorAjar:(NSNumber*) rearLeftDoorAjar { + if (rearLeftDoorAjar != nil) { + [store setObject:rearLeftDoorAjar forKey:NAMES_rearLeftDoorAjar]; + } else { + [store removeObjectForKey:NAMES_rearLeftDoorAjar]; + } +} + +-(NSNumber*) rearLeftDoorAjar { + return [store objectForKey:NAMES_rearLeftDoorAjar]; +} + +-(void) setRearRightDoorAjar:(NSNumber*) rearRightDoorAjar { + if (rearRightDoorAjar != nil) { + [store setObject:rearRightDoorAjar forKey:NAMES_rearRightDoorAjar]; + } else { + [store removeObjectForKey:NAMES_rearRightDoorAjar]; + } +} + +-(NSNumber*) rearRightDoorAjar { + return [store objectForKey:NAMES_rearRightDoorAjar]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonCapabilities.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonCapabilities.h new file mode 100644 index 000000000..b35e3f377 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonCapabilities.h @@ -0,0 +1,20 @@ +// SDLButtonCapabilities.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +#import "SDLButtonName.h" + +@interface SDLButtonCapabilities : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLButtonName* name; +@property(strong) NSNumber* shortPressAvailable; +@property(strong) NSNumber* longPressAvailable; +@property(strong) NSNumber* upDownAvailable; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonCapabilities.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonCapabilities.m new file mode 100644 index 000000000..3fa31bd52 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonCapabilities.m @@ -0,0 +1,74 @@ +// SDLButtonCapabilities.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLButtonCapabilities.h" + +#import "SDLNames.h" + +@implementation SDLButtonCapabilities + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setName:(SDLButtonName*) name { + if (name != nil) { + [store setObject:name forKey:NAMES_name]; + } else { + [store removeObjectForKey:NAMES_name]; + } +} + +-(SDLButtonName*) name { + NSObject* obj = [store objectForKey:NAMES_name]; + if ([obj isKindOfClass:SDLButtonName.class]) { + return (SDLButtonName*)obj; + } else { + return [SDLButtonName valueOf:(NSString*)obj]; + } +} + +-(void) setShortPressAvailable:(NSNumber*) shortPressAvailable { + if (shortPressAvailable != nil) { + [store setObject:shortPressAvailable forKey:NAMES_shortPressAvailable]; + } else { + [store removeObjectForKey:NAMES_shortPressAvailable]; + } +} + +-(NSNumber*) shortPressAvailable { + return [store objectForKey:NAMES_shortPressAvailable]; +} + +-(void) setLongPressAvailable:(NSNumber*) longPressAvailable { + if (longPressAvailable != nil) { + [store setObject:longPressAvailable forKey:NAMES_longPressAvailable]; + } else { + [store removeObjectForKey:NAMES_longPressAvailable]; + } +} + +-(NSNumber*) longPressAvailable { + return [store objectForKey:NAMES_longPressAvailable]; +} + +-(void) setUpDownAvailable:(NSNumber*) upDownAvailable { + if (upDownAvailable != nil) { + [store setObject:upDownAvailable forKey:NAMES_upDownAvailable]; + } else { + [store removeObjectForKey:NAMES_upDownAvailable]; + } +} + +-(NSNumber*) upDownAvailable { + return [store objectForKey:NAMES_upDownAvailable]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonEventMode.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonEventMode.h new file mode 100644 index 000000000..c08e94eb7 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonEventMode.h @@ -0,0 +1,16 @@ +// SDLButtonEventMode.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLButtonEventMode : SDLEnum {} + ++(SDLButtonEventMode*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLButtonEventMode*) BUTTONUP; ++(SDLButtonEventMode*) BUTTONDOWN; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonEventMode.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonEventMode.m new file mode 100644 index 000000000..bbfeedcce --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonEventMode.m @@ -0,0 +1,47 @@ +// SDLButtonEventMode.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLButtonEventMode.h" + +SDLButtonEventMode* SDLButtonEventMode_BUTTONUP = nil; +SDLButtonEventMode* SDLButtonEventMode_BUTTONDOWN = nil; + +NSMutableArray* SDLButtonEventMode_values = nil; + +@implementation SDLButtonEventMode + ++(SDLButtonEventMode*) valueOf:(NSString*) value { + for (SDLButtonEventMode* item in SDLButtonEventMode.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLButtonEventMode_values == nil) { + SDLButtonEventMode_values = [[NSMutableArray alloc] initWithObjects: + SDLButtonEventMode.BUTTONUP, + SDLButtonEventMode.BUTTONDOWN, + nil]; + } + return SDLButtonEventMode_values; +} + ++(SDLButtonEventMode*) BUTTONUP { + if (SDLButtonEventMode_BUTTONUP == nil) { + SDLButtonEventMode_BUTTONUP = [[SDLButtonEventMode alloc] initWithValue:@"BUTTONUP"]; + } + return SDLButtonEventMode_BUTTONUP; +} + ++(SDLButtonEventMode*) BUTTONDOWN { + if (SDLButtonEventMode_BUTTONDOWN == nil) { + SDLButtonEventMode_BUTTONDOWN = [[SDLButtonEventMode alloc] initWithValue:@"BUTTONDOWN"]; + } + return SDLButtonEventMode_BUTTONDOWN; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonName.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonName.h new file mode 100644 index 000000000..7483de495 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonName.h @@ -0,0 +1,31 @@ +// SDLButtonName.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLButtonName : SDLEnum {} + ++(SDLButtonName*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLButtonName*) OK; ++(SDLButtonName*) SEEKLEFT; ++(SDLButtonName*) SEEKRIGHT; ++(SDLButtonName*) TUNEUP; ++(SDLButtonName*) TUNEDOWN; ++(SDLButtonName*) PRESET_0; ++(SDLButtonName*) PRESET_1; ++(SDLButtonName*) PRESET_2; ++(SDLButtonName*) PRESET_3; ++(SDLButtonName*) PRESET_4; ++(SDLButtonName*) PRESET_5; ++(SDLButtonName*) PRESET_6; ++(SDLButtonName*) PRESET_7; ++(SDLButtonName*) PRESET_8; ++(SDLButtonName*) PRESET_9; ++(SDLButtonName*) CUSTOM_BUTTON; ++(SDLButtonName*) SEARCH; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonName.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonName.m new file mode 100644 index 000000000..b93ee4d06 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonName.m @@ -0,0 +1,182 @@ +// SDLButtonName.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLButtonName.h" + +SDLButtonName* SDLButtonName_OK = nil; +SDLButtonName* SDLButtonName_SEEKLEFT = nil; +SDLButtonName* SDLButtonName_SEEKRIGHT = nil; +SDLButtonName* SDLButtonName_TUNEUP = nil; +SDLButtonName* SDLButtonName_TUNEDOWN = nil; +SDLButtonName* SDLButtonName_PRESET_0 = nil; +SDLButtonName* SDLButtonName_PRESET_1 = nil; +SDLButtonName* SDLButtonName_PRESET_2 = nil; +SDLButtonName* SDLButtonName_PRESET_3 = nil; +SDLButtonName* SDLButtonName_PRESET_4 = nil; +SDLButtonName* SDLButtonName_PRESET_5 = nil; +SDLButtonName* SDLButtonName_PRESET_6 = nil; +SDLButtonName* SDLButtonName_PRESET_7 = nil; +SDLButtonName* SDLButtonName_PRESET_8 = nil; +SDLButtonName* SDLButtonName_PRESET_9 = nil; +SDLButtonName* SDLButtonName_CUSTOM_BUTTON = nil; +SDLButtonName* SDLButtonName_SEARCH = nil; + +NSMutableArray* SDLButtonName_values = nil; + +@implementation SDLButtonName + ++(SDLButtonName*) valueOf:(NSString*) value { + for (SDLButtonName* item in SDLButtonName.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLButtonName_values == nil) { + SDLButtonName_values = [[NSMutableArray alloc] initWithObjects: + SDLButtonName.OK, + SDLButtonName.SEEKLEFT, + SDLButtonName.SEEKRIGHT, + SDLButtonName.TUNEUP, + SDLButtonName.TUNEDOWN, + SDLButtonName.PRESET_0, + SDLButtonName.PRESET_1, + SDLButtonName.PRESET_2, + SDLButtonName.PRESET_3, + SDLButtonName.PRESET_4, + SDLButtonName.PRESET_5, + SDLButtonName.PRESET_6, + SDLButtonName.PRESET_7, + SDLButtonName.PRESET_8, + SDLButtonName.PRESET_9, + SDLButtonName.CUSTOM_BUTTON, + SDLButtonName.SEARCH, + nil]; + } + return SDLButtonName_values; +} + ++(SDLButtonName*) OK { + if (SDLButtonName_OK == nil) { + SDLButtonName_OK = [[SDLButtonName alloc] initWithValue:@"OK"]; + } + return SDLButtonName_OK; +} + ++(SDLButtonName*) SEEKLEFT { + if (SDLButtonName_SEEKLEFT == nil) { + SDLButtonName_SEEKLEFT = [[SDLButtonName alloc] initWithValue:@"SEEKLEFT"]; + } + return SDLButtonName_SEEKLEFT; +} + ++(SDLButtonName*) SEEKRIGHT { + if (SDLButtonName_SEEKRIGHT == nil) { + SDLButtonName_SEEKRIGHT = [[SDLButtonName alloc] initWithValue:@"SEEKRIGHT"]; + } + return SDLButtonName_SEEKRIGHT; +} + ++(SDLButtonName*) TUNEUP { + if (SDLButtonName_TUNEUP == nil) { + SDLButtonName_TUNEUP = [[SDLButtonName alloc] initWithValue:@"TUNEUP"]; + } + return SDLButtonName_TUNEUP; +} + ++(SDLButtonName*) TUNEDOWN { + if (SDLButtonName_TUNEDOWN == nil) { + SDLButtonName_TUNEDOWN = [[SDLButtonName alloc] initWithValue:@"TUNEDOWN"]; + } + return SDLButtonName_TUNEDOWN; +} + ++(SDLButtonName*) PRESET_0 { + if (SDLButtonName_PRESET_0 == nil) { + SDLButtonName_PRESET_0 = [[SDLButtonName alloc] initWithValue:@"PRESET_0"]; + } + return SDLButtonName_PRESET_0; +} + ++(SDLButtonName*) PRESET_1 { + if (SDLButtonName_PRESET_1 == nil) { + SDLButtonName_PRESET_1 = [[SDLButtonName alloc] initWithValue:@"PRESET_1"]; + } + return SDLButtonName_PRESET_1; +} + ++(SDLButtonName*) PRESET_2 { + if (SDLButtonName_PRESET_2 == nil) { + SDLButtonName_PRESET_2 = [[SDLButtonName alloc] initWithValue:@"PRESET_2"]; + } + return SDLButtonName_PRESET_2; +} + ++(SDLButtonName*) PRESET_3 { + if (SDLButtonName_PRESET_3 == nil) { + SDLButtonName_PRESET_3 = [[SDLButtonName alloc] initWithValue:@"PRESET_3"]; + } + return SDLButtonName_PRESET_3; +} + ++(SDLButtonName*) PRESET_4 { + if (SDLButtonName_PRESET_4 == nil) { + SDLButtonName_PRESET_4 = [[SDLButtonName alloc] initWithValue:@"PRESET_4"]; + } + return SDLButtonName_PRESET_4; +} + ++(SDLButtonName*) PRESET_5 { + if (SDLButtonName_PRESET_5 == nil) { + SDLButtonName_PRESET_5 = [[SDLButtonName alloc] initWithValue:@"PRESET_5"]; + } + return SDLButtonName_PRESET_5; +} + ++(SDLButtonName*) PRESET_6 { + if (SDLButtonName_PRESET_6 == nil) { + SDLButtonName_PRESET_6 = [[SDLButtonName alloc] initWithValue:@"PRESET_6"]; + } + return SDLButtonName_PRESET_6; +} + ++(SDLButtonName*) PRESET_7 { + if (SDLButtonName_PRESET_7 == nil) { + SDLButtonName_PRESET_7 = [[SDLButtonName alloc] initWithValue:@"PRESET_7"]; + } + return SDLButtonName_PRESET_7; +} + ++(SDLButtonName*) PRESET_8 { + if (SDLButtonName_PRESET_8 == nil) { + SDLButtonName_PRESET_8 = [[SDLButtonName alloc] initWithValue:@"PRESET_8"]; + } + return SDLButtonName_PRESET_8; +} + ++(SDLButtonName*) PRESET_9 { + if (SDLButtonName_PRESET_9 == nil) { + SDLButtonName_PRESET_9 = [[SDLButtonName alloc] initWithValue:@"PRESET_9"]; + } + return SDLButtonName_PRESET_9; +} + ++(SDLButtonName*) CUSTOM_BUTTON { + if (SDLButtonName_CUSTOM_BUTTON == nil) { + SDLButtonName_CUSTOM_BUTTON = [[SDLButtonName alloc] initWithValue:@"CUSTOM_BUTTON"]; + } + return SDLButtonName_CUSTOM_BUTTON; +} + ++(SDLButtonName*) SEARCH { + if (SDLButtonName_SEARCH == nil) { + SDLButtonName_SEARCH = [[SDLButtonName alloc] initWithValue:@"SEARCH"]; + } + return SDLButtonName_SEARCH; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonPressMode.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonPressMode.h new file mode 100644 index 000000000..07d8c9aa5 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonPressMode.h @@ -0,0 +1,16 @@ +// SDLButtonPressMode.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLButtonPressMode : SDLEnum {} + ++(SDLButtonPressMode*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLButtonPressMode*) LONG; ++(SDLButtonPressMode*) SHORT; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonPressMode.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonPressMode.m new file mode 100644 index 000000000..35a1f1b62 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonPressMode.m @@ -0,0 +1,47 @@ +// SDLButtonPressMode.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLButtonPressMode.h" + +SDLButtonPressMode* SDLButtonPressMode_LONG = nil; +SDLButtonPressMode* SDLButtonPressMode_SHORT = nil; + +NSMutableArray* SDLButtonPressMode_values = nil; + +@implementation SDLButtonPressMode + ++(SDLButtonPressMode*) valueOf:(NSString*) value { + for (SDLButtonPressMode* item in SDLButtonPressMode.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLButtonPressMode_values == nil) { + SDLButtonPressMode_values = [[NSMutableArray alloc] initWithObjects: + SDLButtonPressMode.LONG, + SDLButtonPressMode.SHORT, + nil]; + } + return SDLButtonPressMode_values; +} + ++(SDLButtonPressMode*) LONG { + if (SDLButtonPressMode_LONG == nil) { + SDLButtonPressMode_LONG = [[SDLButtonPressMode alloc] initWithValue:@"LONG"]; + } + return SDLButtonPressMode_LONG; +} + ++(SDLButtonPressMode*) SHORT { + if (SDLButtonPressMode_SHORT == nil) { + SDLButtonPressMode_SHORT = [[SDLButtonPressMode alloc] initWithValue:@"SHORT"]; + } + return SDLButtonPressMode_SHORT; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLCarModeStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCarModeStatus.h new file mode 100644 index 000000000..a7248551c --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCarModeStatus.h @@ -0,0 +1,18 @@ +// SDLCarModeStatus.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLCarModeStatus : SDLEnum {} + ++(SDLCarModeStatus*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLCarModeStatus*) NORMAL; ++(SDLCarModeStatus*) FACTORY; ++(SDLCarModeStatus*) TRANSPORT; ++(SDLCarModeStatus*) CRASH; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLCarModeStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCarModeStatus.m new file mode 100644 index 000000000..7ea8047a4 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCarModeStatus.m @@ -0,0 +1,65 @@ +// SDLCarModeStatus.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLCarModeStatus.h" + +SDLCarModeStatus* SDLCarModeStatus_NORMAL = nil; +SDLCarModeStatus* SDLCarModeStatus_FACTORY = nil; +SDLCarModeStatus* SDLCarModeStatus_TRANSPORT = nil; +SDLCarModeStatus* SDLCarModeStatus_CRASH = nil; + +NSMutableArray* SDLCarModeStatus_values = nil; + +@implementation SDLCarModeStatus + ++(SDLCarModeStatus*) valueOf:(NSString*) value { + for (SDLCarModeStatus* item in SDLCarModeStatus.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLCarModeStatus_values == nil) { + SDLCarModeStatus_values = [[NSMutableArray alloc] initWithObjects: + SDLCarModeStatus.NORMAL, + SDLCarModeStatus.FACTORY, + SDLCarModeStatus.TRANSPORT, + SDLCarModeStatus.CRASH, + nil]; + } + return SDLCarModeStatus_values; +} + ++(SDLCarModeStatus*) NORMAL { + if (SDLCarModeStatus_NORMAL == nil) { + SDLCarModeStatus_NORMAL = [[SDLCarModeStatus alloc] initWithValue:@"NORMAL"]; + } + return SDLCarModeStatus_NORMAL; +} + ++(SDLCarModeStatus*) FACTORY { + if (SDLCarModeStatus_FACTORY == nil) { + SDLCarModeStatus_FACTORY = [[SDLCarModeStatus alloc] initWithValue:@"FACTORY"]; + } + return SDLCarModeStatus_FACTORY; +} + ++(SDLCarModeStatus*) TRANSPORT { + if (SDLCarModeStatus_TRANSPORT == nil) { + SDLCarModeStatus_TRANSPORT = [[SDLCarModeStatus alloc] initWithValue:@"TRANSPORT"]; + } + return SDLCarModeStatus_TRANSPORT; +} + ++(SDLCarModeStatus*) CRASH { + if (SDLCarModeStatus_CRASH == nil) { + SDLCarModeStatus_CRASH = [[SDLCarModeStatus alloc] initWithValue:@"CRASH"]; + } + return SDLCarModeStatus_CRASH; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistration.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistration.h new file mode 100644 index 000000000..ab97f3595 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistration.h @@ -0,0 +1,18 @@ +// SDLChangeRegistration.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +#import "SDLLanguage.h" + +@interface SDLChangeRegistration : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLLanguage* language; +@property(strong) SDLLanguage* hmiDisplayLanguage; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistration.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistration.m new file mode 100644 index 000000000..baf23a7c1 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistration.m @@ -0,0 +1,55 @@ +// SDLChangeRegistration.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLChangeRegistration.h" + +#import "SDLNames.h" + +@implementation SDLChangeRegistration + +-(id) init { + if (self = [super initWithName:NAMES_ChangeRegistration]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setLanguage:(SDLLanguage*) language { + if (language != nil) { + [parameters setObject:language forKey:NAMES_language]; + } else { + [parameters removeObjectForKey:NAMES_language]; + } +} + +-(SDLLanguage*) language { + NSObject* obj = [parameters objectForKey:NAMES_language]; + if ([obj isKindOfClass:SDLLanguage.class]) { + return (SDLLanguage*)obj; + } else { + return [SDLLanguage valueOf:(NSString*)obj]; + } +} + +-(void) setHmiDisplayLanguage:(SDLLanguage*) hmiDisplayLanguage { + if (hmiDisplayLanguage != nil) { + [parameters setObject:hmiDisplayLanguage forKey:NAMES_hmiDisplayLanguage]; + } else { + [parameters removeObjectForKey:NAMES_hmiDisplayLanguage]; + } +} + +-(SDLLanguage*) hmiDisplayLanguage { + NSObject* obj = [parameters objectForKey:NAMES_hmiDisplayLanguage]; + if ([obj isKindOfClass:SDLLanguage.class]) { + return (SDLLanguage*)obj; + } else { + return [SDLLanguage valueOf:(NSString*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistrationResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistrationResponse.h new file mode 100644 index 000000000..2e026bba9 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistrationResponse.h @@ -0,0 +1,13 @@ +// SDLChangeRegistrationResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLChangeRegistrationResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistrationResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistrationResponse.m new file mode 100644 index 000000000..de6c6d6f6 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistrationResponse.m @@ -0,0 +1,21 @@ +// SDLChangeRegistrationResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLChangeRegistrationResponse.h" + +#import "SDLNames.h" + +@implementation SDLChangeRegistrationResponse + +-(id) init { + if (self = [super initWithName:NAMES_ChangeRegistration]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLCharacterSet.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCharacterSet.h new file mode 100644 index 000000000..262fe92a5 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCharacterSet.h @@ -0,0 +1,18 @@ +// SDLCharacterSet.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLCharacterSet : SDLEnum {} + ++(SDLCharacterSet*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLCharacterSet*) TYPE2SET; ++(SDLCharacterSet*) TYPE5SET; ++(SDLCharacterSet*) CID1SET; ++(SDLCharacterSet*) CID2SET; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLCharacterSet.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCharacterSet.m new file mode 100644 index 000000000..ffda806dc --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCharacterSet.m @@ -0,0 +1,65 @@ +// SDLCharacterSet.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLCharacterSet.h" + +SDLCharacterSet* SDLCharacterSet_TYPE2SET = nil; +SDLCharacterSet* SDLCharacterSet_TYPE5SET = nil; +SDLCharacterSet* SDLCharacterSet_CID1SET = nil; +SDLCharacterSet* SDLCharacterSet_CID2SET = nil; + +NSMutableArray* SDLCharacterSet_values = nil; + +@implementation SDLCharacterSet + ++(SDLCharacterSet*) valueOf:(NSString*) value { + for (SDLCharacterSet* item in SDLCharacterSet.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLCharacterSet_values == nil) { + SDLCharacterSet_values = [[NSMutableArray alloc] initWithObjects: + SDLCharacterSet.TYPE2SET, + SDLCharacterSet.TYPE5SET, + SDLCharacterSet.CID1SET, + SDLCharacterSet.CID2SET, + nil]; + } + return SDLCharacterSet_values; +} + ++(SDLCharacterSet*) TYPE2SET { + if (SDLCharacterSet_TYPE2SET == nil) { + SDLCharacterSet_TYPE2SET = [[SDLCharacterSet alloc] initWithValue:@"TYPE2SET"]; + } + return SDLCharacterSet_TYPE2SET; +} + ++(SDLCharacterSet*) TYPE5SET { + if (SDLCharacterSet_TYPE5SET == nil) { + SDLCharacterSet_TYPE5SET = [[SDLCharacterSet alloc] initWithValue:@"TYPE5SET"]; + } + return SDLCharacterSet_TYPE5SET; +} + ++(SDLCharacterSet*) CID1SET { + if (SDLCharacterSet_CID1SET == nil) { + SDLCharacterSet_CID1SET = [[SDLCharacterSet alloc] initWithValue:@"CID1SET"]; + } + return SDLCharacterSet_CID1SET; +} + ++(SDLCharacterSet*) CID2SET { + if (SDLCharacterSet_CID2SET == nil) { + SDLCharacterSet_CID2SET = [[SDLCharacterSet alloc] initWithValue:@"CID2SET"]; + } + return SDLCharacterSet_CID2SET; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLChoice.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLChoice.h new file mode 100644 index 000000000..1c077c73b --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLChoice.h @@ -0,0 +1,23 @@ +// SDLChoice.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +#import "SDLImage.h" + +@interface SDLChoice : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* choiceID; +@property(strong) NSString* menuName; +@property(strong) NSMutableArray* vrCommands; +@property(strong) SDLImage* image; +@property(strong) NSString* secondaryText; +@property(strong) NSString* tertiaryText; +@property(strong) SDLImage* secondaryImage; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLChoice.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLChoice.m new file mode 100644 index 000000000..f7d5ff6ae --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLChoice.m @@ -0,0 +1,115 @@ +// SDLChoice.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLChoice.h" + +#import "SDLNames.h" + +@implementation SDLChoice + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setChoiceID:(NSNumber*) choiceID { + if (choiceID != nil) { + [store setObject:choiceID forKey:NAMES_choiceID]; + } else { + [store removeObjectForKey:NAMES_choiceID]; + } +} + +-(NSNumber*) choiceID { + return [store objectForKey:NAMES_choiceID]; +} + +-(void) setMenuName:(NSString*) menuName { + if (menuName != nil) { + [store setObject:menuName forKey:NAMES_menuName]; + } else { + [store removeObjectForKey:NAMES_menuName]; + } +} + +-(NSString*) menuName { + return [store objectForKey:NAMES_menuName]; +} + +-(void) setVrCommands:(NSMutableArray*) vrCommands { + if (vrCommands != nil) { + [store setObject:vrCommands forKey:NAMES_vrCommands]; + } else { + [store removeObjectForKey:NAMES_vrCommands]; + } +} + +-(NSMutableArray*) vrCommands { + return [store objectForKey:NAMES_vrCommands]; +} + +-(void) setImage:(SDLImage*) image { + if (image != nil) { + [store setObject:image forKey:NAMES_image]; + } else { + [store removeObjectForKey:NAMES_image]; + } +} + +-(SDLImage*) image { + NSObject* obj = [store objectForKey:NAMES_image]; + if ([obj isKindOfClass:SDLImage.class]) { + return (SDLImage*)obj; + } else { + return [[SDLImage alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setSecondaryText:(NSString*) secondaryText { + if (secondaryText != nil) { + [store setObject:secondaryText forKey:NAMES_secondaryText]; + } else { + [store removeObjectForKey:NAMES_secondaryText]; + } +} + +-(NSString*) secondaryText { + return [store objectForKey:NAMES_secondaryText]; +} + +-(void) setTertiaryText:(NSString*) tertiaryText { + if (tertiaryText != nil) { + [store setObject:tertiaryText forKey:NAMES_tertiaryText]; + } else { + [store removeObjectForKey:NAMES_tertiaryText]; + } +} + +-(NSString*) tertiaryText { + return [store objectForKey:NAMES_tertiaryText]; +} + +-(void) setSecondaryImage:(SDLImage*) secondaryImage { + if (secondaryImage != nil) { + [store setObject:secondaryImage forKey:NAMES_secondaryImage]; + } else { + [store removeObjectForKey:NAMES_secondaryImage]; + } +} + +-(SDLImage*) secondaryImage { + NSObject* obj = [store objectForKey:NAMES_secondaryImage]; + if ([obj isKindOfClass:SDLImage.class]) { + return (SDLImage*)obj; + } else { + return [[SDLImage alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLClusterModeStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLClusterModeStatus.h new file mode 100644 index 000000000..215e26e9c --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLClusterModeStatus.h @@ -0,0 +1,22 @@ +// SDLClusterModeStatus.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +#import "SDLPowerModeQualificationStatus.h" +#import "SDLCarModeStatus.h" +#import "SDLPowerModeStatus.h" + +@interface SDLClusterModeStatus : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* powerModeActive; +@property(strong) SDLPowerModeQualificationStatus* powerModeQualificationStatus; +@property(strong) SDLCarModeStatus* carModeStatus; +@property(strong) SDLPowerModeStatus* powerModeStatus; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLClusterModeStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLClusterModeStatus.m new file mode 100644 index 000000000..cbff51691 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLClusterModeStatus.m @@ -0,0 +1,84 @@ +// SDLClusterModeStatus.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLClusterModeStatus.h" + +#import "SDLNames.h" + +@implementation SDLClusterModeStatus + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setPowerModeActive:(NSNumber*) powerModeActive { + if (powerModeActive != nil) { + [store setObject:powerModeActive forKey:NAMES_powerModeActive]; + } else { + [store removeObjectForKey:NAMES_powerModeActive]; + } +} + +-(NSNumber*) powerModeActive { + return [store objectForKey:NAMES_powerModeActive]; +} + +-(void) setPowerModeQualificationStatus:(SDLPowerModeQualificationStatus*) powerModeQualificationStatus { + if (powerModeQualificationStatus != nil) { + [store setObject:powerModeQualificationStatus forKey:NAMES_powerModeQualificationStatus]; + } else { + [store removeObjectForKey:NAMES_powerModeQualificationStatus]; + } +} + +-(SDLPowerModeQualificationStatus*) powerModeQualificationStatus { + NSObject* obj = [store objectForKey:NAMES_powerModeQualificationStatus]; + if ([obj isKindOfClass:SDLPowerModeQualificationStatus.class]) { + return (SDLPowerModeQualificationStatus*)obj; + } else { + return [SDLPowerModeQualificationStatus valueOf:(NSString*)obj]; + } +} + +-(void) setCarModeStatus:(SDLCarModeStatus*) carModeStatus { + if (carModeStatus != nil) { + [store setObject:carModeStatus forKey:NAMES_carModeStatus]; + } else { + [store removeObjectForKey:NAMES_carModeStatus]; + } +} + +-(SDLCarModeStatus*) carModeStatus { + NSObject* obj = [store objectForKey:NAMES_carModeStatus]; + if ([obj isKindOfClass:SDLCarModeStatus.class]) { + return (SDLCarModeStatus*)obj; + } else { + return [SDLCarModeStatus valueOf:(NSString*)obj]; + } +} + +-(void) setPowerModeStatus:(SDLPowerModeStatus*) powerModeStatus { + if (powerModeStatus != nil) { + [store setObject:powerModeStatus forKey:NAMES_powerModeStatus]; + } else { + [store removeObjectForKey:NAMES_powerModeStatus]; + } +} + +-(SDLPowerModeStatus*) powerModeStatus { + NSObject* obj = [store objectForKey:NAMES_powerModeStatus]; + if ([obj isKindOfClass:SDLPowerModeStatus.class]) { + return (SDLPowerModeStatus*)obj; + } else { + return [SDLPowerModeStatus valueOf:(NSString*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLCompassDirection.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCompassDirection.h new file mode 100644 index 000000000..c4cc4c177 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCompassDirection.h @@ -0,0 +1,22 @@ +// SDLCompassDirection.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLCompassDirection : SDLEnum {} + ++(SDLCompassDirection*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLCompassDirection*) NORTH; ++(SDLCompassDirection*) NORTHWEST; ++(SDLCompassDirection*) WEST; ++(SDLCompassDirection*) SOUTHWEST; ++(SDLCompassDirection*) SOUTH; ++(SDLCompassDirection*) SOUTHEAST; ++(SDLCompassDirection*) EAST; ++(SDLCompassDirection*) NORTHEAST; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLCompassDirection.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCompassDirection.m new file mode 100644 index 000000000..0c4ae2de4 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCompassDirection.m @@ -0,0 +1,101 @@ +// SDLCompassDirection.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLCompassDirection.h" + +SDLCompassDirection* SDLCompassDirection_NORTH = nil; +SDLCompassDirection* SDLCompassDirection_NORTHWEST = nil; +SDLCompassDirection* SDLCompassDirection_WEST = nil; +SDLCompassDirection* SDLCompassDirection_SOUTHWEST = nil; +SDLCompassDirection* SDLCompassDirection_SOUTH = nil; +SDLCompassDirection* SDLCompassDirection_SOUTHEAST = nil; +SDLCompassDirection* SDLCompassDirection_EAST = nil; +SDLCompassDirection* SDLCompassDirection_NORTHEAST = nil; + +NSMutableArray* SDLCompassDirection_values = nil; + +@implementation SDLCompassDirection + ++(SDLCompassDirection*) valueOf:(NSString*) value { + for (SDLCompassDirection* item in SDLCompassDirection.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLCompassDirection_values == nil) { + SDLCompassDirection_values = [[NSMutableArray alloc] initWithObjects: + SDLCompassDirection.NORTH, + SDLCompassDirection.NORTHWEST, + SDLCompassDirection.WEST, + SDLCompassDirection.SOUTHWEST, + SDLCompassDirection.SOUTH, + SDLCompassDirection.SOUTHEAST, + SDLCompassDirection.EAST, + SDLCompassDirection.NORTHEAST, + nil]; + } + return SDLCompassDirection_values; +} + ++(SDLCompassDirection*) NORTH { + if (SDLCompassDirection_NORTH == nil) { + SDLCompassDirection_NORTH = [[SDLCompassDirection alloc] initWithValue:@"NORTH"]; + } + return SDLCompassDirection_NORTH; +} + ++(SDLCompassDirection*) NORTHWEST { + if (SDLCompassDirection_NORTHWEST == nil) { + SDLCompassDirection_NORTHWEST = [[SDLCompassDirection alloc] initWithValue:@"NORTHWEST"]; + } + return SDLCompassDirection_NORTHWEST; +} + ++(SDLCompassDirection*) WEST { + if (SDLCompassDirection_WEST == nil) { + SDLCompassDirection_WEST = [[SDLCompassDirection alloc] initWithValue:@"WEST"]; + } + return SDLCompassDirection_WEST; +} + ++(SDLCompassDirection*) SOUTHWEST { + if (SDLCompassDirection_SOUTHWEST == nil) { + SDLCompassDirection_SOUTHWEST = [[SDLCompassDirection alloc] initWithValue:@"SOUTHWEST"]; + } + return SDLCompassDirection_SOUTHWEST; +} + ++(SDLCompassDirection*) SOUTH { + if (SDLCompassDirection_SOUTH == nil) { + SDLCompassDirection_SOUTH = [[SDLCompassDirection alloc] initWithValue:@"SOUTH"]; + } + return SDLCompassDirection_SOUTH; +} + ++(SDLCompassDirection*) SOUTHEAST { + if (SDLCompassDirection_SOUTHEAST == nil) { + SDLCompassDirection_SOUTHEAST = [[SDLCompassDirection alloc] initWithValue:@"SOUTHEAST"]; + } + return SDLCompassDirection_SOUTHEAST; +} + ++(SDLCompassDirection*) EAST { + if (SDLCompassDirection_EAST == nil) { + SDLCompassDirection_EAST = [[SDLCompassDirection alloc] initWithValue:@"EAST"]; + } + return SDLCompassDirection_EAST; +} + ++(SDLCompassDirection*) NORTHEAST { + if (SDLCompassDirection_NORTHEAST == nil) { + SDLCompassDirection_NORTHEAST = [[SDLCompassDirection alloc] initWithValue:@"NORTHEAST"]; + } + return SDLCompassDirection_NORTHEAST; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLComponentVolumeStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLComponentVolumeStatus.h new file mode 100644 index 000000000..8c8423ef9 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLComponentVolumeStatus.h @@ -0,0 +1,20 @@ +// SDLComponentVolumeStatus.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLComponentVolumeStatus : SDLEnum {} + ++(SDLComponentVolumeStatus*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLComponentVolumeStatus*) UNKNOWN; ++(SDLComponentVolumeStatus*) NORMAL; ++(SDLComponentVolumeStatus*) LOW; ++(SDLComponentVolumeStatus*) FAULT; ++(SDLComponentVolumeStatus*) ALERT; ++(SDLComponentVolumeStatus*) NOT_SUPPORTED; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLComponentVolumeStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLComponentVolumeStatus.m new file mode 100644 index 000000000..a30e51ac3 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLComponentVolumeStatus.m @@ -0,0 +1,83 @@ +// SDLComponentVolumeStatus.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLComponentVolumeStatus.h" + +SDLComponentVolumeStatus* SDLComponentVolumeStatus_UNKNOWN = nil; +SDLComponentVolumeStatus* SDLComponentVolumeStatus_NORMAL = nil; +SDLComponentVolumeStatus* SDLComponentVolumeStatus_LOW = nil; +SDLComponentVolumeStatus* SDLComponentVolumeStatus_FAULT = nil; +SDLComponentVolumeStatus* SDLComponentVolumeStatus_ALERT = nil; +SDLComponentVolumeStatus* SDLComponentVolumeStatus_NOT_SUPPORTED = nil; + +NSMutableArray* SDLComponentVolumeStatus_values = nil; + +@implementation SDLComponentVolumeStatus + ++(SDLComponentVolumeStatus*) valueOf:(NSString*) value { + for (SDLComponentVolumeStatus* item in SDLComponentVolumeStatus.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLComponentVolumeStatus_values == nil) { + SDLComponentVolumeStatus_values = [[NSMutableArray alloc] initWithObjects: + SDLComponentVolumeStatus.UNKNOWN, + SDLComponentVolumeStatus.NORMAL, + SDLComponentVolumeStatus.LOW, + SDLComponentVolumeStatus.FAULT, + SDLComponentVolumeStatus.ALERT, + SDLComponentVolumeStatus.NOT_SUPPORTED, + nil]; + } + return SDLComponentVolumeStatus_values; +} + ++(SDLComponentVolumeStatus*) UNKNOWN { + if (SDLComponentVolumeStatus_UNKNOWN == nil) { + SDLComponentVolumeStatus_UNKNOWN = [[SDLComponentVolumeStatus alloc] initWithValue:@"UNKNOWN"]; + } + return SDLComponentVolumeStatus_UNKNOWN; +} + ++(SDLComponentVolumeStatus*) NORMAL { + if (SDLComponentVolumeStatus_NORMAL == nil) { + SDLComponentVolumeStatus_NORMAL = [[SDLComponentVolumeStatus alloc] initWithValue:@"NORMAL"]; + } + return SDLComponentVolumeStatus_NORMAL; +} + ++(SDLComponentVolumeStatus*) LOW { + if (SDLComponentVolumeStatus_LOW == nil) { + SDLComponentVolumeStatus_LOW = [[SDLComponentVolumeStatus alloc] initWithValue:@"LOW"]; + } + return SDLComponentVolumeStatus_LOW; +} + ++(SDLComponentVolumeStatus*) FAULT { + if (SDLComponentVolumeStatus_FAULT == nil) { + SDLComponentVolumeStatus_FAULT = [[SDLComponentVolumeStatus alloc] initWithValue:@"FAULT"]; + } + return SDLComponentVolumeStatus_FAULT; +} + ++(SDLComponentVolumeStatus*) ALERT { + if (SDLComponentVolumeStatus_ALERT == nil) { + SDLComponentVolumeStatus_ALERT = [[SDLComponentVolumeStatus alloc] initWithValue:@"ALERT"]; + } + return SDLComponentVolumeStatus_ALERT; +} + ++(SDLComponentVolumeStatus*) NOT_SUPPORTED { + if (SDLComponentVolumeStatus_NOT_SUPPORTED == nil) { + SDLComponentVolumeStatus_NOT_SUPPORTED = [[SDLComponentVolumeStatus alloc] initWithValue:@"NOT_SUPPORTED"]; + } + return SDLComponentVolumeStatus_NOT_SUPPORTED; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLConsoleController.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLConsoleController.h new file mode 100644 index 000000000..6570735e6 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLConsoleController.h @@ -0,0 +1,21 @@ +// SDLConsoleController.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +@import Foundation; +@import UIKit; + +#import "SDLDebugTool.h" + +@interface SDLConsoleController : UITableViewController <SDLDebugToolConsole> { + NSMutableArray* messageList; + BOOL atBottom; + NSDateFormatter* dateFormatter; +} + +@property (strong, readonly) NSMutableArray *messageList; + +-(id) initWithTableView:(UITableView*) tableView; + + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLConsoleController.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLConsoleController.m new file mode 100644 index 000000000..f3439e0a6 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLConsoleController.m @@ -0,0 +1,220 @@ +// SDLConsoleController.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLConsoleController.h" + +#import "SDLJSONEncoder.h" +#import "SDLRPCResponse.h" + +@implementation SDLConsoleController + +@synthesize messageList; + +-(id) initWithTableView:(UITableView*) tableView { + if (self = [super initWithStyle:UITableViewStylePlain]) { + self.tableView = tableView; + self.tableView.delegate = self; + self.tableView.dataSource = self; + [self viewDidLoad]; + } + return self; +} + + +-(void) append:(id) toAppend { + dispatch_async(dispatch_get_main_queue(), ^{ + //Insert the new data + NSMutableDictionary *dictionary = [NSMutableDictionary dictionary]; + + [dictionary setObject:toAppend forKey:@"object"]; + [dictionary setObject:[NSDate date] forKey:@"date"]; + + [messageList addObject:dictionary]; + NSIndexPath *newIndex = [NSIndexPath indexPathForRow:(messageList.count - 1) inSection:0]; + [self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndex] withRowAnimation:UITableViewRowAnimationBottom]; + + //If we were at the bottom, scroll to the new bottom. + if (atBottom) { + [self.tableView scrollToRowAtIndexPath:newIndex atScrollPosition:UITableViewScrollPositionBottom animated:YES]; + } + + [self.tableView reloadData]; + }); +} + +-(BOOL) isLastRowVisible { + if (messageList.count == 0) { + return YES; + } else { + NSIndexPath *lastIndex = [NSIndexPath indexPathForRow:(messageList.count - 1) inSection:0]; + + NSArray* visibleRowIndexes = [self.tableView indexPathsForVisibleRows]; + for (NSIndexPath* aPath in visibleRowIndexes) { + if ([aPath compare:lastIndex] == NSOrderedSame) { + return YES; + } + } + } + return NO; + +} + + +#pragma mark - +#pragma mark SDLDebugTool Console Delegate + +-(void) logInfo:(NSString*) info { + [self append:info]; +} + +-(void) logException:(NSException*) ex withMessage:(NSString*) message { + [self append:message]; + [self append:[ex description]]; +} + +-(void) logMessage:(SDLRPCMessage*) message{ + [self append:message]; +} + + + +#pragma mark - +#pragma mark View lifecycle + + +- (void)viewDidLoad { + + [SDLDebugTool addConsole:self]; + + [super viewDidLoad]; + + atBottom = YES; + + messageList = [[NSMutableArray alloc] initWithCapacity:100]; + dateFormatter = [[NSDateFormatter alloc] init]; + dateFormatter.dateFormat = @"hh:mm:ss.SSS"; +} + +#pragma mark - +#pragma mark Scroll View Delegate + +-(void) updateWhetherScrolledToBottom { + if ([self isLastRowVisible]) { + atBottom = YES; + } else { + atBottom = NO; + } +} + +-(void) scrollViewDidEndDecelerating:(UIScrollView*) scrollView { + [self updateWhetherScrolledToBottom]; +} + +-(void) scrollViewDidEndDragging:(UIScrollView*) scrollView willDecelerate:(BOOL) willDecelerate { + [self updateWhetherScrolledToBottom]; +} + + +#pragma mark - +#pragma mark Table view data source + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { + // Return the number of sections. + return 1; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { + // Return the number of rows in the section. + return messageList.count; +} + +// Customize the appearance of table view cells. +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + + static NSString *CellIdentifier = @"Cell"; + + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; + if (cell == nil) { + cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier]; + } + + NSDictionary *currentDictionary = [messageList objectAtIndex:indexPath.row]; + id msg = [currentDictionary objectForKey:@"object"]; + + NSString* tempdetail = [@"Time: " stringByAppendingString:[dateFormatter stringFromDate:[currentDictionary objectForKey:@"date"]]]; + + if ([msg isKindOfClass:SDLRPCMessage.class]) { + SDLRPCMessage *rpc = msg; + + NSString* title = [NSString stringWithFormat:@"%@ (%@)", rpc.name, rpc.messageType]; + + //TODO: Cell Color Based On Message Type + cell.textLabel.text = title; + + if ([rpc.messageType isEqualToString:@"response"]) { + SDLRPCResponse* response = (SDLRPCResponse*) rpc; +// if ([response info] == nil) + NSString* detail = [NSString stringWithFormat:@"%@ - %@", tempdetail, [response resultCode]]; + cell.detailTextLabel.text = detail; +// else +// detail = [NSString stringWithFormat:@"%@: %@", [response resultCode], [response info]]; + } + else { + cell.detailTextLabel.text = tempdetail; + } + + } else { + cell.textLabel.text = msg; + cell.detailTextLabel.text = tempdetail; + } + + return cell; +} + + +#pragma mark - +#pragma mark Table view delegate + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { + + NSDictionary *currentDictionary = [messageList objectAtIndex:indexPath.row]; + id obj = [currentDictionary objectForKey:@"object"]; + + NSString* alertText = nil; + if ([obj isKindOfClass:SDLRPCMessage.class]) { + //TODO:DEBUGOUTS +// [SDLDebugTool logInfo:@"SDLonsoleController: Class = %@",[obj class]]; + //TODO:DEBUGOUTSEND + + SDLRPCMessage *rpc = obj; + + //TODO:Get Internal Version Of Message For Line Below + NSDictionary* dictionary = [rpc serializeAsDictionary:2]; + + NSError *error = nil; + NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dictionary + options:NSJSONWritingPrettyPrinted + error:&error]; + + if (!jsonData) { + alertText = @"Error parsing the JSON."; + } else { + alertText = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; + } + + } else { + alertText = [NSString stringWithFormat:@"%@",[obj description]]; + } + + UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"RPCMessage" message:alertText delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; + [alertView show]; + alertView = nil; + + [self.tableView deselectRowAtIndexPath:indexPath animated:YES]; + +} + + + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSet.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSet.h new file mode 100644 index 000000000..2d72e4f2d --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSet.h @@ -0,0 +1,16 @@ +// SDLCreateInteractionChoiceSet.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +@interface SDLCreateInteractionChoiceSet : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* interactionChoiceSetID; +@property(strong) NSMutableArray* choiceSet; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSet.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSet.m new file mode 100644 index 000000000..1ac8baf95 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSet.m @@ -0,0 +1,55 @@ +// SDLCreateInteractionChoiceSet.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLCreateInteractionChoiceSet.h" + +#import "SDLNames.h" +#import "SDLChoice.h" + +@implementation SDLCreateInteractionChoiceSet + +-(id) init { + if (self = [super initWithName:NAMES_CreateInteractionChoiceSet]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setInteractionChoiceSetID:(NSNumber*) interactionChoiceSetID { + if (interactionChoiceSetID != nil) { + [parameters setObject:interactionChoiceSetID forKey:NAMES_interactionChoiceSetID]; + } else { + [parameters removeObjectForKey:NAMES_interactionChoiceSetID]; + } +} + +-(NSNumber*) interactionChoiceSetID { + return [parameters objectForKey:NAMES_interactionChoiceSetID]; +} + +-(void) setChoiceSet:(NSMutableArray*) choiceSet { + if (choiceSet != nil) { + [parameters setObject:choiceSet forKey:NAMES_choiceSet]; + } else { + [parameters removeObjectForKey:NAMES_choiceSet]; + } +} + +-(NSMutableArray*) choiceSet { + NSMutableArray* array = [parameters objectForKey:NAMES_choiceSet]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLChoice.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSDictionary* dict in array) { + [newList addObject:[[SDLChoice alloc] initWithDictionary:(NSMutableDictionary*)dict]]; + } + return newList; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSetResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSetResponse.h new file mode 100644 index 000000000..237c79c56 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSetResponse.h @@ -0,0 +1,13 @@ +// SDLCreateInteractionChoiceSetResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLCreateInteractionChoiceSetResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSetResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSetResponse.m new file mode 100644 index 000000000..4fd191fae --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSetResponse.m @@ -0,0 +1,21 @@ +// SDLCreateInteractionChoiceSetResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLCreateInteractionChoiceSetResponse.h" + +#import "SDLNames.h" + +@implementation SDLCreateInteractionChoiceSetResponse + +-(id) init { + if (self = [super initWithName:NAMES_CreateInteractionChoiceSet]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDIDResult.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDIDResult.h new file mode 100644 index 000000000..6b684c34a --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDIDResult.h @@ -0,0 +1,19 @@ +// SDLDIDResult.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +#import "SDLVehicleDataResultCode.h" + +@interface SDLDIDResult : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLVehicleDataResultCode* resultCode; +@property(strong) NSNumber* didLocation; +@property(strong) NSString* data; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDIDResult.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDIDResult.m new file mode 100644 index 000000000..f0e136978 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDIDResult.m @@ -0,0 +1,62 @@ +// SDLDIDResult.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLDIDResult.h" + +#import "SDLNames.h" + +@implementation SDLDIDResult + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setResultCode:(SDLVehicleDataResultCode*) resultCode { + if (resultCode != nil) { + [store setObject:resultCode forKey:NAMES_resultCode]; + } else { + [store removeObjectForKey:NAMES_resultCode]; + } +} + +-(SDLVehicleDataResultCode*) resultCode { + NSObject* obj = [store objectForKey:NAMES_resultCode]; + if ([obj isKindOfClass:SDLVehicleDataResultCode.class]) { + return (SDLVehicleDataResultCode*)obj; + } else { + return [SDLVehicleDataResultCode valueOf:(NSString*)obj]; + } +} + +-(void) setDidLocation:(NSNumber*) didLocation { + if (didLocation != nil) { + [store setObject:didLocation forKey:NAMES_didLocation]; + } else { + [store removeObjectForKey:NAMES_didLocation]; + } +} + +-(NSNumber*) didLocation { + return [store objectForKey:NAMES_didLocation]; +} + +-(void) setData:(NSString*) data { + if (data != nil) { + [store setObject:data forKey:NAMES_data]; + } else { + [store removeObjectForKey:NAMES_data]; + } +} + +-(NSString*) data { + return [store objectForKey:NAMES_data]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDebugTool.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDebugTool.h new file mode 100644 index 000000000..741140cfe --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDebugTool.h @@ -0,0 +1,54 @@ +// SDLDebugTool.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +@import Foundation; + +@class SDLRPCMessage; + +@protocol SDLDebugToolConsole + +- (void)logInfo:(NSString *)info; + +@end + + +typedef NS_ENUM(UInt8, SDLDebugType) { + SDLDebugType_Debug = 0, + SDLDebugType_Transport_iAP = 1, + SDLDebugType_Transport_TCP = 2, + SDLDebugType_Protocol = 3, + SDLDebugType_RPC = 4, + SDLDebugType_APP = 5 +}; + +typedef NS_ENUM(UInt8, SDLDebugOutput) { + SDLDebugOutput_All = 0xFF, + SDLDebugOutput_DeviceConsole = 1, + SDLDebugOutput_DebugToolConsole = 2, + SDLDebugOutput_File = 4 +}; + + + + +@interface SDLDebugTool : NSObject {} + ++ (void)addConsole:(NSObject<SDLDebugToolConsole> *)console; ++ (void)addConsole:(NSObject<SDLDebugToolConsole> *)console toGroup:(NSString *)groupName; ++ (void)removeConsole:(NSObject<SDLDebugToolConsole> *)console; ++ (void)removeConsole:(NSObject<SDLDebugToolConsole> *)console fromGroup:(NSString *)groupName; ++ (void)logInfo:(NSString *)info; ++ (void)logInfo:(NSString *)info withType:(SDLDebugType)type; ++ (void)logInfo:(NSString *)info withType:(SDLDebugType)type toOutput:(SDLDebugOutput)output; ++ (void)logInfo:(NSString *)info andBinaryData:(NSData *)data withType:(SDLDebugType)type toOutput:(SDLDebugOutput)output; ++ (void)logInfo:(NSString *)info withType:(SDLDebugType)type toOutput:(SDLDebugOutput)output toGroup:(NSString *)consoleGroupName; + ++ (void)enableDebugToLogFile; ++ (void)disableDebugToLogFile; ++ (void)writeToLogFile:(NSString *)info; + ++ (NSString *)stringForDebugType:(SDLDebugType) type; + + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDebugTool.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDebugTool.m new file mode 100644 index 000000000..5b686a4e7 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDebugTool.m @@ -0,0 +1,213 @@ +// SDLDebugTool.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLDebugTool.h" +#import "SDLRPCMessage.h" +#import "SDLSiphonServer.h" +#import "SDLHexUtility.h" + +#define LOG_ERROR_ENABLED + +static NSMutableDictionary* namedConsoleSets = nil; + +bool debugToLogFile = false; + +@implementation SDLDebugTool + + +#pragma mark - Console Management ++ (void)addConsole:(NSObject<SDLDebugToolConsole> *)console { + [self addConsole:console toGroup:@"default"]; +} + ++ (void)addConsole:(NSObject<SDLDebugToolConsole> *)console toGroup:(NSString *)groupName { + // Make sure master dictionary exists + if (namedConsoleSets == nil) { + namedConsoleSets = [NSMutableDictionary new]; + } + + // Make sure the set to contain this group's elements exists + if ([namedConsoleSets objectForKey:groupName] == nil) { + [namedConsoleSets setValue:[NSMutableSet new] forKey:groupName]; + } + + // Add the console to the set + [[namedConsoleSets valueForKey:groupName] addObject:console]; + +} + ++ (void)removeConsole:(NSObject<SDLDebugToolConsole> *)console { + [self removeConsole:console fromGroup:@"default"]; +} + ++ (void)removeConsole:(NSObject<SDLDebugToolConsole> *)console fromGroup:(NSString *)groupName { + [[SDLDebugTool getConsoleListenersForGroup:groupName] removeObject:console]; +} + ++ (NSMutableSet*)getConsoleListenersForGroup:(NSString *)groupName { + return [namedConsoleSets valueForKey:groupName]; +} + + +#pragma mark - logging +// TODO: Can we get rid of the "toGroup" stuff and merge it with the "toOutput" system? + ++ (void)logInfo:(NSString *)info { + [self logInfo:info withType:SDLDebugType_Debug toOutput:SDLDebugOutput_All toGroup:@"default"]; +} + ++ (void)logInfo:(NSString *)info withType:(SDLDebugType)type { + [self logInfo:info withType:type toOutput:SDLDebugOutput_All toGroup:@"default"]; +} + ++ (void)logInfo:(NSString *)info withType:(SDLDebugType)type toOutput:(SDLDebugOutput)output { + [SDLDebugTool logInfo:info withType:type toOutput:output toGroup:@"default"]; +} + ++ (void)logInfo:(NSString *)info andBinaryData:(NSData *)data withType:(SDLDebugType)type toOutput:(SDLDebugOutput)output { + + // convert binary data to string, append the two strings, then pass to usual log method. + NSMutableString *outputString = [[NSMutableString alloc] init]; + if (info) { + [outputString appendString:info]; + } + + if (data) { + NSString *dataString = [SDLHexUtility getHexString:data]; + if (dataString) { + [outputString appendString:dataString]; + } + } + + [SDLDebugTool logInfo:outputString withType:type toOutput:output toGroup:@"default"]; +} + +// The designated logInfo method. All outputs should be performed here. ++ (void)logInfo:(NSString *)info withType:(SDLDebugType)type toOutput:(SDLDebugOutput)output toGroup:(NSString *)consoleGroupName { + + // Format the message, start with type + NSMutableString *outputString = [NSMutableString stringWithFormat:@"[%@] %@", [SDLDebugTool stringForDebugType:type], info]; + + + //////////////////////////////////////////////// + // + // Output to the various destinations + // + //////////////////////////////////////////////// + + //Output To DeviceConsole + if (output & SDLDebugOutput_DeviceConsole) { + NSLog(@"%@", outputString); + } + + //Output To DebugToolConsoles + if (output & SDLDebugOutput_DebugToolConsole) { + NSSet *consoleListeners = [self getConsoleListenersForGroup:consoleGroupName]; + for (NSObject<SDLDebugToolConsole>* console in consoleListeners) { + [console logInfo:outputString]; + } + } + + //Output To LogFile + if (output & SDLDebugOutput_File) { + [SDLDebugTool writeToLogFile:outputString]; + } + + //Output To Siphon + [SDLSiphonServer init]; + [SDLSiphonServer _siphonNSLogData:outputString]; + +} + + +#pragma mark - file handling ++ (void)enableDebugToLogFile{ + debugToLogFile = true; + + [SDLDebugTool logInfo:@"Log File Enabled" withType:SDLDebugType_Debug]; + + //Delete Log File If It Exists + NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); + NSString *documentsDirectory = [paths objectAtIndex:0]; + NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"smartdevicelink.log"]; + + NSFileManager *manager = [NSFileManager defaultManager]; + if ([manager fileExistsAtPath:filePath]) { + [SDLDebugTool logInfo:@"Log File Exisits, Deleteing" withType:SDLDebugType_Debug]; + [manager removeItemAtPath:filePath error:nil]; + } + +} + ++ (void)disableDebugToLogFile { + debugToLogFile = false; +} + ++ (void)writeToLogFile:(NSString *)info { + + // Warning: do not call any logInfo method from here. recursion of death. + + if (!debugToLogFile || info == NULL || info.length == 0) { + return; + } + + // Create timestamp string, add it in front of the message to be logged + NSDate *currentDate = [NSDate date]; + NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; + [dateFormatter setDateFormat:@"MM/dd/YY HH:mm:ss.SSS"]; + NSString *dateString = [dateFormatter stringFromDate:currentDate]; + NSString *outputString = [dateString stringByAppendingFormat:@": %@\n", info ]; + + // file write takes an NSData, so convert string to data. + NSData *dataToLog = [outputString dataUsingEncoding:NSUTF8StringEncoding]; + + // If open/create file and write + NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); + NSString *documentsDirectory = [paths objectAtIndex:0]; + NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"smartdevicelink.log"]; + + NSFileHandle *fileHandle = [NSFileHandle fileHandleForWritingAtPath:filePath]; + if (fileHandle){ + [fileHandle seekToEndOfFile]; + [fileHandle writeData:dataToLog]; + [fileHandle closeFile]; + } + else { + [dataToLog writeToFile:filePath atomically:NO]; + } + +} + + +#pragma mark - Helper Methods ++(NSString *) stringForDebugType:(SDLDebugType) debugType{ + + switch (debugType) { + case SDLDebugType_Debug: + return @"DBG"; + break; + case SDLDebugType_Transport_iAP: + return @"iAP"; + break; + case SDLDebugType_Transport_TCP: + return @"TCP"; + break; + case SDLDebugType_Protocol: + return @"Pro"; + break; + case SDLDebugType_RPC: + return @"RPC"; + break; + case SDLDebugType_APP: + return @"APP"; + break; + + default: + return @"Invalid DebugType"; + break; + } + +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDecoder.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDecoder.h new file mode 100644 index 000000000..2d5692d6e --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDecoder.h @@ -0,0 +1,11 @@ +// SDLDecoder.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +@import Foundation; + +@protocol SDLDecoder + +-(NSDictionary*) decode:(NSData*) msgBytes; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommand.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommand.h new file mode 100644 index 000000000..37129e7e6 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommand.h @@ -0,0 +1,15 @@ +// SDLDeleteCommand.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +@interface SDLDeleteCommand : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* cmdID; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommand.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommand.m new file mode 100644 index 000000000..85b38e6a7 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommand.m @@ -0,0 +1,33 @@ +// SDLDeleteCommand.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLDeleteCommand.h" + +#import "SDLNames.h" + +@implementation SDLDeleteCommand + +-(id) init { + if (self = [super initWithName:NAMES_DeleteCommand]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setCmdID:(NSNumber*) cmdID { + if (cmdID != nil) { + [parameters setObject:cmdID forKey:NAMES_cmdID]; + } else { + [parameters removeObjectForKey:NAMES_cmdID]; + } +} + +-(NSNumber*) cmdID { + return [parameters objectForKey:NAMES_cmdID]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommandResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommandResponse.h new file mode 100644 index 000000000..0cc8518cd --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommandResponse.h @@ -0,0 +1,13 @@ +// SDLDeleteCommandResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLDeleteCommandResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommandResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommandResponse.m new file mode 100644 index 000000000..e6f24d0fc --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommandResponse.m @@ -0,0 +1,21 @@ +// SDLDeleteCommandResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLDeleteCommandResponse.h" + +#import "SDLNames.h" + +@implementation SDLDeleteCommandResponse + +-(id) init { + if (self = [super initWithName:NAMES_DeleteCommand]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFile.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFile.h new file mode 100644 index 000000000..2e1303699 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFile.h @@ -0,0 +1,15 @@ +// SDLDeleteFile.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +@interface SDLDeleteFile : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSString* syncFileName; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFile.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFile.m new file mode 100644 index 000000000..3d20d4f71 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFile.m @@ -0,0 +1,33 @@ +// SDLDeleteFile.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLDeleteFile.h" + +#import "SDLNames.h" + +@implementation SDLDeleteFile + +-(id) init { + if (self = [super initWithName:NAMES_DeleteFile]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setSyncFileName:(NSString*) syncFileName { + if (syncFileName != nil) { + [parameters setObject:syncFileName forKey:NAMES_syncFileName]; + } else { + [parameters removeObjectForKey:NAMES_syncFileName]; + } +} + +-(NSString*) syncFileName { + return [parameters objectForKey:NAMES_syncFileName]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFileResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFileResponse.h new file mode 100644 index 000000000..32df9b91a --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFileResponse.h @@ -0,0 +1,15 @@ +// SDLDeleteFileResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLDeleteFileResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* spaceAvailable; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFileResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFileResponse.m new file mode 100644 index 000000000..a5293a027 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFileResponse.m @@ -0,0 +1,33 @@ +// SDLDeleteFileResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLDeleteFileResponse.h" + +#import "SDLNames.h" + +@implementation SDLDeleteFileResponse + +-(id) init { + if (self = [super initWithName:NAMES_DeleteFile]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setSpaceAvailable:(NSNumber*) spaceAvailable { + if (spaceAvailable != nil) { + [parameters setObject:spaceAvailable forKey:NAMES_spaceAvailable]; + } else { + [parameters removeObjectForKey:NAMES_spaceAvailable]; + } +} + +-(NSNumber*) spaceAvailable { + return [parameters objectForKey:NAMES_spaceAvailable]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSet.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSet.h new file mode 100644 index 000000000..ab1031713 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSet.h @@ -0,0 +1,15 @@ +// SDLDeleteInteractionChoiceSet.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +@interface SDLDeleteInteractionChoiceSet : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* interactionChoiceSetID; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSet.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSet.m new file mode 100644 index 000000000..99ee55ce7 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSet.m @@ -0,0 +1,33 @@ +// SDLDeleteInteractionChoiceSet.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLDeleteInteractionChoiceSet.h" + +#import "SDLNames.h" + +@implementation SDLDeleteInteractionChoiceSet + +-(id) init { + if (self = [super initWithName:NAMES_DeleteInteractionChoiceSet]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setInteractionChoiceSetID:(NSNumber*) interactionChoiceSetID { + if (interactionChoiceSetID != nil) { + [parameters setObject:interactionChoiceSetID forKey:NAMES_interactionChoiceSetID]; + } else { + [parameters removeObjectForKey:NAMES_interactionChoiceSetID]; + } +} + +-(NSNumber*) interactionChoiceSetID { + return [parameters objectForKey:NAMES_interactionChoiceSetID]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSetResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSetResponse.h new file mode 100644 index 000000000..ec8f53847 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSetResponse.h @@ -0,0 +1,13 @@ +// SDLDeleteInteractionChoiceSetResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLDeleteInteractionChoiceSetResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSetResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSetResponse.m new file mode 100644 index 000000000..7516fb8b3 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSetResponse.m @@ -0,0 +1,21 @@ +// SDLDeleteInteractionChoiceSetResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLDeleteInteractionChoiceSetResponse.h" + +#import "SDLNames.h" + +@implementation SDLDeleteInteractionChoiceSetResponse + +-(id) init { + if (self = [super initWithName:NAMES_DeleteInteractionChoiceSet]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenu.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenu.h new file mode 100644 index 000000000..5a0aee05d --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenu.h @@ -0,0 +1,15 @@ +// SDLDeleteSubMenu.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +@interface SDLDeleteSubMenu : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* menuID; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenu.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenu.m new file mode 100644 index 000000000..e5b005390 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenu.m @@ -0,0 +1,33 @@ +// SDLDeleteSubMenu.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLDeleteSubMenu.h" + +#import "SDLNames.h" + +@implementation SDLDeleteSubMenu + +-(id) init { + if (self = [super initWithName:NAMES_DeleteSubMenu]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setMenuID:(NSNumber*) menuID { + if (menuID != nil) { + [parameters setObject:menuID forKey:NAMES_menuID]; + } else { + [parameters removeObjectForKey:NAMES_menuID]; + } +} + +-(NSNumber*) menuID { + return [parameters objectForKey:NAMES_menuID]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenuResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenuResponse.h new file mode 100644 index 000000000..e0e62dabe --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenuResponse.h @@ -0,0 +1,13 @@ +// SDLDeleteSubMenuResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLDeleteSubMenuResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenuResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenuResponse.m new file mode 100644 index 000000000..ec86779d1 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenuResponse.m @@ -0,0 +1,21 @@ +// SDLDeleteSubMenuResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLDeleteSubMenuResponse.h" + +#import "SDLNames.h" + +@implementation SDLDeleteSubMenuResponse + +-(id) init { + if (self = [super initWithName:NAMES_DeleteSubMenu]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceInfo.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceInfo.h new file mode 100644 index 000000000..66e1bc8bc --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceInfo.h @@ -0,0 +1,20 @@ +// SDLDeviceInfo.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +@interface SDLDeviceInfo : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSString* hardware; +@property(strong) NSString* firmwareRev; +@property(strong) NSString* os; +@property(strong) NSString* osVersion; +@property(strong) NSString* carrier; +@property(strong) NSNumber* maxNumberRFCOMMPorts; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceInfo.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceInfo.m new file mode 100644 index 000000000..f7614b166 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceInfo.m @@ -0,0 +1,93 @@ +// SDLDeviceInfo.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLDeviceInfo.h" + +#import "SDLNames.h" + +@implementation SDLDeviceInfo + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setHardware:(NSString*) hardware { + if (hardware != nil) { + [store setObject:hardware forKey:NAMES_hardware]; + } else { + [store removeObjectForKey:NAMES_hardware]; + } +} + +-(NSString*) hardware { + return [store objectForKey:NAMES_hardware]; +} + +-(void) setFirmwareRev:(NSString*) firmwareRev { + if (firmwareRev != nil) { + [store setObject:firmwareRev forKey:NAMES_firmwareRev]; + } else { + [store removeObjectForKey:NAMES_firmwareRev]; + } +} + +-(NSString*) firmwareRev { + return [store objectForKey:NAMES_firmwareRev]; +} + +-(void) setOs:(NSString*) os { + if (os != nil) { + [store setObject:os forKey:NAMES_os]; + } else { + [store removeObjectForKey:NAMES_os]; + } +} + +-(NSString*) os { + return [store objectForKey:NAMES_os]; +} + +-(void) setOsVersion:(NSString*) osVersion { + if (osVersion != nil) { + [store setObject:osVersion forKey:NAMES_osVersion]; + } else { + [store removeObjectForKey:NAMES_osVersion]; + } +} + +-(NSString*) osVersion { + return [store objectForKey:NAMES_osVersion]; +} + +-(void) setCarrier:(NSString*) carrier { + if (carrier != nil) { + [store setObject:carrier forKey:NAMES_carrier]; + } else { + [store removeObjectForKey:NAMES_carrier]; + } +} + +-(NSString*) carrier { + return [store objectForKey:NAMES_carrier]; +} + +-(void) setMaxNumberRFCOMMPorts:(NSNumber*) maxNumberRFCOMMPorts { + if (maxNumberRFCOMMPorts != nil) { + [store setObject:maxNumberRFCOMMPorts forKey:NAMES_maxNumberRFCOMMPorts]; + } else { + [store removeObjectForKey:NAMES_maxNumberRFCOMMPorts]; + } +} + +-(NSNumber*) maxNumberRFCOMMPorts { + return [store objectForKey:NAMES_maxNumberRFCOMMPorts]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceLevelStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceLevelStatus.h new file mode 100644 index 000000000..cd9f775c3 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceLevelStatus.h @@ -0,0 +1,20 @@ +// SDLDeviceLevelStatus.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLDeviceLevelStatus : SDLEnum {} + ++(SDLDeviceLevelStatus*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLDeviceLevelStatus*) ZERO_LEVEL_BARS; ++(SDLDeviceLevelStatus*) ONE_LEVEL_BARS; ++(SDLDeviceLevelStatus*) TWO_LEVEL_BARS; ++(SDLDeviceLevelStatus*) THREE_LEVEL_BARS; ++(SDLDeviceLevelStatus*) FOUR_LEVEL_BARS; ++(SDLDeviceLevelStatus*) NOT_PROVIDED; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceLevelStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceLevelStatus.m new file mode 100644 index 000000000..96e0f1acf --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceLevelStatus.m @@ -0,0 +1,83 @@ +// SDLDeviceLevelStatus.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLDeviceLevelStatus.h" + +SDLDeviceLevelStatus* SDLDeviceLevelStatus_ZERO_LEVEL_BARS = nil; +SDLDeviceLevelStatus* SDLDeviceLevelStatus_ONE_LEVEL_BARS = nil; +SDLDeviceLevelStatus* SDLDeviceLevelStatus_TWO_LEVEL_BARS = nil; +SDLDeviceLevelStatus* SDLDeviceLevelStatus_THREE_LEVEL_BARS = nil; +SDLDeviceLevelStatus* SDLDeviceLevelStatus_FOUR_LEVEL_BARS = nil; +SDLDeviceLevelStatus* SDLDeviceLevelStatus_NOT_PROVIDED = nil; + +NSMutableArray* SDLDeviceLevelStatus_values = nil; + +@implementation SDLDeviceLevelStatus + ++(SDLDeviceLevelStatus*) valueOf:(NSString*) value { + for (SDLDeviceLevelStatus* item in SDLDeviceLevelStatus.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLDeviceLevelStatus_values == nil) { + SDLDeviceLevelStatus_values = [[NSMutableArray alloc] initWithObjects: + SDLDeviceLevelStatus.ZERO_LEVEL_BARS, + SDLDeviceLevelStatus.ONE_LEVEL_BARS, + SDLDeviceLevelStatus.TWO_LEVEL_BARS, + SDLDeviceLevelStatus.THREE_LEVEL_BARS, + SDLDeviceLevelStatus.FOUR_LEVEL_BARS, + SDLDeviceLevelStatus.NOT_PROVIDED, + nil]; + } + return SDLDeviceLevelStatus_values; +} + ++(SDLDeviceLevelStatus*) ZERO_LEVEL_BARS { + if (SDLDeviceLevelStatus_ZERO_LEVEL_BARS == nil) { + SDLDeviceLevelStatus_ZERO_LEVEL_BARS = [[SDLDeviceLevelStatus alloc] initWithValue:@"ZERO_LEVEL_BARS"]; + } + return SDLDeviceLevelStatus_ZERO_LEVEL_BARS; +} + ++(SDLDeviceLevelStatus*) ONE_LEVEL_BARS { + if (SDLDeviceLevelStatus_ONE_LEVEL_BARS == nil) { + SDLDeviceLevelStatus_ONE_LEVEL_BARS = [[SDLDeviceLevelStatus alloc] initWithValue:@"ONE_LEVEL_BARS"]; + } + return SDLDeviceLevelStatus_ONE_LEVEL_BARS; +} + ++(SDLDeviceLevelStatus*) TWO_LEVEL_BARS { + if (SDLDeviceLevelStatus_TWO_LEVEL_BARS == nil) { + SDLDeviceLevelStatus_TWO_LEVEL_BARS = [[SDLDeviceLevelStatus alloc] initWithValue:@"TWO_LEVEL_BARS"]; + } + return SDLDeviceLevelStatus_TWO_LEVEL_BARS; +} + ++(SDLDeviceLevelStatus*) THREE_LEVEL_BARS { + if (SDLDeviceLevelStatus_THREE_LEVEL_BARS == nil) { + SDLDeviceLevelStatus_THREE_LEVEL_BARS = [[SDLDeviceLevelStatus alloc] initWithValue:@"THREE_LEVEL_BARS"]; + } + return SDLDeviceLevelStatus_THREE_LEVEL_BARS; +} + ++(SDLDeviceLevelStatus*) FOUR_LEVEL_BARS { + if (SDLDeviceLevelStatus_FOUR_LEVEL_BARS == nil) { + SDLDeviceLevelStatus_FOUR_LEVEL_BARS = [[SDLDeviceLevelStatus alloc] initWithValue:@"FOUR_LEVEL_BARS"]; + } + return SDLDeviceLevelStatus_FOUR_LEVEL_BARS; +} + ++(SDLDeviceLevelStatus*) NOT_PROVIDED { + if (SDLDeviceLevelStatus_NOT_PROVIDED == nil) { + SDLDeviceLevelStatus_NOT_PROVIDED = [[SDLDeviceLevelStatus alloc] initWithValue:@"NOT_PROVIDED"]; + } + return SDLDeviceLevelStatus_NOT_PROVIDED; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceStatus.h new file mode 100644 index 000000000..2eaba47b5 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceStatus.h @@ -0,0 +1,28 @@ +// SDLDeviceStatus.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +#import "SDLDeviceLevelStatus.h" +#import "SDLPrimaryAudioSource.h" + +@interface SDLDeviceStatus : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* voiceRecOn; +@property(strong) NSNumber* btIconOn; +@property(strong) NSNumber* callActive; +@property(strong) NSNumber* phoneRoaming; +@property(strong) NSNumber* textMsgAvailable; +@property(strong) SDLDeviceLevelStatus* battLevelStatus; +@property(strong) NSNumber* stereoAudioOutputMuted; +@property(strong) NSNumber* monoAudioOutputMuted; +@property(strong) SDLDeviceLevelStatus* signalLevelStatus; +@property(strong) SDLPrimaryAudioSource* primaryAudioSource; +@property(strong) NSNumber* eCallEventActive; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceStatus.m new file mode 100644 index 000000000..15a3ec251 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceStatus.m @@ -0,0 +1,168 @@ +// SDLDeviceStatus.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLDeviceStatus.h" + +#import "SDLNames.h" + +@implementation SDLDeviceStatus + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setVoiceRecOn:(NSNumber*) voiceRecOn { + if (voiceRecOn != nil) { + [store setObject:voiceRecOn forKey:NAMES_voiceRecOn]; + } else { + [store removeObjectForKey:NAMES_voiceRecOn]; + } +} + +-(NSNumber*) voiceRecOn { + return [store objectForKey:NAMES_voiceRecOn]; +} + +-(void) setBtIconOn:(NSNumber*) btIconOn { + if (btIconOn != nil) { + [store setObject:btIconOn forKey:NAMES_btIconOn]; + } else { + [store removeObjectForKey:NAMES_btIconOn]; + } +} + +-(NSNumber*) btIconOn { + return [store objectForKey:NAMES_btIconOn]; +} + +-(void) setCallActive:(NSNumber*) callActive { + if (callActive != nil) { + [store setObject:callActive forKey:NAMES_callActive]; + } else { + [store removeObjectForKey:NAMES_callActive]; + } +} + +-(NSNumber*) callActive { + return [store objectForKey:NAMES_callActive]; +} + +-(void) setPhoneRoaming:(NSNumber*) phoneRoaming { + if (phoneRoaming != nil) { + [store setObject:phoneRoaming forKey:NAMES_phoneRoaming]; + } else { + [store removeObjectForKey:NAMES_phoneRoaming]; + } +} + +-(NSNumber*) phoneRoaming { + return [store objectForKey:NAMES_phoneRoaming]; +} + +-(void) setTextMsgAvailable:(NSNumber*) textMsgAvailable { + if (textMsgAvailable != nil) { + [store setObject:textMsgAvailable forKey:NAMES_textMsgAvailable]; + } else { + [store removeObjectForKey:NAMES_textMsgAvailable]; + } +} + +-(NSNumber*) textMsgAvailable { + return [store objectForKey:NAMES_textMsgAvailable]; +} + +-(void) setBattLevelStatus:(SDLDeviceLevelStatus*) battLevelStatus { + if (battLevelStatus != nil) { + [store setObject:battLevelStatus forKey:NAMES_battLevelStatus]; + } else { + [store removeObjectForKey:NAMES_battLevelStatus]; + } +} + +-(SDLDeviceLevelStatus*) battLevelStatus { + NSObject* obj = [store objectForKey:NAMES_battLevelStatus]; + if ([obj isKindOfClass:SDLDeviceLevelStatus.class]) { + return (SDLDeviceLevelStatus*)obj; + } else { + return [SDLDeviceLevelStatus valueOf:(NSString*)obj]; + } +} + +-(void) setStereoAudioOutputMuted:(NSNumber*) stereoAudioOutputMuted { + if (stereoAudioOutputMuted != nil) { + [store setObject:stereoAudioOutputMuted forKey:NAMES_stereoAudioOutputMuted]; + } else { + [store removeObjectForKey:NAMES_stereoAudioOutputMuted]; + } +} + +-(NSNumber*) stereoAudioOutputMuted { + return [store objectForKey:NAMES_stereoAudioOutputMuted]; +} + +-(void) setMonoAudioOutputMuted:(NSNumber*) monoAudioOutputMuted { + if (monoAudioOutputMuted != nil) { + [store setObject:monoAudioOutputMuted forKey:NAMES_monoAudioOutputMuted]; + } else { + [store removeObjectForKey:NAMES_monoAudioOutputMuted]; + } +} + +-(NSNumber*) monoAudioOutputMuted { + return [store objectForKey:NAMES_monoAudioOutputMuted]; +} + +-(void) setSignalLevelStatus:(SDLDeviceLevelStatus*) signalLevelStatus { + if (signalLevelStatus != nil) { + [store setObject:signalLevelStatus forKey:NAMES_signalLevelStatus]; + } else { + [store removeObjectForKey:NAMES_signalLevelStatus]; + } +} + +-(SDLDeviceLevelStatus*) signalLevelStatus { + NSObject* obj = [store objectForKey:NAMES_signalLevelStatus]; + if ([obj isKindOfClass:SDLDeviceLevelStatus.class]) { + return (SDLDeviceLevelStatus*)obj; + } else { + return [SDLDeviceLevelStatus valueOf:(NSString*)obj]; + } +} + +-(void) setPrimaryAudioSource:(SDLPrimaryAudioSource*) primaryAudioSource { + if (primaryAudioSource != nil) { + [store setObject:primaryAudioSource forKey:NAMES_primaryAudioSource]; + } else { + [store removeObjectForKey:NAMES_primaryAudioSource]; + } +} + +-(SDLPrimaryAudioSource*) primaryAudioSource { + NSObject* obj = [store objectForKey:NAMES_primaryAudioSource]; + if ([obj isKindOfClass:SDLPrimaryAudioSource.class]) { + return (SDLPrimaryAudioSource*)obj; + } else { + return [SDLPrimaryAudioSource valueOf:(NSString*)obj]; + } +} + +-(void) setECallEventActive:(NSNumber*) eCallEventActive { + if (eCallEventActive != nil) { + [store setObject:eCallEventActive forKey:NAMES_eCallEventActive]; + } else { + [store removeObjectForKey:NAMES_eCallEventActive]; + } +} + +-(NSNumber*) eCallEventActive { + return [store objectForKey:NAMES_eCallEventActive]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessage.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessage.h new file mode 100644 index 000000000..d24469c58 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessage.h @@ -0,0 +1,17 @@ +// SDLDiagnosticMessage.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +@interface SDLDiagnosticMessage : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* targetID; +@property(strong) NSNumber* messageLength; +@property(strong) NSMutableArray* messageData; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessage.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessage.m new file mode 100644 index 000000000..50713c5bc --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessage.m @@ -0,0 +1,57 @@ +// SDLDiagnosticMessage.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLDiagnosticMessage.h" + +#import "SDLNames.h" + +@implementation SDLDiagnosticMessage + +-(id) init { + if (self = [super initWithName:NAMES_DiagnosticMessage]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setTargetID:(NSNumber*) targetID { + if (targetID != nil) { + [parameters setObject:targetID forKey:NAMES_targetID]; + } else { + [parameters removeObjectForKey:NAMES_targetID]; + } +} + +-(NSNumber*) targetID { + return [parameters objectForKey:NAMES_targetID]; +} + +-(void) setMessageLength:(NSNumber*) messageLength { + if (messageLength != nil) { + [parameters setObject:messageLength forKey:NAMES_messageLength]; + } else { + [parameters removeObjectForKey:NAMES_messageLength]; + } +} + +-(NSNumber*) messageLength { + return [parameters objectForKey:NAMES_messageLength]; +} + +-(void) setMessageData:(NSMutableArray*) messageData { + if (messageData != nil) { + [parameters setObject:messageData forKey:NAMES_messageData]; + } else { + [parameters removeObjectForKey:NAMES_messageData]; + } +} + +-(NSMutableArray*) messageData { + return [parameters objectForKey:NAMES_messageData]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessageResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessageResponse.h new file mode 100644 index 000000000..0ee63d47a --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessageResponse.h @@ -0,0 +1,15 @@ +// SDLDiagnosticMessageResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLDiagnosticMessageResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSMutableArray* messageDataResult; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessageResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessageResponse.m new file mode 100644 index 000000000..4f1286e72 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessageResponse.m @@ -0,0 +1,33 @@ +// SDLDiagnosticMessageResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLDiagnosticMessageResponse.h" + +#import "SDLNames.h" + +@implementation SDLDiagnosticMessageResponse + +-(id) init { + if (self = [super initWithName:NAMES_DiagnosticMessage]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setMessageDataResult:(NSMutableArray*) messageDataResult { + if (messageDataResult != nil) { + [parameters setObject:messageDataResult forKey:NAMES_messageDataResult]; + } else { + [parameters removeObjectForKey:NAMES_messageDataResult]; + } +} + +-(NSMutableArray*) messageDataResult { + return [parameters objectForKey:NAMES_messageDataResult]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDimension.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDimension.h new file mode 100644 index 000000000..038966415 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDimension.h @@ -0,0 +1,17 @@ +// SDLDimension.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLDimension : SDLEnum {} + ++(SDLDimension*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLDimension*) NO_FIX; ++(SDLDimension*) _2D; ++(SDLDimension*) _3D; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDimension.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDimension.m new file mode 100644 index 000000000..98abf6611 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDimension.m @@ -0,0 +1,56 @@ +// SDLDimension.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLDimension.h" + +SDLDimension* SDLDimension_NO_FIX = nil; +SDLDimension* SDLDimension_2D = nil; +SDLDimension* SDLDimension_3D = nil; + +NSMutableArray* SDLDimension_values = nil; + +@implementation SDLDimension + ++(SDLDimension*) valueOf:(NSString*) value { + for (SDLDimension* item in SDLDimension.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLDimension_values == nil) { + SDLDimension_values = [[NSMutableArray alloc] initWithObjects: + SDLDimension.NO_FIX, + SDLDimension._2D, + SDLDimension._3D, + nil]; + } + return SDLDimension_values; +} + ++(SDLDimension*) NO_FIX { + if (SDLDimension_NO_FIX == nil) { + SDLDimension_NO_FIX = [[SDLDimension alloc] initWithValue:@"NO_FIX"]; + } + return SDLDimension_NO_FIX; +} + ++(SDLDimension*) _2D { + if (SDLDimension_2D == nil) { + SDLDimension_2D = [[SDLDimension alloc] initWithValue:@"2D"]; + } + return SDLDimension_2D; +} + ++(SDLDimension*) _3D { + if (SDLDimension_3D == nil) { + SDLDimension_3D = [[SDLDimension alloc] initWithValue:@"3D"]; + } + return SDLDimension_3D; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayCapabilities.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayCapabilities.h new file mode 100644 index 000000000..ad46e41a2 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayCapabilities.h @@ -0,0 +1,25 @@ +// SDLDisplayCapabilities.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +#import "SDLDisplayType.h" +#import "SDLScreenParams.h" + +@interface SDLDisplayCapabilities : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLDisplayType* displayType; +@property(strong) NSMutableArray* textFields; +@property(strong) NSMutableArray* imageFields; +@property(strong) NSMutableArray* mediaClockFormats; +@property(strong) NSNumber* graphicSupported; +@property(strong) NSMutableArray* templatesAvailable; +@property(strong) SDLScreenParams* screenParams; +@property(strong) NSNumber* numCustomPresetsAvailable; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayCapabilities.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayCapabilities.m new file mode 100644 index 000000000..893cfb021 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayCapabilities.m @@ -0,0 +1,157 @@ +// SDLDisplayCapabilities.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLDisplayCapabilities.h" + +#import "SDLNames.h" +#import "SDLTextField.h" +#import "SDLImageField.h" +#import "SDLMediaClockFormat.h" + +@implementation SDLDisplayCapabilities + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setDisplayType:(SDLDisplayType*) displayType { + if (displayType != nil) { + [store setObject:displayType forKey:NAMES_displayType]; + } else { + [store removeObjectForKey:NAMES_displayType]; + } +} + +-(SDLDisplayType*) displayType { + NSObject* obj = [store objectForKey:NAMES_displayType]; + if ([obj isKindOfClass:SDLDisplayType.class]) { + return (SDLDisplayType*)obj; + } else { + return [SDLDisplayType valueOf:(NSString*)obj]; + } +} + +-(void) setTextFields:(NSMutableArray*) textFields { + if (textFields != nil) { + [store setObject:textFields forKey:NAMES_textFields]; + } else { + [store removeObjectForKey:NAMES_textFields]; + } +} + +-(NSMutableArray*) textFields { + NSMutableArray* array = [store objectForKey:NAMES_textFields]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLTextField.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSDictionary* dict in array) { + [newList addObject:[[SDLTextField alloc] initWithDictionary:(NSMutableDictionary*)dict]]; + } + return newList; + } +} + +-(void) setImageFields:(NSMutableArray*) imageFields { + if (imageFields != nil) { + [store setObject:imageFields forKey:NAMES_imageFields]; + } else { + [store removeObjectForKey:NAMES_imageFields]; + } +} + +-(NSMutableArray*) imageFields { + NSMutableArray* array = [store objectForKey:NAMES_imageFields]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLImageField.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSDictionary* dict in array) { + [newList addObject:[[SDLImageField alloc] initWithDictionary:(NSMutableDictionary*)dict]]; + } + return newList; + } +} + +-(void) setMediaClockFormats:(NSMutableArray*) mediaClockFormats { + if (mediaClockFormats != nil) { + [store setObject:mediaClockFormats forKey:NAMES_mediaClockFormats]; + } else { + [store removeObjectForKey:NAMES_mediaClockFormats]; + } +} + +-(NSMutableArray*) mediaClockFormats { + NSMutableArray* array = [store objectForKey:NAMES_mediaClockFormats]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLMediaClockFormat.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSString* enumString in array) { + [newList addObject:[SDLMediaClockFormat valueOf:enumString]]; + } + return newList; + } +} + +-(void) setGraphicSupported:(NSNumber*) graphicSupported { + if (graphicSupported != nil) { + [store setObject:graphicSupported forKey:NAMES_graphicSupported]; + } else { + [store removeObjectForKey:NAMES_graphicSupported]; + } +} + +-(NSNumber*) graphicSupported { + return [store objectForKey:NAMES_graphicSupported]; +} + +-(void) setTemplatesAvailable:(NSMutableArray*) templatesAvailable { + if (templatesAvailable != nil) { + [store setObject:templatesAvailable forKey:NAMES_templatesAvailable]; + } else { + [store removeObjectForKey:NAMES_templatesAvailable]; + } +} + +-(NSMutableArray*) templatesAvailable { + return [store objectForKey:NAMES_templatesAvailable]; +} + +-(void) setScreenParams:(SDLScreenParams*) screenParams { + if (screenParams != nil) { + [store setObject:screenParams forKey:NAMES_screenParams]; + } else { + [store removeObjectForKey:NAMES_screenParams]; + } +} + +-(SDLScreenParams*) screenParams { + NSObject* obj = [store objectForKey:NAMES_screenParams]; + if ([obj isKindOfClass:SDLScreenParams.class]) { + return (SDLScreenParams*)obj; + } else { + return [[SDLScreenParams alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setNumCustomPresetsAvailable:(NSNumber*) numCustomPresetsAvailable { + if (numCustomPresetsAvailable != nil) { + [store setObject:numCustomPresetsAvailable forKey:NAMES_numCustomPresetsAvailable]; + } else { + [store removeObjectForKey:NAMES_numCustomPresetsAvailable]; + } +} + +-(NSNumber*) numCustomPresetsAvailable { + return [store objectForKey:NAMES_numCustomPresetsAvailable]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayType.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayType.h new file mode 100644 index 000000000..d4f1eeee3 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayType.h @@ -0,0 +1,24 @@ +// SDLDisplayType.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLDisplayType : SDLEnum {} + ++(SDLDisplayType*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLDisplayType*) CID; ++(SDLDisplayType*) TYPE2; ++(SDLDisplayType*) TYPE5; ++(SDLDisplayType*) NGN; ++(SDLDisplayType*) GEN2_8_DMA; ++(SDLDisplayType*) GEN2_6_DMA; ++(SDLDisplayType*) MFD3; ++(SDLDisplayType*) MFD4; ++(SDLDisplayType*) MFD5; ++(SDLDisplayType*) GEN3_8_INCH; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayType.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayType.m new file mode 100644 index 000000000..12dee11e7 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayType.m @@ -0,0 +1,119 @@ +// SDLDisplayType.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLDisplayType.h" + +SDLDisplayType* SDLDisplayType_CID = nil; +SDLDisplayType* SDLDisplayType_TYPE2 = nil; +SDLDisplayType* SDLDisplayType_TYPE5 = nil; +SDLDisplayType* SDLDisplayType_NGN = nil; +SDLDisplayType* SDLDisplayType_GEN2_8_DMA = nil; +SDLDisplayType* SDLDisplayType_GEN2_6_DMA = nil; +SDLDisplayType* SDLDisplayType_MFD3 = nil; +SDLDisplayType* SDLDisplayType_MFD4 = nil; +SDLDisplayType* SDLDisplayType_MFD5 = nil; +SDLDisplayType* SDLDisplayType_GEN3_8_INCH = nil; + +NSMutableArray* SDLDisplayType_values = nil; + +@implementation SDLDisplayType + ++(SDLDisplayType*) valueOf:(NSString*) value { + for (SDLDisplayType* item in SDLDisplayType.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLDisplayType_values == nil) { + SDLDisplayType_values = [[NSMutableArray alloc] initWithObjects: + SDLDisplayType.CID, + SDLDisplayType.TYPE2, + SDLDisplayType.TYPE5, + SDLDisplayType.NGN, + SDLDisplayType.GEN2_8_DMA, + SDLDisplayType.GEN2_6_DMA, + SDLDisplayType.MFD3, + SDLDisplayType.MFD4, + SDLDisplayType.MFD5, + SDLDisplayType.GEN3_8_INCH, + nil]; + } + return SDLDisplayType_values; +} + ++(SDLDisplayType*) CID { + if (SDLDisplayType_CID == nil) { + SDLDisplayType_CID = [[SDLDisplayType alloc] initWithValue:@"CID"]; + } + return SDLDisplayType_CID; +} + ++(SDLDisplayType*) TYPE2 { + if (SDLDisplayType_TYPE2 == nil) { + SDLDisplayType_TYPE2 = [[SDLDisplayType alloc] initWithValue:@"TYPE2"]; + } + return SDLDisplayType_TYPE2; +} + ++(SDLDisplayType*) TYPE5 { + if (SDLDisplayType_TYPE5 == nil) { + SDLDisplayType_TYPE5 = [[SDLDisplayType alloc] initWithValue:@"TYPE5"]; + } + return SDLDisplayType_TYPE5; +} + ++(SDLDisplayType*) NGN { + if (SDLDisplayType_NGN == nil) { + SDLDisplayType_NGN = [[SDLDisplayType alloc] initWithValue:@"NGN"]; + } + return SDLDisplayType_NGN; +} + ++(SDLDisplayType*) GEN2_8_DMA { + if (SDLDisplayType_GEN2_8_DMA == nil) { + SDLDisplayType_GEN2_8_DMA = [[SDLDisplayType alloc] initWithValue:@"GEN2_8_DMA"]; + } + return SDLDisplayType_GEN2_8_DMA; +} + ++(SDLDisplayType*) GEN2_6_DMA { + if (SDLDisplayType_GEN2_6_DMA == nil) { + SDLDisplayType_GEN2_6_DMA = [[SDLDisplayType alloc] initWithValue:@"GEN2_6_DMA"]; + } + return SDLDisplayType_GEN2_6_DMA; +} + ++(SDLDisplayType*) MFD3 { + if (SDLDisplayType_MFD3 == nil) { + SDLDisplayType_MFD3 = [[SDLDisplayType alloc] initWithValue:@"MFD3"]; + } + return SDLDisplayType_MFD3; +} + ++(SDLDisplayType*) MFD4 { + if (SDLDisplayType_MFD4 == nil) { + SDLDisplayType_MFD4 = [[SDLDisplayType alloc] initWithValue:@"MFD4"]; + } + return SDLDisplayType_MFD4; +} + ++(SDLDisplayType*) MFD5 { + if (SDLDisplayType_MFD5 == nil) { + SDLDisplayType_MFD5 = [[SDLDisplayType alloc] initWithValue:@"MFD5"]; + } + return SDLDisplayType_MFD5; +} + ++(SDLDisplayType*) GEN3_8_INCH { + if (SDLDisplayType_GEN3_8_INCH == nil) { + SDLDisplayType_GEN3_8_INCH = [[SDLDisplayType alloc] initWithValue:@"GEN3_8-INCH"]; + } + return SDLDisplayType_GEN3_8_INCH; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDriverDistractionState.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDriverDistractionState.h new file mode 100644 index 000000000..39d434abd --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDriverDistractionState.h @@ -0,0 +1,16 @@ +// SDLDriverDistractionState.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLDriverDistractionState : SDLEnum {} + ++(SDLDriverDistractionState*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLDriverDistractionState*) DD_ON; ++(SDLDriverDistractionState*) DD_OFF; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDriverDistractionState.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDriverDistractionState.m new file mode 100644 index 000000000..d1a3d18e4 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDriverDistractionState.m @@ -0,0 +1,47 @@ +// SDLDriverDistractionState.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLDriverDistractionState.h" + +SDLDriverDistractionState* SDLDriverDistractionState_DD_ON = nil; +SDLDriverDistractionState* SDLDriverDistractionState_DD_OFF = nil; + +NSMutableArray* SDLDriverDistractionState_values = nil; + +@implementation SDLDriverDistractionState + ++(SDLDriverDistractionState*) valueOf:(NSString*) value { + for (SDLDriverDistractionState* item in SDLDriverDistractionState.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLDriverDistractionState_values == nil) { + SDLDriverDistractionState_values = [[NSMutableArray alloc] initWithObjects: + SDLDriverDistractionState.DD_ON, + SDLDriverDistractionState.DD_OFF, + nil]; + } + return SDLDriverDistractionState_values; +} + ++(SDLDriverDistractionState*) DD_ON { + if (SDLDriverDistractionState_DD_ON == nil) { + SDLDriverDistractionState_DD_ON = [[SDLDriverDistractionState alloc] initWithValue:@"DD_ON"]; + } + return SDLDriverDistractionState_DD_ON; +} + ++(SDLDriverDistractionState*) DD_OFF { + if (SDLDriverDistractionState_DD_OFF == nil) { + SDLDriverDistractionState_DD_OFF = [[SDLDriverDistractionState alloc] initWithValue:@"DD_OFF"]; + } + return SDLDriverDistractionState_DD_OFF; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLECallConfirmationStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLECallConfirmationStatus.h new file mode 100644 index 000000000..663f8285d --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLECallConfirmationStatus.h @@ -0,0 +1,21 @@ +// SDLECallConfirmationStatus.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLECallConfirmationStatus : SDLEnum {} + ++(SDLECallConfirmationStatus*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLECallConfirmationStatus*) NORMAL; ++(SDLECallConfirmationStatus*) CALL_IN_PROGRESS; ++(SDLECallConfirmationStatus*) CALL_CANCELLED; ++(SDLECallConfirmationStatus*) CALL_COMPLETED; ++(SDLECallConfirmationStatus*) CALL_UNSUCCESSFUL; ++(SDLECallConfirmationStatus*) ECALL_CONFIGURED_OFF; ++(SDLECallConfirmationStatus*) CALL_COMPLETE_DTMF_TIMEOUT; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLECallConfirmationStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLECallConfirmationStatus.m new file mode 100644 index 000000000..302b7a199 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLECallConfirmationStatus.m @@ -0,0 +1,92 @@ +// SDLECallConfirmationStatus.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLECallConfirmationStatus.h" + +SDLECallConfirmationStatus* SDLECallConfirmationStatus_NORMAL = nil; +SDLECallConfirmationStatus* SDLECallConfirmationStatus_CALL_IN_PROGRESS = nil; +SDLECallConfirmationStatus* SDLECallConfirmationStatus_CALL_CANCELLED = nil; +SDLECallConfirmationStatus* SDLECallConfirmationStatus_CALL_COMPLETED = nil; +SDLECallConfirmationStatus* SDLECallConfirmationStatus_CALL_UNSUCCESSFUL = nil; +SDLECallConfirmationStatus* SDLECallConfirmationStatus_ECALL_CONFIGURED_OFF = nil; +SDLECallConfirmationStatus* SDLECallConfirmationStatus_CALL_COMPLETE_DTMF_TIMEOUT = nil; + +NSMutableArray* SDLECallConfirmationStatus_values = nil; + +@implementation SDLECallConfirmationStatus + ++(SDLECallConfirmationStatus*) valueOf:(NSString*) value { + for (SDLECallConfirmationStatus* item in SDLECallConfirmationStatus.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLECallConfirmationStatus_values == nil) { + SDLECallConfirmationStatus_values = [[NSMutableArray alloc] initWithObjects: + SDLECallConfirmationStatus.NORMAL, + SDLECallConfirmationStatus.CALL_IN_PROGRESS, + SDLECallConfirmationStatus.CALL_CANCELLED, + SDLECallConfirmationStatus.CALL_COMPLETED, + SDLECallConfirmationStatus.CALL_UNSUCCESSFUL, + SDLECallConfirmationStatus.ECALL_CONFIGURED_OFF, + SDLECallConfirmationStatus.CALL_COMPLETE_DTMF_TIMEOUT, + nil]; + } + return SDLECallConfirmationStatus_values; +} + ++(SDLECallConfirmationStatus*) NORMAL { + if (SDLECallConfirmationStatus_NORMAL == nil) { + SDLECallConfirmationStatus_NORMAL = [[SDLECallConfirmationStatus alloc] initWithValue:@"NORMAL"]; + } + return SDLECallConfirmationStatus_NORMAL; +} + ++(SDLECallConfirmationStatus*) CALL_IN_PROGRESS { + if (SDLECallConfirmationStatus_CALL_IN_PROGRESS == nil) { + SDLECallConfirmationStatus_CALL_IN_PROGRESS = [[SDLECallConfirmationStatus alloc] initWithValue:@"CALL_IN_PROGRESS"]; + } + return SDLECallConfirmationStatus_CALL_IN_PROGRESS; +} + ++(SDLECallConfirmationStatus*) CALL_CANCELLED { + if (SDLECallConfirmationStatus_CALL_CANCELLED == nil) { + SDLECallConfirmationStatus_CALL_CANCELLED = [[SDLECallConfirmationStatus alloc] initWithValue:@"CALL_CANCELLED"]; + } + return SDLECallConfirmationStatus_CALL_CANCELLED; +} + ++(SDLECallConfirmationStatus*) CALL_COMPLETED { + if (SDLECallConfirmationStatus_CALL_COMPLETED == nil) { + SDLECallConfirmationStatus_CALL_COMPLETED = [[SDLECallConfirmationStatus alloc] initWithValue:@"CALL_COMPLETED"]; + } + return SDLECallConfirmationStatus_CALL_COMPLETED; +} + ++(SDLECallConfirmationStatus*) CALL_UNSUCCESSFUL { + if (SDLECallConfirmationStatus_CALL_UNSUCCESSFUL == nil) { + SDLECallConfirmationStatus_CALL_UNSUCCESSFUL = [[SDLECallConfirmationStatus alloc] initWithValue:@"CALL_UNSUCCESSFUL"]; + } + return SDLECallConfirmationStatus_CALL_UNSUCCESSFUL; +} + ++(SDLECallConfirmationStatus*) ECALL_CONFIGURED_OFF { + if (SDLECallConfirmationStatus_ECALL_CONFIGURED_OFF == nil) { + SDLECallConfirmationStatus_ECALL_CONFIGURED_OFF = [[SDLECallConfirmationStatus alloc] initWithValue:@"ECALL_CONFIGURED_OFF"]; + } + return SDLECallConfirmationStatus_ECALL_CONFIGURED_OFF; +} + ++(SDLECallConfirmationStatus*) CALL_COMPLETE_DTMF_TIMEOUT { + if (SDLECallConfirmationStatus_CALL_COMPLETE_DTMF_TIMEOUT == nil) { + SDLECallConfirmationStatus_CALL_COMPLETE_DTMF_TIMEOUT = [[SDLECallConfirmationStatus alloc] initWithValue:@"CALL_COMPLETE_DTMF_TIMEOUT"]; + } + return SDLECallConfirmationStatus_CALL_COMPLETE_DTMF_TIMEOUT; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLECallInfo.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLECallInfo.h new file mode 100644 index 000000000..2b43421b3 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLECallInfo.h @@ -0,0 +1,20 @@ +// SDLECallInfo.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +#import "SDLVehicleDataNotificationStatus.h" +#import "SDLECallConfirmationStatus.h" + +@interface SDLECallInfo : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLVehicleDataNotificationStatus* eCallNotificationStatus; +@property(strong) SDLVehicleDataNotificationStatus* auxECallNotificationStatus; +@property(strong) SDLECallConfirmationStatus* eCallConfirmationStatus; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLECallInfo.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLECallInfo.m new file mode 100644 index 000000000..b5a24070e --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLECallInfo.m @@ -0,0 +1,72 @@ +// SDLECallInfo.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLECallInfo.h" + +#import "SDLNames.h" + +@implementation SDLECallInfo + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setECallNotificationStatus:(SDLVehicleDataNotificationStatus*) eCallNotificationStatus { + if (eCallNotificationStatus != nil) { + [store setObject:eCallNotificationStatus forKey:NAMES_eCallNotificationStatus]; + } else { + [store removeObjectForKey:NAMES_eCallNotificationStatus]; + } +} + +-(SDLVehicleDataNotificationStatus*) eCallNotificationStatus { + NSObject* obj = [store objectForKey:NAMES_eCallNotificationStatus]; + if ([obj isKindOfClass:SDLVehicleDataNotificationStatus.class]) { + return (SDLVehicleDataNotificationStatus*)obj; + } else { + return [SDLVehicleDataNotificationStatus valueOf:(NSString*)obj]; + } +} + +-(void) setAuxECallNotificationStatus:(SDLVehicleDataNotificationStatus*) auxECallNotificationStatus { + if (auxECallNotificationStatus != nil) { + [store setObject:auxECallNotificationStatus forKey:NAMES_auxECallNotificationStatus]; + } else { + [store removeObjectForKey:NAMES_auxECallNotificationStatus]; + } +} + +-(SDLVehicleDataNotificationStatus*) auxECallNotificationStatus { + NSObject* obj = [store objectForKey:NAMES_auxECallNotificationStatus]; + if ([obj isKindOfClass:SDLVehicleDataNotificationStatus.class]) { + return (SDLVehicleDataNotificationStatus*)obj; + } else { + return [SDLVehicleDataNotificationStatus valueOf:(NSString*)obj]; + } +} + +-(void) setECallConfirmationStatus:(SDLECallConfirmationStatus*) eCallConfirmationStatus { + if (eCallConfirmationStatus != nil) { + [store setObject:eCallConfirmationStatus forKey:NAMES_eCallConfirmationStatus]; + } else { + [store removeObjectForKey:NAMES_eCallConfirmationStatus]; + } +} + +-(SDLECallConfirmationStatus*) eCallConfirmationStatus { + NSObject* obj = [store objectForKey:NAMES_eCallConfirmationStatus]; + if ([obj isKindOfClass:SDLECallConfirmationStatus.class]) { + return (SDLECallConfirmationStatus*)obj; + } else { + return [SDLECallConfirmationStatus valueOf:(NSString*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEvent.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEvent.h new file mode 100644 index 000000000..a08c8fd6d --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEvent.h @@ -0,0 +1,23 @@ +// SDLEmergencyEvent.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +#import "SDLEmergencyEventType.h" +#import "SDLFuelCutoffStatus.h" +#import "SDLVehicleDataEventStatus.h" + +@interface SDLEmergencyEvent : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLEmergencyEventType* emergencyEventType; +@property(strong) SDLFuelCutoffStatus* fuelCutoffStatus; +@property(strong) SDLVehicleDataEventStatus* rolloverEvent; +@property(strong) NSNumber* maximumChangeVelocity; +@property(strong) SDLVehicleDataEventStatus* multipleEvents; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEvent.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEvent.m new file mode 100644 index 000000000..790e09125 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEvent.m @@ -0,0 +1,101 @@ +// SDLEmergencyEvent.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLEmergencyEvent.h" + +#import "SDLNames.h" + +@implementation SDLEmergencyEvent + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setEmergencyEventType:(SDLEmergencyEventType*) emergencyEventType { + if (emergencyEventType != nil) { + [store setObject:emergencyEventType forKey:NAMES_emergencyEventType]; + } else { + [store removeObjectForKey:NAMES_emergencyEventType]; + } +} + +-(SDLEmergencyEventType*) emergencyEventType { + NSObject* obj = [store objectForKey:NAMES_emergencyEventType]; + if ([obj isKindOfClass:SDLEmergencyEventType.class]) { + return (SDLEmergencyEventType*)obj; + } else { + return [SDLEmergencyEventType valueOf:(NSString*)obj]; + } +} + +-(void) setFuelCutoffStatus:(SDLFuelCutoffStatus*) fuelCutoffStatus { + if (fuelCutoffStatus != nil) { + [store setObject:fuelCutoffStatus forKey:NAMES_fuelCutoffStatus]; + } else { + [store removeObjectForKey:NAMES_fuelCutoffStatus]; + } +} + +-(SDLFuelCutoffStatus*) fuelCutoffStatus { + NSObject* obj = [store objectForKey:NAMES_fuelCutoffStatus]; + if ([obj isKindOfClass:SDLFuelCutoffStatus.class]) { + return (SDLFuelCutoffStatus*)obj; + } else { + return [SDLFuelCutoffStatus valueOf:(NSString*)obj]; + } +} + +-(void) setRolloverEvent:(SDLVehicleDataEventStatus*) rolloverEvent { + if (rolloverEvent != nil) { + [store setObject:rolloverEvent forKey:NAMES_rolloverEvent]; + } else { + [store removeObjectForKey:NAMES_rolloverEvent]; + } +} + +-(SDLVehicleDataEventStatus*) rolloverEvent { + NSObject* obj = [store objectForKey:NAMES_rolloverEvent]; + if ([obj isKindOfClass:SDLVehicleDataEventStatus.class]) { + return (SDLVehicleDataEventStatus*)obj; + } else { + return [SDLVehicleDataEventStatus valueOf:(NSString*)obj]; + } +} + +-(void) setMaximumChangeVelocity:(NSNumber*) maximumChangeVelocity { + if (maximumChangeVelocity != nil) { + [store setObject:maximumChangeVelocity forKey:NAMES_maximumChangeVelocity]; + } else { + [store removeObjectForKey:NAMES_maximumChangeVelocity]; + } +} + +-(NSNumber*) maximumChangeVelocity { + return [store objectForKey:NAMES_maximumChangeVelocity]; +} + +-(void) setMultipleEvents:(SDLVehicleDataEventStatus*) multipleEvents { + if (multipleEvents != nil) { + [store setObject:multipleEvents forKey:NAMES_multipleEvents]; + } else { + [store removeObjectForKey:NAMES_multipleEvents]; + } +} + +-(SDLVehicleDataEventStatus*) multipleEvents { + NSObject* obj = [store objectForKey:NAMES_multipleEvents]; + if ([obj isKindOfClass:SDLVehicleDataEventStatus.class]) { + return (SDLVehicleDataEventStatus*)obj; + } else { + return [SDLVehicleDataEventStatus valueOf:(NSString*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEventType.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEventType.h new file mode 100644 index 000000000..14e555e8b --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEventType.h @@ -0,0 +1,21 @@ +// SDLEmergencyEventType.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLEmergencyEventType : SDLEnum {} + ++(SDLEmergencyEventType*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLEmergencyEventType*) NO_EVENT; ++(SDLEmergencyEventType*) FRONTAL; ++(SDLEmergencyEventType*) SIDE; ++(SDLEmergencyEventType*) REAR; ++(SDLEmergencyEventType*) ROLLOVER; ++(SDLEmergencyEventType*) NOT_SUPPORTED; ++(SDLEmergencyEventType*) FAULT; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEventType.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEventType.m new file mode 100644 index 000000000..65532116c --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEventType.m @@ -0,0 +1,92 @@ +// SDLEmergencyEventType.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLEmergencyEventType.h" + +SDLEmergencyEventType* SDLEmergencyEventType_NO_EVENT = nil; +SDLEmergencyEventType* SDLEmergencyEventType_FRONTAL = nil; +SDLEmergencyEventType* SDLEmergencyEventType_SIDE = nil; +SDLEmergencyEventType* SDLEmergencyEventType_REAR = nil; +SDLEmergencyEventType* SDLEmergencyEventType_ROLLOVER = nil; +SDLEmergencyEventType* SDLEmergencyEventType_NOT_SUPPORTED = nil; +SDLEmergencyEventType* SDLEmergencyEventType_FAULT = nil; + +NSMutableArray* SDLEmergencyEventType_values = nil; + +@implementation SDLEmergencyEventType + ++(SDLEmergencyEventType*) valueOf:(NSString*) value { + for (SDLEmergencyEventType* item in SDLEmergencyEventType.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLEmergencyEventType_values == nil) { + SDLEmergencyEventType_values = [[NSMutableArray alloc] initWithObjects: + SDLEmergencyEventType.NO_EVENT, + SDLEmergencyEventType.FRONTAL, + SDLEmergencyEventType.SIDE, + SDLEmergencyEventType.REAR, + SDLEmergencyEventType.ROLLOVER, + SDLEmergencyEventType.NOT_SUPPORTED, + SDLEmergencyEventType.FAULT, + nil]; + } + return SDLEmergencyEventType_values; +} + ++(SDLEmergencyEventType*) NO_EVENT { + if (SDLEmergencyEventType_NO_EVENT == nil) { + SDLEmergencyEventType_NO_EVENT = [[SDLEmergencyEventType alloc] initWithValue:@"NO_EVENT"]; + } + return SDLEmergencyEventType_NO_EVENT; +} + ++(SDLEmergencyEventType*) FRONTAL { + if (SDLEmergencyEventType_FRONTAL == nil) { + SDLEmergencyEventType_FRONTAL = [[SDLEmergencyEventType alloc] initWithValue:@"FRONTAL"]; + } + return SDLEmergencyEventType_FRONTAL; +} + ++(SDLEmergencyEventType*) SIDE { + if (SDLEmergencyEventType_SIDE == nil) { + SDLEmergencyEventType_SIDE = [[SDLEmergencyEventType alloc] initWithValue:@"SIDE"]; + } + return SDLEmergencyEventType_SIDE; +} + ++(SDLEmergencyEventType*) REAR { + if (SDLEmergencyEventType_REAR == nil) { + SDLEmergencyEventType_REAR = [[SDLEmergencyEventType alloc] initWithValue:@"REAR"]; + } + return SDLEmergencyEventType_REAR; +} + ++(SDLEmergencyEventType*) ROLLOVER { + if (SDLEmergencyEventType_ROLLOVER == nil) { + SDLEmergencyEventType_ROLLOVER = [[SDLEmergencyEventType alloc] initWithValue:@"ROLLOVER"]; + } + return SDLEmergencyEventType_ROLLOVER; +} + ++(SDLEmergencyEventType*) NOT_SUPPORTED { + if (SDLEmergencyEventType_NOT_SUPPORTED == nil) { + SDLEmergencyEventType_NOT_SUPPORTED = [[SDLEmergencyEventType alloc] initWithValue:@"NOT_SUPPORTED"]; + } + return SDLEmergencyEventType_NOT_SUPPORTED; +} + ++(SDLEmergencyEventType*) FAULT { + if (SDLEmergencyEventType_FAULT == nil) { + SDLEmergencyEventType_FAULT = [[SDLEmergencyEventType alloc] initWithValue:@"FAULT"]; + } + return SDLEmergencyEventType_FAULT; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPData.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPData.h new file mode 100644 index 000000000..fd987664f --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPData.h @@ -0,0 +1,15 @@ +// SDLEncodedSyncPData.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +@interface SDLEncodedSyncPData : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSMutableArray* data; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPData.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPData.m new file mode 100644 index 000000000..19368af7c --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPData.m @@ -0,0 +1,33 @@ +// SDLEncodedSyncPData.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLEncodedSyncPData.h" + +#import "SDLNames.h" + +@implementation SDLEncodedSyncPData + +-(id) init { + if (self = [super initWithName:NAMES_EncodedSyncPData]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setData:(NSMutableArray*) data { + if (data != nil) { + [parameters setObject:data forKey:NAMES_data]; + } else { + [parameters removeObjectForKey:NAMES_data]; + } +} + +-(NSMutableArray*) data { + return [parameters objectForKey:NAMES_data]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPDataResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPDataResponse.h new file mode 100644 index 000000000..8dab23afb --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPDataResponse.h @@ -0,0 +1,13 @@ +// SDLEncodedSyncPDataResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLEncodedSyncPDataResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPDataResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPDataResponse.m new file mode 100644 index 000000000..810004925 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPDataResponse.m @@ -0,0 +1,21 @@ +// SDLEncodedSyncPDataResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLEncodedSyncPDataResponse.h" + +#import "SDLNames.h" + +@implementation SDLEncodedSyncPDataResponse + +-(id) init { + if (self = [super initWithName:NAMES_EncodedSyncPData]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncoder.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncoder.h new file mode 100644 index 000000000..943995bcf --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncoder.h @@ -0,0 +1,11 @@ +// SDLEncoder.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +@import Foundation; + +@protocol SDLEncoder + +-(NSData*) encodeDictionary:(NSDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThru.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThru.h new file mode 100644 index 000000000..de0f23268 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThru.h @@ -0,0 +1,13 @@ +// SDLEndAudioPassThru.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +@interface SDLEndAudioPassThru : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThru.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThru.m new file mode 100644 index 000000000..901d16e14 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThru.m @@ -0,0 +1,21 @@ +// SDLEndAudioPassThru.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLEndAudioPassThru.h" + +#import "SDLNames.h" + +@implementation SDLEndAudioPassThru + +-(id) init { + if (self = [super initWithName:NAMES_EndAudioPassThru]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThruResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThruResponse.h new file mode 100644 index 000000000..33123caf6 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThruResponse.h @@ -0,0 +1,13 @@ +// SDLEndAudioPassThruResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLEndAudioPassThruResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThruResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThruResponse.m new file mode 100644 index 000000000..98423e7da --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThruResponse.m @@ -0,0 +1,21 @@ +// SDLEndAudioPassThruResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLEndAudioPassThruResponse.h" + +#import "SDLNames.h" + +@implementation SDLEndAudioPassThruResponse + +-(id) init { + if (self = [super initWithName:NAMES_EndAudioPassThru]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEnum.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEnum.h new file mode 100644 index 000000000..7e91c910a --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEnum.h @@ -0,0 +1,16 @@ +// SDLEnum.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +@import Foundation; + + +@interface SDLEnum : NSObject { + NSString* value; +} + +-(id) initWithValue:(NSString*) value; + +@property(strong, readonly) NSString* value; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEnum.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEnum.m new file mode 100644 index 000000000..762a021e8 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEnum.m @@ -0,0 +1,22 @@ +// SDLEnum.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLEnum.h" + +@implementation SDLEnum + +@synthesize value; + +-(id) initWithValue:(NSString*) aValue { + if (self = [super init]) { + value = aValue; + } + return self; +} + +-(NSString*) description { + return value; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLFileType.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLFileType.h new file mode 100644 index 000000000..c8a851969 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLFileType.h @@ -0,0 +1,22 @@ +// SDLFileType.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLFileType : SDLEnum {} + ++(SDLFileType*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLFileType*) GRAPHIC_BMP; ++(SDLFileType*) GRAPHIC_JPEG; ++(SDLFileType*) GRAPHIC_PNG; ++(SDLFileType*) AUDIO_WAVE; ++(SDLFileType*) AUDIO_MP3; ++(SDLFileType*) AUDIO_AAC; ++(SDLFileType*) BINARY; ++(SDLFileType*) JSON; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLFileType.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLFileType.m new file mode 100644 index 000000000..7aab5e551 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLFileType.m @@ -0,0 +1,101 @@ +// SDLFileType.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLFileType.h" + +SDLFileType* SDLFileType_GRAPHIC_BMP = nil; +SDLFileType* SDLFileType_GRAPHIC_JPEG = nil; +SDLFileType* SDLFileType_GRAPHIC_PNG = nil; +SDLFileType* SDLFileType_AUDIO_WAVE = nil; +SDLFileType* SDLFileType_AUDIO_MP3 = nil; +SDLFileType* SDLFileType_AUDIO_AAC = nil; +SDLFileType* SDLFileType_BINARY = nil; +SDLFileType* SDLFileType_JSON = nil; + +NSMutableArray* SDLFileType_values = nil; + +@implementation SDLFileType + ++(SDLFileType*) valueOf:(NSString*) value { + for (SDLFileType* item in SDLFileType.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLFileType_values == nil) { + SDLFileType_values = [[NSMutableArray alloc] initWithObjects: + SDLFileType.GRAPHIC_BMP, + SDLFileType.GRAPHIC_JPEG, + SDLFileType.GRAPHIC_PNG, + SDLFileType.AUDIO_WAVE, + SDLFileType.AUDIO_MP3, + SDLFileType.AUDIO_AAC, + SDLFileType.BINARY, + SDLFileType.JSON, + nil]; + } + return SDLFileType_values; +} + ++(SDLFileType*) GRAPHIC_BMP { + if (SDLFileType_GRAPHIC_BMP == nil) { + SDLFileType_GRAPHIC_BMP = [[SDLFileType alloc] initWithValue:@"GRAPHIC_BMP"]; + } + return SDLFileType_GRAPHIC_BMP; +} + ++(SDLFileType*) GRAPHIC_JPEG { + if (SDLFileType_GRAPHIC_JPEG == nil) { + SDLFileType_GRAPHIC_JPEG = [[SDLFileType alloc] initWithValue:@"GRAPHIC_JPEG"]; + } + return SDLFileType_GRAPHIC_JPEG; +} + ++(SDLFileType*) GRAPHIC_PNG { + if (SDLFileType_GRAPHIC_PNG == nil) { + SDLFileType_GRAPHIC_PNG = [[SDLFileType alloc] initWithValue:@"GRAPHIC_PNG"]; + } + return SDLFileType_GRAPHIC_PNG; +} + ++(SDLFileType*) AUDIO_WAVE { + if (SDLFileType_AUDIO_WAVE == nil) { + SDLFileType_AUDIO_WAVE = [[SDLFileType alloc] initWithValue:@"AUDIO_WAVE"]; + } + return SDLFileType_AUDIO_WAVE; +} + ++(SDLFileType*) AUDIO_MP3 { + if (SDLFileType_AUDIO_MP3 == nil) { + SDLFileType_AUDIO_MP3 = [[SDLFileType alloc] initWithValue:@"AUDIO_MP3"]; + } + return SDLFileType_AUDIO_MP3; +} + ++(SDLFileType*) AUDIO_AAC { + if (SDLFileType_AUDIO_AAC == nil) { + SDLFileType_AUDIO_AAC = [[SDLFileType alloc] initWithValue:@"AUDIO_AAC"]; + } + return SDLFileType_AUDIO_AAC; +} + ++(SDLFileType*) BINARY { + if (SDLFileType_BINARY == nil) { + SDLFileType_BINARY = [[SDLFileType alloc] initWithValue:@"BINARY"]; + } + return SDLFileType_BINARY; +} + ++(SDLFileType*) JSON { + if (SDLFileType_JSON == nil) { + SDLFileType_JSON = [[SDLFileType alloc] initWithValue:@"JSON"]; + } + return SDLFileType_JSON; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLFuelCutoffStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLFuelCutoffStatus.h new file mode 100644 index 000000000..c53df7c02 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLFuelCutoffStatus.h @@ -0,0 +1,17 @@ +// SDLFuelCutoffStatus.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLFuelCutoffStatus : SDLEnum {} + ++(SDLFuelCutoffStatus*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLFuelCutoffStatus*) TERMINATE_FUEL; ++(SDLFuelCutoffStatus*) NORMAL_OPERATION; ++(SDLFuelCutoffStatus*) FAULT; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLFuelCutoffStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLFuelCutoffStatus.m new file mode 100644 index 000000000..b5c892778 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLFuelCutoffStatus.m @@ -0,0 +1,56 @@ +// SDLFuelCutoffStatus.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLFuelCutoffStatus.h" + +SDLFuelCutoffStatus* SDLFuelCutoffStatus_TERMINATE_FUEL = nil; +SDLFuelCutoffStatus* SDLFuelCutoffStatus_NORMAL_OPERATION = nil; +SDLFuelCutoffStatus* SDLFuelCutoffStatus_FAULT = nil; + +NSMutableArray* SDLFuelCutoffStatus_values = nil; + +@implementation SDLFuelCutoffStatus + ++(SDLFuelCutoffStatus*) valueOf:(NSString*) value { + for (SDLFuelCutoffStatus* item in SDLFuelCutoffStatus.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLFuelCutoffStatus_values == nil) { + SDLFuelCutoffStatus_values = [[NSMutableArray alloc] initWithObjects: + SDLFuelCutoffStatus.TERMINATE_FUEL, + SDLFuelCutoffStatus.NORMAL_OPERATION, + SDLFuelCutoffStatus.FAULT, + nil]; + } + return SDLFuelCutoffStatus_values; +} + ++(SDLFuelCutoffStatus*) TERMINATE_FUEL { + if (SDLFuelCutoffStatus_TERMINATE_FUEL == nil) { + SDLFuelCutoffStatus_TERMINATE_FUEL = [[SDLFuelCutoffStatus alloc] initWithValue:@"TERMINATE_FUEL"]; + } + return SDLFuelCutoffStatus_TERMINATE_FUEL; +} + ++(SDLFuelCutoffStatus*) NORMAL_OPERATION { + if (SDLFuelCutoffStatus_NORMAL_OPERATION == nil) { + SDLFuelCutoffStatus_NORMAL_OPERATION = [[SDLFuelCutoffStatus alloc] initWithValue:@"NORMAL_OPERATION"]; + } + return SDLFuelCutoffStatus_NORMAL_OPERATION; +} + ++(SDLFuelCutoffStatus*) FAULT { + if (SDLFuelCutoffStatus_FAULT == nil) { + SDLFuelCutoffStatus_FAULT = [[SDLFuelCutoffStatus alloc] initWithValue:@"FAULT"]; + } + return SDLFuelCutoffStatus_FAULT; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLFunctionID.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLFunctionID.h new file mode 100644 index 000000000..4df80e6f3 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLFunctionID.h @@ -0,0 +1,16 @@ +// SDLFunctionID.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +@import Foundation; + + +@interface SDLFunctionID : NSObject { + + NSDictionary* functionIDs; +} + +-(NSString*) getFunctionName:(int) functionID; +-(NSNumber*) getFunctionID:(NSString*) functionName; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLFunctionID.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLFunctionID.m new file mode 100644 index 000000000..b18ea31d4 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLFunctionID.m @@ -0,0 +1,94 @@ +// SDLFunctionID.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLFunctionID.h" + +#import "SDLNames.h" + +@implementation SDLFunctionID + +-(id) init { + if (self = [super init]) { + + functionIDs = [NSDictionary dictionaryWithObjectsAndKeys: + NAMES_reserved, @"0", + NAMES_RegisterAppInterface, @"1", + NAMES_UnregisterAppInterface, @"2", + NAMES_SetGlobalProperties, @"3", + NAMES_ResetGlobalProperties, @"4", + NAMES_AddCommand, @"5", + NAMES_DeleteCommand, @"6", + NAMES_AddSubMenu, @"7", + NAMES_DeleteSubMenu, @"8", + NAMES_CreateInteractionChoiceSet, @"9", + NAMES_PerformInteraction, @"10", + NAMES_DeleteInteractionChoiceSet, @"11", + NAMES_Alert, @"12", + NAMES_Show, @"13", + NAMES_Speak, @"14", + NAMES_SetMediaClockTimer, @"15", + NAMES_PerformAudioPassThru, @"16", + NAMES_EndAudioPassThru, @"17", + NAMES_SubscribeButton, @"18", + NAMES_UnsubscribeButton, @"19", + NAMES_SubscribeVehicleData, @"20", + NAMES_UnsubscribeVehicleData, @"21", + NAMES_GetVehicleData, @"22", + NAMES_ReadDID, @"23", + NAMES_GetDTCs, @"24", + NAMES_ScrollableMessage, @"25", + NAMES_Slider, @"26", + NAMES_ShowConstantTBT, @"27", + NAMES_AlertManeuver, @"28", + NAMES_UpdateTurnList, @"29", + NAMES_ChangeRegistration, @"30", + NAMES_GenericResponse, @"31", + NAMES_PutFile, @"32", + NAMES_DeleteFile, @"33", + NAMES_ListFiles, @"34", + NAMES_SetAppIcon, @"35", + NAMES_SetDisplayLayout, @"36", + NAMES_DiagnosticMessage, @"37", + NAMES_SystemRequest, @"38", + + NAMES_OnHMIStatus, @"32768", + NAMES_OnAppInterfaceUnregistered, @"32769", + NAMES_OnButtonEvent, @"32770", + NAMES_OnButtonPress, @"32771", + NAMES_OnVehicleData, @"32772", + NAMES_OnCommand, @"32773", + NAMES_OnTBTClientState, @"32774", + NAMES_OnDriverDistraction, @"32775", + NAMES_OnPermissionsChange, @"32776", + NAMES_OnAudioPassThru, @"32777", + NAMES_OnLanguageChange, @"32778", + NAMES_OnKeyboardInput, @"32779", + NAMES_OnTouchEvent, @"32780", + NAMES_OnSystemRequest, @"32781", + NAMES_OnHashChange, @"32782", + + NAMES_EncodedSyncPData, @"65536", + NAMES_SyncPData, @"65537", + + NAMES_OnEncodedSyncPData, @"98304", + NAMES_OnSyncPData, @"98405", + nil]; + + } + return self; +} + +-(NSString *)getFunctionName:(int) functionID{ + + return [functionIDs objectForKey:[NSString stringWithFormat:@"%d", functionID]]; +} + + +-(NSNumber*) getFunctionID:(NSString*) functionName{ + + return [NSNumber numberWithInt:[[[functionIDs allKeysForObject:functionName] objectAtIndex:0] intValue]]; +} + + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGPSData.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGPSData.h new file mode 100644 index 000000000..0d8fd54ff --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGPSData.h @@ -0,0 +1,35 @@ +// SDLGPSData.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +#import "SDLCompassDirection.h" +#import "SDLDimension.h" + +@interface SDLGPSData : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* longitudeDegrees; +@property(strong) NSNumber* latitudeDegrees; +@property(strong) NSNumber* utcYear; +@property(strong) NSNumber* utcMonth; +@property(strong) NSNumber* utcDay; +@property(strong) NSNumber* utcHours; +@property(strong) NSNumber* utcMinutes; +@property(strong) NSNumber* utcSeconds; +@property(strong) SDLCompassDirection* compassDirection; +@property(strong) NSNumber* pdop; +@property(strong) NSNumber* hdop; +@property(strong) NSNumber* vdop; +@property(strong) NSNumber* actual; +@property(strong) NSNumber* satellites; +@property(strong) SDLDimension* dimension; +@property(strong) NSNumber* altitude; +@property(strong) NSNumber* heading; +@property(strong) NSNumber* speed; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGPSData.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGPSData.m new file mode 100644 index 000000000..0514d3a33 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGPSData.m @@ -0,0 +1,247 @@ +// SDLGPSData.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLGPSData.h" + +#import "SDLNames.h" + +@implementation SDLGPSData + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setLongitudeDegrees:(NSNumber*) longitudeDegrees { + if (longitudeDegrees != nil) { + [store setObject:longitudeDegrees forKey:NAMES_longitudeDegrees]; + } else { + [store removeObjectForKey:NAMES_longitudeDegrees]; + } +} + +-(NSNumber*) longitudeDegrees { + return [store objectForKey:NAMES_longitudeDegrees]; +} + +-(void) setLatitudeDegrees:(NSNumber*) latitudeDegrees { + if (latitudeDegrees != nil) { + [store setObject:latitudeDegrees forKey:NAMES_latitudeDegrees]; + } else { + [store removeObjectForKey:NAMES_latitudeDegrees]; + } +} + +-(NSNumber*) latitudeDegrees { + return [store objectForKey:NAMES_latitudeDegrees]; +} + +-(void) setUtcYear:(NSNumber*) utcYear { + if (utcYear != nil) { + [store setObject:utcYear forKey:NAMES_utcYear]; + } else { + [store removeObjectForKey:NAMES_utcYear]; + } +} + +-(NSNumber*) utcYear { + return [store objectForKey:NAMES_utcYear]; +} + +-(void) setUtcMonth:(NSNumber*) utcMonth { + if (utcMonth != nil) { + [store setObject:utcMonth forKey:NAMES_utcMonth]; + } else { + [store removeObjectForKey:NAMES_utcMonth]; + } +} + +-(NSNumber*) utcMonth { + return [store objectForKey:NAMES_utcMonth]; +} + +-(void) setUtcDay:(NSNumber*) utcDay { + if (utcDay != nil) { + [store setObject:utcDay forKey:NAMES_utcDay]; + } else { + [store removeObjectForKey:NAMES_utcDay]; + } +} + +-(NSNumber*) utcDay { + return [store objectForKey:NAMES_utcDay]; +} + +-(void) setUtcHours:(NSNumber*) utcHours { + if (utcHours != nil) { + [store setObject:utcHours forKey:NAMES_utcHours]; + } else { + [store removeObjectForKey:NAMES_utcHours]; + } +} + +-(NSNumber*) utcHours { + return [store objectForKey:NAMES_utcHours]; +} + +-(void) setUtcMinutes:(NSNumber*) utcMinutes { + if (utcMinutes != nil) { + [store setObject:utcMinutes forKey:NAMES_utcMinutes]; + } else { + [store removeObjectForKey:NAMES_utcMinutes]; + } +} + +-(NSNumber*) utcMinutes { + return [store objectForKey:NAMES_utcMinutes]; +} + +-(void) setUtcSeconds:(NSNumber*) utcSeconds { + if (utcSeconds != nil) { + [store setObject:utcSeconds forKey:NAMES_utcSeconds]; + } else { + [store removeObjectForKey:NAMES_utcSeconds]; + } +} + +-(NSNumber*) utcSeconds { + return [store objectForKey:NAMES_utcSeconds]; +} + +-(void) setCompassDirection:(SDLCompassDirection*) compassDirection { + if (compassDirection != nil) { + [store setObject:compassDirection forKey:NAMES_compassDirection]; + } else { + [store removeObjectForKey:NAMES_compassDirection]; + } +} + +-(SDLCompassDirection*) compassDirection { + NSObject* obj = [store objectForKey:NAMES_compassDirection]; + if ([obj isKindOfClass:SDLCompassDirection.class]) { + return (SDLCompassDirection*)obj; + } else { + return [SDLCompassDirection valueOf:(NSString*)obj]; + } +} + +-(void) setPdop:(NSNumber*) pdop { + if (pdop != nil) { + [store setObject:pdop forKey:NAMES_pdop]; + } else { + [store removeObjectForKey:NAMES_pdop]; + } +} + +-(NSNumber*) pdop { + return [store objectForKey:NAMES_pdop]; +} + +-(void) setHdop:(NSNumber*) hdop { + if (hdop != nil) { + [store setObject:hdop forKey:NAMES_hdop]; + } else { + [store removeObjectForKey:NAMES_hdop]; + } +} + +-(NSNumber*) hdop { + return [store objectForKey:NAMES_hdop]; +} + +-(void) setVdop:(NSNumber*) vdop { + if (vdop != nil) { + [store setObject:vdop forKey:NAMES_vdop]; + } else { + [store removeObjectForKey:NAMES_vdop]; + } +} + +-(NSNumber*) vdop { + return [store objectForKey:NAMES_vdop]; +} + +-(void) setActual:(NSNumber*) actual { + if (actual != nil) { + [store setObject:actual forKey:NAMES_actual]; + } else { + [store removeObjectForKey:NAMES_actual]; + } +} + +-(NSNumber*) actual { + return [store objectForKey:NAMES_actual]; +} + +-(void) setSatellites:(NSNumber*) satellites { + if (satellites != nil) { + [store setObject:satellites forKey:NAMES_satellites]; + } else { + [store removeObjectForKey:NAMES_satellites]; + } +} + +-(NSNumber*) satellites { + return [store objectForKey:NAMES_satellites]; +} + +-(void) setDimension:(SDLDimension*) dimension { + if (dimension != nil) { + [store setObject:dimension forKey:NAMES_dimension]; + } else { + [store removeObjectForKey:NAMES_dimension]; + } +} + +-(SDLDimension*) dimension { + NSObject* obj = [store objectForKey:NAMES_dimension]; + if ([obj isKindOfClass:SDLDimension.class]) { + return (SDLDimension*)obj; + } else { + return [SDLDimension valueOf:(NSString*)obj]; + } +} + +-(void) setAltitude:(NSNumber*) altitude { + if (altitude != nil) { + [store setObject:altitude forKey:NAMES_altitude]; + } else { + [store removeObjectForKey:NAMES_altitude]; + } +} + +-(NSNumber*) altitude { + return [store objectForKey:NAMES_altitude]; +} + +-(void) setHeading:(NSNumber*) heading { + if (heading != nil) { + [store setObject:heading forKey:NAMES_heading]; + } else { + [store removeObjectForKey:NAMES_heading]; + } +} + +-(NSNumber*) heading { + return [store objectForKey:NAMES_heading]; +} + +-(void) setSpeed:(NSNumber*) speed { + if (speed != nil) { + [store setObject:speed forKey:NAMES_speed]; + } else { + [store removeObjectForKey:NAMES_speed]; + } +} + +-(NSNumber*) speed { + return [store objectForKey:NAMES_speed]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGenericResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGenericResponse.h new file mode 100644 index 000000000..6a21cdfc8 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGenericResponse.h @@ -0,0 +1,13 @@ +// SDLGenericResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLGenericResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGenericResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGenericResponse.m new file mode 100644 index 000000000..81cf7e8da --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGenericResponse.m @@ -0,0 +1,21 @@ +// SDLGenericResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLGenericResponse.h" + +#import "SDLNames.h" + +@implementation SDLGenericResponse + +-(id) init { + if (self = [super initWithName:NAMES_GenericResponse]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCs.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCs.h new file mode 100644 index 000000000..e9a85a695 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCs.h @@ -0,0 +1,16 @@ +// SDLGetDTCs.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +@interface SDLGetDTCs : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* ecuName; +@property(strong) NSNumber* dtcMask; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCs.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCs.m new file mode 100644 index 000000000..ab051ea87 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCs.m @@ -0,0 +1,45 @@ +// SDLGetDTCs.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLGetDTCs.h" + +#import "SDLNames.h" + +@implementation SDLGetDTCs + +-(id) init { + if (self = [super initWithName:NAMES_GetDTCs]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setEcuName:(NSNumber*) ecuName { + if (ecuName != nil) { + [parameters setObject:ecuName forKey:NAMES_ecuName]; + } else { + [parameters removeObjectForKey:NAMES_ecuName]; + } +} + +-(NSNumber*) ecuName { + return [parameters objectForKey:NAMES_ecuName]; +} + +-(void) setDtcMask:(NSNumber*) dtcMask { + if (dtcMask != nil) { + [parameters setObject:dtcMask forKey:NAMES_dtcMask]; + } else { + [parameters removeObjectForKey:NAMES_dtcMask]; + } +} + +-(NSNumber*) dtcMask { + return [parameters objectForKey:NAMES_dtcMask]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCsResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCsResponse.h new file mode 100644 index 000000000..0a29fed45 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCsResponse.h @@ -0,0 +1,16 @@ +// SDLGetDTCsResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLGetDTCsResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* ecuHeader; +@property(strong) NSMutableArray* dtc; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCsResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCsResponse.m new file mode 100644 index 000000000..4f785ee41 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCsResponse.m @@ -0,0 +1,45 @@ +// SDLGetDTCsResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLGetDTCsResponse.h" + +#import "SDLNames.h" + +@implementation SDLGetDTCsResponse + +-(id) init { + if (self = [super initWithName:NAMES_GetDTCs]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setEcuHeader:(NSNumber*) ecuHeader { + if (ecuHeader != nil) { + [parameters setObject:ecuHeader forKey:NAMES_ecuHeader]; + } else { + [parameters removeObjectForKey:NAMES_ecuHeader]; + } +} + +-(NSNumber*) ecuHeader { + return [parameters objectForKey:NAMES_ecuHeader]; +} + +-(void) setDtc:(NSMutableArray*) dtc { + if (dtc != nil) { + [parameters setObject:dtc forKey:NAMES_dtc]; + } else { + [parameters removeObjectForKey:NAMES_dtc]; + } +} + +-(NSMutableArray*) dtc { + return [parameters objectForKey:NAMES_dtc]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleData.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleData.h new file mode 100644 index 000000000..b0ef2fd40 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleData.h @@ -0,0 +1,39 @@ +// SDLGetVehicleData.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +@interface SDLGetVehicleData : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* gps; +@property(strong) NSNumber* speed; +@property(strong) NSNumber* rpm; +@property(strong) NSNumber* fuelLevel; +@property(strong) NSNumber* fuelLevel_State; +@property(strong) NSNumber* instantFuelConsumption; +@property(strong) NSNumber* externalTemperature; +@property(strong) NSNumber* vin; +@property(strong) NSNumber* prndl; +@property(strong) NSNumber* tirePressure; +@property(strong) NSNumber* odometer; +@property(strong) NSNumber* beltStatus; +@property(strong) NSNumber* bodyInformation; +@property(strong) NSNumber* deviceStatus; +@property(strong) NSNumber* driverBraking; +@property(strong) NSNumber* wiperStatus; +@property(strong) NSNumber* headLampStatus; +@property(strong) NSNumber* engineTorque; +@property(strong) NSNumber* accPedalPosition; +@property(strong) NSNumber* steeringWheelAngle; +@property(strong) NSNumber* eCallInfo; +@property(strong) NSNumber* airbagStatus; +@property(strong) NSNumber* emergencyEvent; +@property(strong) NSNumber* clusterModeStatus; +@property(strong) NSNumber* myKey; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleData.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleData.m new file mode 100644 index 000000000..8a5c030f1 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleData.m @@ -0,0 +1,321 @@ +// SDLGetVehicleData.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLGetVehicleData.h" + +#import "SDLNames.h" + +@implementation SDLGetVehicleData + +-(id) init { + if (self = [super initWithName:NAMES_GetVehicleData]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setGps:(NSNumber*) gps { + if (gps != nil) { + [parameters setObject:gps forKey:NAMES_gps]; + } else { + [parameters removeObjectForKey:NAMES_gps]; + } +} + +-(NSNumber*) gps { + return [parameters objectForKey:NAMES_gps]; +} + +-(void) setSpeed:(NSNumber*) speed { + if (speed != nil) { + [parameters setObject:speed forKey:NAMES_speed]; + } else { + [parameters removeObjectForKey:NAMES_speed]; + } +} + +-(NSNumber*) speed { + return [parameters objectForKey:NAMES_speed]; +} + +-(void) setRpm:(NSNumber*) rpm { + if (rpm != nil) { + [parameters setObject:rpm forKey:NAMES_rpm]; + } else { + [parameters removeObjectForKey:NAMES_rpm]; + } +} + +-(NSNumber*) rpm { + return [parameters objectForKey:NAMES_rpm]; +} + +-(void) setFuelLevel:(NSNumber*) fuelLevel { + if (fuelLevel != nil) { + [parameters setObject:fuelLevel forKey:NAMES_fuelLevel]; + } else { + [parameters removeObjectForKey:NAMES_fuelLevel]; + } +} + +-(NSNumber*) fuelLevel { + return [parameters objectForKey:NAMES_fuelLevel]; +} + +-(void) setFuelLevel_State:(NSNumber*) fuelLevel_State { + if (fuelLevel_State != nil) { + [parameters setObject:fuelLevel_State forKey:NAMES_fuelLevel_State]; + } else { + [parameters removeObjectForKey:NAMES_fuelLevel_State]; + } +} + +-(NSNumber*) fuelLevel_State { + return [parameters objectForKey:NAMES_fuelLevel_State]; +} + +-(void) setInstantFuelConsumption:(NSNumber*) instantFuelConsumption { + if (instantFuelConsumption != nil) { + [parameters setObject:instantFuelConsumption forKey:NAMES_instantFuelConsumption]; + } else { + [parameters removeObjectForKey:NAMES_instantFuelConsumption]; + } +} + +-(NSNumber*) instantFuelConsumption { + return [parameters objectForKey:NAMES_instantFuelConsumption]; +} + +-(void) setExternalTemperature:(NSNumber*) externalTemperature { + if (externalTemperature != nil) { + [parameters setObject:externalTemperature forKey:NAMES_externalTemperature]; + } else { + [parameters removeObjectForKey:NAMES_externalTemperature]; + } +} + +-(NSNumber*) externalTemperature { + return [parameters objectForKey:NAMES_externalTemperature]; +} + +-(void) setVin:(NSNumber*) vin { + if (vin != nil) { + [parameters setObject:vin forKey:NAMES_vin]; + } else { + [parameters removeObjectForKey:NAMES_vin]; + } +} + +-(NSNumber*) vin { + return [parameters objectForKey:NAMES_vin]; +} + +-(void) setPrndl:(NSNumber*) prndl { + if (prndl != nil) { + [parameters setObject:prndl forKey:NAMES_prndl]; + } else { + [parameters removeObjectForKey:NAMES_prndl]; + } +} + +-(NSNumber*) prndl { + return [parameters objectForKey:NAMES_prndl]; +} + +-(void) setTirePressure:(NSNumber*) tirePressure { + if (tirePressure != nil) { + [parameters setObject:tirePressure forKey:NAMES_tirePressure]; + } else { + [parameters removeObjectForKey:NAMES_tirePressure]; + } +} + +-(NSNumber*) tirePressure { + return [parameters objectForKey:NAMES_tirePressure]; +} + +-(void) setOdometer:(NSNumber*) odometer { + if (odometer != nil) { + [parameters setObject:odometer forKey:NAMES_odometer]; + } else { + [parameters removeObjectForKey:NAMES_odometer]; + } +} + +-(NSNumber*) odometer { + return [parameters objectForKey:NAMES_odometer]; +} + +-(void) setBeltStatus:(NSNumber*) beltStatus { + if (beltStatus != nil) { + [parameters setObject:beltStatus forKey:NAMES_beltStatus]; + } else { + [parameters removeObjectForKey:NAMES_beltStatus]; + } +} + +-(NSNumber*) beltStatus { + return [parameters objectForKey:NAMES_beltStatus]; +} + +-(void) setBodyInformation:(NSNumber*) bodyInformation { + if (bodyInformation != nil) { + [parameters setObject:bodyInformation forKey:NAMES_bodyInformation]; + } else { + [parameters removeObjectForKey:NAMES_bodyInformation]; + } +} + +-(NSNumber*) bodyInformation { + return [parameters objectForKey:NAMES_bodyInformation]; +} + +-(void) setDeviceStatus:(NSNumber*) deviceStatus { + if (deviceStatus != nil) { + [parameters setObject:deviceStatus forKey:NAMES_deviceStatus]; + } else { + [parameters removeObjectForKey:NAMES_deviceStatus]; + } +} + +-(NSNumber*) deviceStatus { + return [parameters objectForKey:NAMES_deviceStatus]; +} + +-(void) setDriverBraking:(NSNumber*) driverBraking { + if (driverBraking != nil) { + [parameters setObject:driverBraking forKey:NAMES_driverBraking]; + } else { + [parameters removeObjectForKey:NAMES_driverBraking]; + } +} + +-(NSNumber*) driverBraking { + return [parameters objectForKey:NAMES_driverBraking]; +} + +-(void) setWiperStatus:(NSNumber*) wiperStatus { + if (wiperStatus != nil) { + [parameters setObject:wiperStatus forKey:NAMES_wiperStatus]; + } else { + [parameters removeObjectForKey:NAMES_wiperStatus]; + } +} + +-(NSNumber*) wiperStatus { + return [parameters objectForKey:NAMES_wiperStatus]; +} + +-(void) setHeadLampStatus:(NSNumber*) headLampStatus { + if (headLampStatus != nil) { + [parameters setObject:headLampStatus forKey:NAMES_headLampStatus]; + } else { + [parameters removeObjectForKey:NAMES_headLampStatus]; + } +} + +-(NSNumber*) headLampStatus { + return [parameters objectForKey:NAMES_headLampStatus]; +} + +-(void) setEngineTorque:(NSNumber*) engineTorque { + if (engineTorque != nil) { + [parameters setObject:engineTorque forKey:NAMES_engineTorque]; + } else { + [parameters removeObjectForKey:NAMES_engineTorque]; + } +} + +-(NSNumber*) engineTorque { + return [parameters objectForKey:NAMES_engineTorque]; +} + +-(void) setAccPedalPosition:(NSNumber*) accPedalPosition { + if (accPedalPosition != nil) { + [parameters setObject:accPedalPosition forKey:NAMES_accPedalPosition]; + } else { + [parameters removeObjectForKey:NAMES_accPedalPosition]; + } +} + +-(NSNumber*) accPedalPosition { + return [parameters objectForKey:NAMES_accPedalPosition]; +} + +-(void) setSteeringWheelAngle:(NSNumber*) steeringWheelAngle { + if (steeringWheelAngle != nil) { + [parameters setObject:steeringWheelAngle forKey:NAMES_steeringWheelAngle]; + } else { + [parameters removeObjectForKey:NAMES_steeringWheelAngle]; + } +} + +-(NSNumber*) steeringWheelAngle { + return [parameters objectForKey:NAMES_steeringWheelAngle]; +} + +-(void) setECallInfo:(NSNumber*) eCallInfo { + if (eCallInfo != nil) { + [parameters setObject:eCallInfo forKey:NAMES_eCallInfo]; + } else { + [parameters removeObjectForKey:NAMES_eCallInfo]; + } +} + +-(NSNumber*) eCallInfo { + return [parameters objectForKey:NAMES_eCallInfo]; +} + +-(void) setAirbagStatus:(NSNumber*) airbagStatus { + if (airbagStatus != nil) { + [parameters setObject:airbagStatus forKey:NAMES_airbagStatus]; + } else { + [parameters removeObjectForKey:NAMES_airbagStatus]; + } +} + +-(NSNumber*) airbagStatus { + return [parameters objectForKey:NAMES_airbagStatus]; +} + +-(void) setEmergencyEvent:(NSNumber*) emergencyEvent { + if (emergencyEvent != nil) { + [parameters setObject:emergencyEvent forKey:NAMES_emergencyEvent]; + } else { + [parameters removeObjectForKey:NAMES_emergencyEvent]; + } +} + +-(NSNumber*) emergencyEvent { + return [parameters objectForKey:NAMES_emergencyEvent]; +} + +-(void) setClusterModeStatus:(NSNumber*) clusterModeStatus { + if (clusterModeStatus != nil) { + [parameters setObject:clusterModeStatus forKey:NAMES_clusterModeStatus]; + } else { + [parameters removeObjectForKey:NAMES_clusterModeStatus]; + } +} + +-(NSNumber*) clusterModeStatus { + return [parameters objectForKey:NAMES_clusterModeStatus]; +} + +-(void) setMyKey:(NSNumber*) myKey { + if (myKey != nil) { + [parameters setObject:myKey forKey:NAMES_myKey]; + } else { + [parameters removeObjectForKey:NAMES_myKey]; + } +} + +-(NSNumber*) myKey { + return [parameters objectForKey:NAMES_myKey]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleDataResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleDataResponse.h new file mode 100644 index 000000000..10e5affa4 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleDataResponse.h @@ -0,0 +1,55 @@ +// SDLGetVehicleDataResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +#import "SDLGPSData.h" +#import "SDLComponentVolumeStatus.h" +#import "SDLPRNDL.h" +#import "SDLTireStatus.h" +#import "SDLBeltStatus.h" +#import "SDLBodyInformation.h" +#import "SDLDeviceStatus.h" +#import "SDLVehicleDataEventStatus.h" +#import "SDLWiperStatus.h" +#import "SDLHeadLampStatus.h" +#import "SDLECallInfo.h" +#import "SDLAirbagStatus.h" +#import "SDLEmergencyEvent.h" +#import "SDLClusterModeStatus.h" +#import "SDLMyKey.h" + +@interface SDLGetVehicleDataResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLGPSData* gps; +@property(strong) NSNumber* speed; +@property(strong) NSNumber* rpm; +@property(strong) NSNumber* fuelLevel; +@property(strong) SDLComponentVolumeStatus* fuelLevel_State; +@property(strong) NSNumber* instantFuelConsumption; +@property(strong) NSNumber* externalTemperature; +@property(strong) NSString* vin; +@property(strong) SDLPRNDL* prndl; +@property(strong) SDLTireStatus* tirePressure; +@property(strong) NSNumber* odometer; +@property(strong) SDLBeltStatus* beltStatus; +@property(strong) SDLBodyInformation* bodyInformation; +@property(strong) SDLDeviceStatus* deviceStatus; +@property(strong) SDLVehicleDataEventStatus* driverBraking; +@property(strong) SDLWiperStatus* wiperStatus; +@property(strong) SDLHeadLampStatus* headLampStatus; +@property(strong) NSNumber* engineTorque; +@property(strong) NSNumber* accPedalPosition; +@property(strong) NSNumber* steeringWheelAngle; +@property(strong) SDLECallInfo* eCallInfo; +@property(strong) SDLAirbagStatus* airbagStatus; +@property(strong) SDLEmergencyEvent* emergencyEvent; +@property(strong) SDLClusterModeStatus* clusterModeStatus; +@property(strong) SDLMyKey* myKey; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleDataResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleDataResponse.m new file mode 100644 index 000000000..89868971e --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleDataResponse.m @@ -0,0 +1,396 @@ +// SDLGetVehicleDataResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLGetVehicleDataResponse.h" + +#import "SDLNames.h" + +@implementation SDLGetVehicleDataResponse + +-(id) init { + if (self = [super initWithName:NAMES_GetVehicleData]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setGps:(SDLGPSData*) gps { + if (gps != nil) { + [parameters setObject:gps forKey:NAMES_gps]; + } else { + [parameters removeObjectForKey:NAMES_gps]; + } +} + +-(SDLGPSData*) gps { + NSObject* obj = [parameters objectForKey:NAMES_gps]; + if ([obj isKindOfClass:SDLGPSData.class]) { + return (SDLGPSData*)obj; + } else { + return [[SDLGPSData alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setSpeed:(NSNumber*) speed { + if (speed != nil) { + [parameters setObject:speed forKey:NAMES_speed]; + } else { + [parameters removeObjectForKey:NAMES_speed]; + } +} + +-(NSNumber*) speed { + return [parameters objectForKey:NAMES_speed]; +} + +-(void) setRpm:(NSNumber*) rpm { + if (rpm != nil) { + [parameters setObject:rpm forKey:NAMES_rpm]; + } else { + [parameters removeObjectForKey:NAMES_rpm]; + } +} + +-(NSNumber*) rpm { + return [parameters objectForKey:NAMES_rpm]; +} + +-(void) setFuelLevel:(NSNumber*) fuelLevel { + if (fuelLevel != nil) { + [parameters setObject:fuelLevel forKey:NAMES_fuelLevel]; + } else { + [parameters removeObjectForKey:NAMES_fuelLevel]; + } +} + +-(NSNumber*) fuelLevel { + return [parameters objectForKey:NAMES_fuelLevel]; +} + +-(void) setFuelLevel_State:(SDLComponentVolumeStatus*) fuelLevel_State { + if (fuelLevel_State != nil) { + [parameters setObject:fuelLevel_State forKey:NAMES_fuelLevel_State]; + } else { + [parameters removeObjectForKey:NAMES_fuelLevel_State]; + } +} + +-(SDLComponentVolumeStatus*) fuelLevel_State { + NSObject* obj = [parameters objectForKey:NAMES_fuelLevel_State]; + if ([obj isKindOfClass:SDLComponentVolumeStatus.class]) { + return (SDLComponentVolumeStatus*)obj; + } else { + return [SDLComponentVolumeStatus valueOf:(NSString*)obj]; + } +} + +-(void) setInstantFuelConsumption:(NSNumber*) instantFuelConsumption { + if (instantFuelConsumption != nil) { + [parameters setObject:instantFuelConsumption forKey:NAMES_instantFuelConsumption]; + } else { + [parameters removeObjectForKey:NAMES_instantFuelConsumption]; + } +} + +-(NSNumber*) instantFuelConsumption { + return [parameters objectForKey:NAMES_instantFuelConsumption]; +} + +-(void) setExternalTemperature:(NSNumber*) externalTemperature { + if (externalTemperature != nil) { + [parameters setObject:externalTemperature forKey:NAMES_externalTemperature]; + } else { + [parameters removeObjectForKey:NAMES_externalTemperature]; + } +} + +-(NSNumber*) externalTemperature { + return [parameters objectForKey:NAMES_externalTemperature]; +} + +-(void) setVin:(NSString*) vin { + if (vin != nil) { + [parameters setObject:vin forKey:NAMES_vin]; + } else { + [parameters removeObjectForKey:NAMES_vin]; + } +} + +-(NSString*) vin { + return [parameters objectForKey:NAMES_vin]; +} + +-(void) setPrndl:(SDLPRNDL*) prndl { + if (prndl != nil) { + [parameters setObject:prndl forKey:NAMES_prndl]; + } else { + [parameters removeObjectForKey:NAMES_prndl]; + } +} + +-(SDLPRNDL*) prndl { + NSObject* obj = [parameters objectForKey:NAMES_prndl]; + if ([obj isKindOfClass:SDLPRNDL.class]) { + return (SDLPRNDL*)obj; + } else { + return [SDLPRNDL valueOf:(NSString*)obj]; + } +} + +-(void) setTirePressure:(SDLTireStatus*) tirePressure { + if (tirePressure != nil) { + [parameters setObject:tirePressure forKey:NAMES_tirePressure]; + } else { + [parameters removeObjectForKey:NAMES_tirePressure]; + } +} + +-(SDLTireStatus*) tirePressure { + NSObject* obj = [parameters objectForKey:NAMES_tirePressure]; + if ([obj isKindOfClass:SDLTireStatus.class]) { + return (SDLTireStatus*)obj; + } else { + return [[SDLTireStatus alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setOdometer:(NSNumber*) odometer { + if (odometer != nil) { + [parameters setObject:odometer forKey:NAMES_odometer]; + } else { + [parameters removeObjectForKey:NAMES_odometer]; + } +} + +-(NSNumber*) odometer { + return [parameters objectForKey:NAMES_odometer]; +} + +-(void) setBeltStatus:(SDLBeltStatus*) beltStatus { + if (beltStatus != nil) { + [parameters setObject:beltStatus forKey:NAMES_beltStatus]; + } else { + [parameters removeObjectForKey:NAMES_beltStatus]; + } +} + +-(SDLBeltStatus*) beltStatus { + NSObject* obj = [parameters objectForKey:NAMES_beltStatus]; + if ([obj isKindOfClass:SDLBeltStatus.class]) { + return (SDLBeltStatus*)obj; + } else { + return [[SDLBeltStatus alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setBodyInformation:(SDLBodyInformation*) bodyInformation { + if (bodyInformation != nil) { + [parameters setObject:bodyInformation forKey:NAMES_bodyInformation]; + } else { + [parameters removeObjectForKey:NAMES_bodyInformation]; + } +} + +-(SDLBodyInformation*) bodyInformation { + NSObject* obj = [parameters objectForKey:NAMES_bodyInformation]; + if ([obj isKindOfClass:SDLBodyInformation.class]) { + return (SDLBodyInformation*)obj; + } else { + return [[SDLBodyInformation alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setDeviceStatus:(SDLDeviceStatus*) deviceStatus { + if (deviceStatus != nil) { + [parameters setObject:deviceStatus forKey:NAMES_deviceStatus]; + } else { + [parameters removeObjectForKey:NAMES_deviceStatus]; + } +} + +-(SDLDeviceStatus*) deviceStatus { + NSObject* obj = [parameters objectForKey:NAMES_deviceStatus]; + if ([obj isKindOfClass:SDLDeviceStatus.class]) { + return (SDLDeviceStatus*)obj; + } else { + return [[SDLDeviceStatus alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setDriverBraking:(SDLVehicleDataEventStatus*) driverBraking { + if (driverBraking != nil) { + [parameters setObject:driverBraking forKey:NAMES_driverBraking]; + } else { + [parameters removeObjectForKey:NAMES_driverBraking]; + } +} + +-(SDLVehicleDataEventStatus*) driverBraking { + NSObject* obj = [parameters objectForKey:NAMES_driverBraking]; + if ([obj isKindOfClass:SDLVehicleDataEventStatus.class]) { + return (SDLVehicleDataEventStatus*)obj; + } else { + return [SDLVehicleDataEventStatus valueOf:(NSString*)obj]; + } +} + +-(void) setWiperStatus:(SDLWiperStatus*) wiperStatus { + if (wiperStatus != nil) { + [parameters setObject:wiperStatus forKey:NAMES_wiperStatus]; + } else { + [parameters removeObjectForKey:NAMES_wiperStatus]; + } +} + +-(SDLWiperStatus*) wiperStatus { + NSObject* obj = [parameters objectForKey:NAMES_wiperStatus]; + if ([obj isKindOfClass:SDLWiperStatus.class]) { + return (SDLWiperStatus*)obj; + } else { + return [SDLWiperStatus valueOf:(NSString*)obj]; + } +} + +-(void) setHeadLampStatus:(SDLHeadLampStatus*) headLampStatus { + if (headLampStatus != nil) { + [parameters setObject:headLampStatus forKey:NAMES_headLampStatus]; + } else { + [parameters removeObjectForKey:NAMES_headLampStatus]; + } +} + +-(SDLHeadLampStatus*) headLampStatus { + NSObject* obj = [parameters objectForKey:NAMES_headLampStatus]; + if ([obj isKindOfClass:SDLHeadLampStatus.class]) { + return (SDLHeadLampStatus*)obj; + } else { + return [[SDLHeadLampStatus alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setEngineTorque:(NSNumber*) engineTorque { + if (engineTorque != nil) { + [parameters setObject:engineTorque forKey:NAMES_engineTorque]; + } else { + [parameters removeObjectForKey:NAMES_engineTorque]; + } +} + +-(NSNumber*) engineTorque { + return [parameters objectForKey:NAMES_engineTorque]; +} + +-(void) setAccPedalPosition:(NSNumber*) accPedalPosition { + if (accPedalPosition != nil) { + [parameters setObject:accPedalPosition forKey:NAMES_accPedalPosition]; + } else { + [parameters removeObjectForKey:NAMES_accPedalPosition]; + } +} + +-(NSNumber*) accPedalPosition { + return [parameters objectForKey:NAMES_accPedalPosition]; +} + +-(void) setSteeringWheelAngle:(NSNumber*) steeringWheelAngle { + if (steeringWheelAngle != nil) { + [parameters setObject:steeringWheelAngle forKey:NAMES_steeringWheelAngle]; + } else { + [parameters removeObjectForKey:NAMES_steeringWheelAngle]; + } +} + +-(NSNumber*) steeringWheelAngle { + return [parameters objectForKey:NAMES_steeringWheelAngle]; +} + +-(void) setECallInfo:(SDLECallInfo*) eCallInfo { + if (eCallInfo != nil) { + [parameters setObject:eCallInfo forKey:NAMES_eCallInfo]; + } else { + [parameters removeObjectForKey:NAMES_eCallInfo]; + } +} + +-(SDLECallInfo*) eCallInfo { + NSObject* obj = [parameters objectForKey:NAMES_eCallInfo]; + if ([obj isKindOfClass:SDLECallInfo.class]) { + return (SDLECallInfo*)obj; + } else { + return [[SDLECallInfo alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setAirbagStatus:(SDLAirbagStatus*) airbagStatus { + if (airbagStatus != nil) { + [parameters setObject:airbagStatus forKey:NAMES_airbagStatus]; + } else { + [parameters removeObjectForKey:NAMES_airbagStatus]; + } +} + +-(SDLAirbagStatus*) airbagStatus { + NSObject* obj = [parameters objectForKey:NAMES_airbagStatus]; + if ([obj isKindOfClass:SDLAirbagStatus.class]) { + return (SDLAirbagStatus*)obj; + } else { + return [[SDLAirbagStatus alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setEmergencyEvent:(SDLEmergencyEvent*) emergencyEvent { + if (emergencyEvent != nil) { + [parameters setObject:emergencyEvent forKey:NAMES_emergencyEvent]; + } else { + [parameters removeObjectForKey:NAMES_emergencyEvent]; + } +} + +-(SDLEmergencyEvent*) emergencyEvent { + NSObject* obj = [parameters objectForKey:NAMES_emergencyEvent]; + if ([obj isKindOfClass:SDLEmergencyEvent.class]) { + return (SDLEmergencyEvent*)obj; + } else { + return [[SDLEmergencyEvent alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setClusterModeStatus:(SDLClusterModeStatus*) clusterModeStatus { + if (clusterModeStatus != nil) { + [parameters setObject:clusterModeStatus forKey:NAMES_clusterModeStatus]; + } else { + [parameters removeObjectForKey:NAMES_clusterModeStatus]; + } +} + +-(SDLClusterModeStatus*) clusterModeStatus { + NSObject* obj = [parameters objectForKey:NAMES_clusterModeStatus]; + if ([obj isKindOfClass:SDLClusterModeStatus.class]) { + return (SDLClusterModeStatus*)obj; + } else { + return [[SDLClusterModeStatus alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setMyKey:(SDLMyKey*) myKey { + if (myKey != nil) { + [parameters setObject:myKey forKey:NAMES_myKey]; + } else { + [parameters removeObjectForKey:NAMES_myKey]; + } +} + +-(SDLMyKey*) myKey { + NSObject* obj = [parameters objectForKey:NAMES_myKey]; + if ([obj isKindOfClass:SDLMyKey.class]) { + return (SDLMyKey*)obj; + } else { + return [[SDLMyKey alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGlobalProperty.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGlobalProperty.h new file mode 100644 index 000000000..b7c6fda82 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGlobalProperty.h @@ -0,0 +1,21 @@ +// SDLGlobalProperty.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLGlobalProperty : SDLEnum {} + ++(SDLGlobalProperty*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLGlobalProperty*) HELPPROMPT; ++(SDLGlobalProperty*) TIMEOUTPROMPT; ++(SDLGlobalProperty*) VRHELPTITLE; ++(SDLGlobalProperty*) VRHELPITEMS; ++(SDLGlobalProperty*) MENUNAME; ++(SDLGlobalProperty*) MENUICON; ++(SDLGlobalProperty*) KEYBOARDPROPERTIES; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGlobalProperty.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGlobalProperty.m new file mode 100644 index 000000000..d5e49335c --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGlobalProperty.m @@ -0,0 +1,92 @@ +// SDLGlobalProperty.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLGlobalProperty.h" + +SDLGlobalProperty* SDLGlobalProperty_HELPPROMPT = nil; +SDLGlobalProperty* SDLGlobalProperty_TIMEOUTPROMPT = nil; +SDLGlobalProperty* SDLGlobalProperty_VRHELPTITLE = nil; +SDLGlobalProperty* SDLGlobalProperty_VRHELPITEMS = nil; +SDLGlobalProperty* SDLGlobalProperty_MENUNAME = nil; +SDLGlobalProperty* SDLGlobalProperty_MENUICON = nil; +SDLGlobalProperty* SDLGlobalProperty_KEYBOARDPROPERTIES = nil; + +NSMutableArray* SDLGlobalProperty_values = nil; + +@implementation SDLGlobalProperty + ++(SDLGlobalProperty*) valueOf:(NSString*) value { + for (SDLGlobalProperty* item in SDLGlobalProperty.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLGlobalProperty_values == nil) { + SDLGlobalProperty_values = [[NSMutableArray alloc] initWithObjects: + SDLGlobalProperty.HELPPROMPT, + SDLGlobalProperty.TIMEOUTPROMPT, + SDLGlobalProperty.VRHELPTITLE, + SDLGlobalProperty.VRHELPITEMS, + SDLGlobalProperty.MENUNAME, + SDLGlobalProperty.MENUICON, + SDLGlobalProperty.KEYBOARDPROPERTIES, + nil]; + } + return SDLGlobalProperty_values; +} + ++(SDLGlobalProperty*) HELPPROMPT { + if (SDLGlobalProperty_HELPPROMPT == nil) { + SDLGlobalProperty_HELPPROMPT = [[SDLGlobalProperty alloc] initWithValue:@"HELPPROMPT"]; + } + return SDLGlobalProperty_HELPPROMPT; +} + ++(SDLGlobalProperty*) TIMEOUTPROMPT { + if (SDLGlobalProperty_TIMEOUTPROMPT == nil) { + SDLGlobalProperty_TIMEOUTPROMPT = [[SDLGlobalProperty alloc] initWithValue:@"TIMEOUTPROMPT"]; + } + return SDLGlobalProperty_TIMEOUTPROMPT; +} + ++(SDLGlobalProperty*) VRHELPTITLE { + if (SDLGlobalProperty_VRHELPTITLE == nil) { + SDLGlobalProperty_VRHELPTITLE = [[SDLGlobalProperty alloc] initWithValue:@"VRHELPTITLE"]; + } + return SDLGlobalProperty_VRHELPTITLE; +} + ++(SDLGlobalProperty*) VRHELPITEMS { + if (SDLGlobalProperty_VRHELPITEMS == nil) { + SDLGlobalProperty_VRHELPITEMS = [[SDLGlobalProperty alloc] initWithValue:@"VRHELPITEMS"]; + } + return SDLGlobalProperty_VRHELPITEMS; +} + ++(SDLGlobalProperty*) MENUNAME { + if (SDLGlobalProperty_MENUNAME == nil) { + SDLGlobalProperty_MENUNAME = [[SDLGlobalProperty alloc] initWithValue:@"MENUNAME"]; + } + return SDLGlobalProperty_MENUNAME; +} + ++(SDLGlobalProperty*) MENUICON { + if (SDLGlobalProperty_MENUICON == nil) { + SDLGlobalProperty_MENUICON = [[SDLGlobalProperty alloc] initWithValue:@"MENUICON"]; + } + return SDLGlobalProperty_MENUICON; +} + ++(SDLGlobalProperty*) KEYBOARDPROPERTIES { + if (SDLGlobalProperty_KEYBOARDPROPERTIES == nil) { + SDLGlobalProperty_KEYBOARDPROPERTIES = [[SDLGlobalProperty alloc] initWithValue:@"KEYBOARDPROPERTIES"]; + } + return SDLGlobalProperty_KEYBOARDPROPERTIES; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMILevel.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMILevel.h new file mode 100644 index 000000000..34999b68e --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMILevel.h @@ -0,0 +1,18 @@ +// SDLHMILevel.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLHMILevel : SDLEnum {} + ++(SDLHMILevel*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLHMILevel*) HMI_FULL; ++(SDLHMILevel*) HMI_LIMITED; ++(SDLHMILevel*) HMI_BACKGROUND; ++(SDLHMILevel*) HMI_NONE; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMILevel.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMILevel.m new file mode 100644 index 000000000..dc072ef0e --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMILevel.m @@ -0,0 +1,65 @@ +// SDLHMILevel.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLHMILevel.h" + +SDLHMILevel* SDLHMILevel_HMI_FULL = nil; +SDLHMILevel* SDLHMILevel_HMI_LIMITED = nil; +SDLHMILevel* SDLHMILevel_HMI_BACKGROUND = nil; +SDLHMILevel* SDLHMILevel_HMI_NONE = nil; + +NSMutableArray* SDLHMILevel_values = nil; + +@implementation SDLHMILevel + ++(SDLHMILevel*) valueOf:(NSString*) value { + for (SDLHMILevel* item in SDLHMILevel.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLHMILevel_values == nil) { + SDLHMILevel_values = [[NSMutableArray alloc] initWithObjects: + SDLHMILevel.HMI_FULL, + SDLHMILevel.HMI_LIMITED, + SDLHMILevel.HMI_BACKGROUND, + SDLHMILevel.HMI_NONE, + nil]; + } + return SDLHMILevel_values; +} + ++(SDLHMILevel*) HMI_FULL { + if (SDLHMILevel_HMI_FULL == nil) { + SDLHMILevel_HMI_FULL = [[SDLHMILevel alloc] initWithValue:@"FULL"]; + } + return SDLHMILevel_HMI_FULL; +} + ++(SDLHMILevel*) HMI_LIMITED { + if (SDLHMILevel_HMI_LIMITED == nil) { + SDLHMILevel_HMI_LIMITED = [[SDLHMILevel alloc] initWithValue:@"LIMITED"]; + } + return SDLHMILevel_HMI_LIMITED; +} + ++(SDLHMILevel*) HMI_BACKGROUND { + if (SDLHMILevel_HMI_BACKGROUND == nil) { + SDLHMILevel_HMI_BACKGROUND = [[SDLHMILevel alloc] initWithValue:@"BACKGROUND"]; + } + return SDLHMILevel_HMI_BACKGROUND; +} + ++(SDLHMILevel*) HMI_NONE { + if (SDLHMILevel_HMI_NONE == nil) { + SDLHMILevel_HMI_NONE = [[SDLHMILevel alloc] initWithValue:@"NONE"]; + } + return SDLHMILevel_HMI_NONE; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIPermissions.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIPermissions.h new file mode 100644 index 000000000..bf24865cb --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIPermissions.h @@ -0,0 +1,16 @@ +// SDLHMIPermissions.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +@interface SDLHMIPermissions : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSMutableArray* allowed; +@property(strong) NSMutableArray* userDisallowed; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIPermissions.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIPermissions.m new file mode 100644 index 000000000..85d5f9e3c --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIPermissions.m @@ -0,0 +1,64 @@ +// SDLHMIPermissions.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLHMIPermissions.h" + +#import "SDLNames.h" +#import "SDLHMILevel.h" + +@implementation SDLHMIPermissions + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setAllowed:(NSMutableArray*) allowed { + if (allowed != nil) { + [store setObject:allowed forKey:NAMES_allowed]; + } else { + [store removeObjectForKey:NAMES_allowed]; + } +} + +-(NSMutableArray*) allowed { + NSMutableArray* array = [store objectForKey:NAMES_allowed]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLHMILevel.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSString* enumString in array) { + [newList addObject:[SDLHMILevel valueOf:enumString]]; + } + return newList; + } +} + +-(void) setUserDisallowed:(NSMutableArray*) userDisallowed { + if (userDisallowed != nil) { + [store setObject:userDisallowed forKey:NAMES_userDisallowed]; + } else { + [store removeObjectForKey:NAMES_userDisallowed]; + } +} + +-(NSMutableArray*) userDisallowed { + NSMutableArray* array = [store objectForKey:NAMES_userDisallowed]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLHMILevel.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSString* enumString in array) { + [newList addObject:[SDLHMILevel valueOf:enumString]]; + } + return newList; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIZoneCapabilities.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIZoneCapabilities.h new file mode 100644 index 000000000..32ec2c649 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIZoneCapabilities.h @@ -0,0 +1,16 @@ +// SDLHmiZoneCapabilities.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLHmiZoneCapabilities : SDLEnum {} + ++(SDLHmiZoneCapabilities*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLHmiZoneCapabilities*) FRONT; ++(SDLHmiZoneCapabilities*) BACK; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIZoneCapabilities.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIZoneCapabilities.m new file mode 100644 index 000000000..011238797 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIZoneCapabilities.m @@ -0,0 +1,47 @@ +// SDLHmiZoneCapabilities.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLHmiZoneCapabilities.h" + +SDLHmiZoneCapabilities* SDLHmiZoneCapabilities_FRONT = nil; +SDLHmiZoneCapabilities* SDLHmiZoneCapabilities_BACK = nil; + +NSMutableArray* SDLHmiZoneCapabilities_values = nil; + +@implementation SDLHmiZoneCapabilities + ++(SDLHmiZoneCapabilities*) valueOf:(NSString*) value { + for (SDLHmiZoneCapabilities* item in SDLHmiZoneCapabilities.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLHmiZoneCapabilities_values == nil) { + SDLHmiZoneCapabilities_values = [[NSMutableArray alloc] initWithObjects: + SDLHmiZoneCapabilities.FRONT, + SDLHmiZoneCapabilities.BACK, + nil]; + } + return SDLHmiZoneCapabilities_values; +} + ++(SDLHmiZoneCapabilities*) FRONT { + if (SDLHmiZoneCapabilities_FRONT == nil) { + SDLHmiZoneCapabilities_FRONT = [[SDLHmiZoneCapabilities alloc] initWithValue:@"FRONT"]; + } + return SDLHmiZoneCapabilities_FRONT; +} + ++(SDLHmiZoneCapabilities*) BACK { + if (SDLHmiZoneCapabilities_BACK == nil) { + SDLHmiZoneCapabilities_BACK = [[SDLHmiZoneCapabilities alloc] initWithValue:@"BACK"]; + } + return SDLHmiZoneCapabilities_BACK; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLHeadLampStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHeadLampStatus.h new file mode 100644 index 000000000..f65364be6 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHeadLampStatus.h @@ -0,0 +1,19 @@ +// SDLHeadLampStatus.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +#import "SDLAmbientLightStatus.h" + +@interface SDLHeadLampStatus : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* lowBeamsOn; +@property(strong) NSNumber* highBeamsOn; +@property(strong) SDLAmbientLightStatus* ambientLightSensorStatus; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLHeadLampStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHeadLampStatus.m new file mode 100644 index 000000000..c0c349a9c --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHeadLampStatus.m @@ -0,0 +1,62 @@ +// SDLHeadLampStatus.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLHeadLampStatus.h" + +#import "SDLNames.h" + +@implementation SDLHeadLampStatus + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setLowBeamsOn:(NSNumber*) lowBeamsOn { + if (lowBeamsOn != nil) { + [store setObject:lowBeamsOn forKey:NAMES_lowBeamsOn]; + } else { + [store removeObjectForKey:NAMES_lowBeamsOn]; + } +} + +-(NSNumber*) lowBeamsOn { + return [store objectForKey:NAMES_lowBeamsOn]; +} + +-(void) setHighBeamsOn:(NSNumber*) highBeamsOn { + if (highBeamsOn != nil) { + [store setObject:highBeamsOn forKey:NAMES_highBeamsOn]; + } else { + [store removeObjectForKey:NAMES_highBeamsOn]; + } +} + +-(NSNumber*) highBeamsOn { + return [store objectForKey:NAMES_highBeamsOn]; +} + +-(void) setAmbientLightSensorStatus:(SDLAmbientLightStatus*) ambientLightSensorStatus { + if (ambientLightSensorStatus != nil) { + [store setObject:ambientLightSensorStatus forKey:NAMES_ambientLightSensorStatus]; + } else { + [store removeObjectForKey:NAMES_ambientLightSensorStatus]; + } +} + +-(SDLAmbientLightStatus*) ambientLightSensorStatus { + NSObject* obj = [store objectForKey:NAMES_ambientLightSensorStatus]; + if ([obj isKindOfClass:SDLAmbientLightStatus.class]) { + return (SDLAmbientLightStatus*)obj; + } else { + return [SDLAmbientLightStatus valueOf:(NSString*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLHexUtility.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHexUtility.h new file mode 100644 index 000000000..cbd1bd0b6 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHexUtility.h @@ -0,0 +1,13 @@ +// +// SDLHexUtility.h +// SmartDeviceLink +// + +@import Foundation; + +@interface SDLHexUtility : NSObject + ++ (NSString *)getHexString:(UInt8 *)bytes length:(int)length; ++ (NSString *)getHexString:(NSData *)data; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLHexUtility.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHexUtility.m new file mode 100644 index 000000000..50ad95979 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHexUtility.m @@ -0,0 +1,23 @@ +// +// SDLHexUtility.m +// SmartDeviceLink +// + +#import "SDLHexUtility.h" + +@implementation SDLHexUtility + ++ (NSString*)getHexString:(UInt8 *)bytes length:(int)length { + NSMutableString* ret = [NSMutableString stringWithCapacity:(length * 2)]; + for (int i = 0; i < length; i++) { + [ret appendFormat:@"%02X", ((Byte*)bytes)[i]]; + } + return ret; +} + ++ (NSString *)getHexString:(NSData *)data { + return [self getHexString:(Byte*)data.bytes length:(int)data.length]; +} + + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLIAPTransport.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLIAPTransport.h new file mode 100644 index 000000000..0ac268a6f --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLIAPTransport.h @@ -0,0 +1,13 @@ +// SDLIAPTransport.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import <ExternalAccessory/ExternalAccessory.h> +#import "SDLAbstractTransport.h" + +@interface SDLIAPTransport : SDLAbstractTransport <NSStreamDelegate> {} + +@property (assign) BOOL forceLegacy; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLIAPTransport.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLIAPTransport.m new file mode 100644 index 000000000..f45fb7aab --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLIAPTransport.m @@ -0,0 +1,439 @@ +// SDLIAPTransport.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +@import Foundation; +@import UIKit; + +#import "SDLIAPTransport.h" +#import "SDLDebugTool.h" +#import "SDLSiphonServer.h" + +#define LEGACY_PROTOCOL_STRING @"com.ford.sync.prot0" +#define CONTROL_PROTOCOL_STRING @"com.smartdevicelink.prot0" + +#define IAP_INPUT_BUFFER_SIZE 1024 + + +@interface SDLIAPTransport () + +@property (strong) EASession *session; +@property (strong) EAAccessory *accessory; +@property (strong) NSMutableData *writeData; +@property (assign) BOOL onControlProtocol; +@property (assign) BOOL useLegacyProtocol; +@property (strong) NSString *protocolString; +@property (assign) BOOL isOutputStreamReady; +@property (assign) BOOL isInputStreamReady; +@property (assign) BOOL transportReady; + + +@property (strong) NSTimer* backgroundedTimer; + + +@end + + + +@implementation SDLIAPTransport + +- (id)init { + if (self = [super initWithEndpoint:nil endpointParam:nil]) { + + [SDLDebugTool logInfo:@"Init" withType:SDLDebugType_Transport_iAP toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(accessoryConnected:) name:EAAccessoryDidConnectNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(accessoryDisconnected:) name:EAAccessoryDidDisconnectNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationWillEnterForeground:) name:UIApplicationWillEnterForegroundNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationDidEnterBackground:) name:UIApplicationDidEnterBackgroundNotification object:nil]; + + [SDLSiphonServer init]; + } + return self; +} + + +#pragma mark - +#pragma mark SDLTransport Implementation + +- (void)connect { + [SDLDebugTool logInfo:@"Connect" withType:SDLDebugType_Transport_iAP toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + + if (!self.session){ + [self checkForValidConnectedAccessory]; + + if (self.accessory && self.protocolString) { + [self openSession]; + } else { + [SDLDebugTool logInfo:@"No Devices Found" withType:SDLDebugType_Transport_iAP toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + } + } else { + [SDLDebugTool logInfo:@"Session Already Open" withType:SDLDebugType_Transport_iAP toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + } +} + +- (void)disconnect { + [SDLDebugTool logInfo:@"Disconnect" withType:SDLDebugType_Transport_iAP toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + + if (self.session) { + [self closeSession]; + + if (!self.onControlProtocol) { + [SDLDebugTool logInfo:@"Transport Not Ready" withType:SDLDebugType_Transport_iAP toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + self.transportReady = NO; + [self notifyTransportDisconnected]; + } + } +} + +- (void)sendData:(NSData*) data { + [self writeDataOut:data]; +} + + + +#pragma mark - +#pragma mark EAAccessory Notifications + +- (void)accessoryConnected:(NSNotification*) notification { + [SDLDebugTool logInfo:@"Accessory Connected" withType:SDLDebugType_Transport_iAP toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + [self connect]; +} + +- (void)accessoryDisconnected:(NSNotification*) notification { + [SDLDebugTool logInfo:@"Accessory Disconnected" withType:SDLDebugType_Transport_iAP toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + [self disconnect]; +} + +-(void)applicationWillEnterForeground:(NSNotification *)notification { + [SDLDebugTool logInfo:@"Will Enter Foreground" withType:SDLDebugType_Transport_iAP toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + //TODO:DEBUG + // [self.backgroundedTimer invalidate]; + + [self setupControllerForAccessory:nil withProtocolString:nil]; + [self connect]; +} + +-(void)applicationDidEnterBackground:(NSNotification *)notification { + [SDLDebugTool logInfo:@"Did Enter Background" withType:SDLDebugType_Transport_iAP toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + //TODO:DEBUG + // self.backgroundedTimer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(backgroundButAwake:) userInfo: nil repeats: YES]; +} + + +#pragma mark - +#pragma mark Response Timers + + +- (void)protocolIndexRestart{ + + //TODO:DEBUG + [SDLDebugTool logInfo:@"PI Timer" withType:SDLDebugType_Transport_iAP toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + + if (!self.transportReady) { + [SDLDebugTool logInfo:@"PI Restart" withType:SDLDebugType_Transport_iAP toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + [self closeSession]; + [self connect]; + } + +} + + + +#pragma mark - +#pragma mark NSStreamDelegateEventExtensions + +- (void)stream:(NSStream *)stream handleEvent:(NSStreamEvent)event +{ + + switch (event) { + case NSStreamEventNone: + break; + case NSStreamEventOpenCompleted: + { + if (stream == [_session outputStream]) { + self.isOutputStreamReady = YES; + } else if (stream == [_session inputStream]) { + self.isInputStreamReady = YES; + } + + if (self.isOutputStreamReady && self.isInputStreamReady) { + [SDLDebugTool logInfo:@"Streams Event Open" withType:SDLDebugType_Transport_iAP toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + + if (self.onControlProtocol) { + [SDLDebugTool logInfo:@"Waiting For Protocol Index" withType:SDLDebugType_Transport_iAP toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + + //Begin Connection Retry +// float randomNumber = (float)arc4random() / UINT_MAX; // between 0 and 1 +// float randomMinMax = 0.0f + (0.5f-0.0f)*randomNumber; // between Min (0.0) and Max (0.5) + + //[SDLDebugTool logInfo:[NSString stringWithFormat:@"Wait: %f", 1.5f] withType:SDLDebugType_Transport_iAP]; + + //TODO:DEBUG +// [self performSelector:@selector(protocolIndexRestart) withObject:nil afterDelay:2.5f]; + + } else { + [SDLDebugTool logInfo:@"Transport Ready" withType:SDLDebugType_Transport_iAP toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + self.transportReady = YES; + [self notifyTransportConnected]; + } + + } + break; + } + case NSStreamEventHasBytesAvailable: + [self readDataIn]; + break; + case NSStreamEventHasSpaceAvailable: + break; + case NSStreamEventErrorOccurred: + { + NSString *logMessage = [NSString stringWithFormat:@"Stream Error:%@", [[stream streamError] localizedDescription]]; + [SDLDebugTool logInfo:logMessage withType:SDLDebugType_Transport_iAP toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + break; + } + case NSStreamEventEndEncountered: + { + if (stream == [_session outputStream]) { + self.isOutputStreamReady = NO; + } else if (stream == [_session inputStream]) { + self.isInputStreamReady = NO; + } + + if (!self.isOutputStreamReady && !self.isInputStreamReady) { + [SDLDebugTool logInfo:@"Streams Event End" withType:SDLDebugType_Transport_iAP toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + [self disconnect]; + [self connect]; + } + break; + } + default: + break; + } +} + + + +#pragma mark - +#pragma mark Class Methods + +- (void)setupControllerForAccessory:(EAAccessory *)accessory withProtocolString:(NSString *)protocolString +{ + self.accessory = accessory; + self.protocolString = protocolString; +} + +- (void)checkForValidConnectedAccessory { + for (EAAccessory* accessory in [[EAAccessoryManager sharedAccessoryManager] connectedAccessories]) { + + [SDLDebugTool logInfo:[NSString stringWithFormat:@"Check Accessory: %@", accessory] withType:SDLDebugType_Transport_iAP toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + + self.useLegacyProtocol = NO; + + if (self.forceLegacy) { + self.useLegacyProtocol = YES; + } + else { + for (NSString *protocolString in [accessory protocolStrings]) { + if ([protocolString isEqualToString:LEGACY_PROTOCOL_STRING]) { + self.useLegacyProtocol = YES; + } + + if ([protocolString isEqualToString:CONTROL_PROTOCOL_STRING]) { + [SDLDebugTool logInfo:[NSString stringWithFormat:@"MultiApp Sync @ %@", CONTROL_PROTOCOL_STRING] withType:SDLDebugType_Transport_iAP toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + + self.useLegacyProtocol = NO; + + [self setupControllerForAccessory:accessory withProtocolString:CONTROL_PROTOCOL_STRING]; + return; + } + } + } + + if (self.useLegacyProtocol) { + [SDLDebugTool logInfo:[NSString stringWithFormat:@"Legacy Sync @ %@", LEGACY_PROTOCOL_STRING] withType:SDLDebugType_Transport_iAP toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + + [self setupControllerForAccessory:accessory withProtocolString:LEGACY_PROTOCOL_STRING]; + return; + } + } +} + +- (void)dealloc { + [SDLDebugTool logInfo:@"Dealloc" withType:SDLDebugType_Transport_iAP toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + + [self closeSession]; + [self setupControllerForAccessory:nil withProtocolString:nil]; + + [[NSNotificationCenter defaultCenter] removeObserver:self name:EAAccessoryDidConnectNotification object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:EAAccessoryDidDisconnectNotification object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidEnterBackgroundNotification object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationWillEnterForegroundNotification object:nil]; +} + + + +#pragma mark Session Control + +- (void)openSession { + if (self.accessory && self.protocolString) { + + self.session = [[EASession alloc] initWithAccessory:self.accessory forProtocol:self.protocolString]; + + if (self.session) { + [SDLDebugTool logInfo:@"Opening Streams" withType:SDLDebugType_Transport_iAP toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + + [[self.session inputStream] setDelegate:self]; + [[self.session inputStream] scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode]; + [[self.session inputStream] open]; + + [[self.session outputStream] setDelegate:self]; + [[self.session outputStream] scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode]; + [[self.session outputStream] open]; + + if ([self.protocolString isEqualToString:CONTROL_PROTOCOL_STRING]) { + self.onControlProtocol = YES; + } + } else { + if ([self.protocolString isEqualToString:CONTROL_PROTOCOL_STRING]) { + [SDLDebugTool logInfo:@"Session Not Opened (Control Protocol)" withType:SDLDebugType_Transport_iAP toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + + //Begin Connection Retry + float randomNumber = (float)arc4random() / UINT_MAX; // between 0 and 1 + float randomMinMax = 0.0f + (0.5f-0.0f)*randomNumber; // between Min (0.0) and Max (0.5) + + [SDLDebugTool logInfo:[NSString stringWithFormat:@"Wait: %f", randomMinMax] withType:SDLDebugType_Transport_iAP]; + [self performSelector:@selector(openSession) withObject:nil afterDelay:randomNumber]; + } else { + [SDLDebugTool logInfo:@"Session Not Opened" withType:SDLDebugType_Transport_iAP toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + } + } + } else { + [SDLDebugTool logInfo:@"Accessory Or Protocol String Not Set" withType:SDLDebugType_Transport_iAP toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + } +} + +- (void)closeSession { + if (self.session) { + [SDLDebugTool logInfo:@"Closing Streams" withType:SDLDebugType_Transport_iAP toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + + [[self.session inputStream] close]; + [[self.session inputStream] removeFromRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode]; + [[self.session inputStream] setDelegate:nil]; + + [[self.session outputStream] close]; + [[self.session outputStream] removeFromRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode]; + [[self.session outputStream] setDelegate:nil]; + + self.session = nil; + self.writeData = nil; + + self.isOutputStreamReady = NO; + self.isInputStreamReady = NO; + } +} + + + +#pragma mark Low Level Read/Write + +// Write data to the accessory while there is space available and data to write +- (void)writeDataOut:(NSData *)dataOut { + + NSMutableData *remainder = dataOut.mutableCopy; + + while (1) { + if (remainder.length == 0) break; + + if ( [[self.session outputStream] hasSpaceAvailable] ) { + + //TODO: Added for debug, issue with module + //[NSThread sleepForTimeInterval:0.020]; + + NSInteger bytesWritten = [[self.session outputStream] write:remainder.bytes maxLength:remainder.length]; + if (bytesWritten == -1) { + NSLog(@"Error: %@", [[self.session outputStream] streamError]); + break; + } + + NSString *logMessage = [NSString stringWithFormat:@"Outgoing: (%ld)", (long)bytesWritten]; + [SDLDebugTool logInfo:logMessage + andBinaryData:[remainder subdataWithRange:NSMakeRange(0, bytesWritten)] + withType:SDLDebugType_Transport_iAP + toOutput:SDLDebugOutput_File]; + + [remainder replaceBytesInRange:NSMakeRange(0, bytesWritten) withBytes:NULL length:0]; + } + } + +} + +// Read data while there is data and space available in the input buffer +- (void)readDataIn { + uint8_t buf[IAP_INPUT_BUFFER_SIZE]; + while ([[self.session inputStream] hasBytesAvailable]) + { + NSInteger bytesRead = [[self.session inputStream] read:buf maxLength:IAP_INPUT_BUFFER_SIZE]; + + NSData *dataIn = [NSData dataWithBytes:buf length:bytesRead]; + + NSString *logMessage = [NSString stringWithFormat:@"Incoming: (%ld)", (long)bytesRead]; + [SDLDebugTool logInfo:logMessage + andBinaryData:dataIn + withType:SDLDebugType_Transport_iAP + toOutput:SDLDebugOutput_File]; + + if (bytesRead > 0) { + // TODO: change this to ndsata parameter for consistency + [self handleBytesReceivedFromTransport:buf length:bytesRead]; + } else { + break; + } + } +} + + + +#pragma mark - +#pragma mark Overridden Methods + +- (void)handleBytesReceivedFromTransport:(Byte *)receivedBytes length:(NSInteger)receivedBytesLength { + + if (self.onControlProtocol){ + + NSNumber *dataProtocol = [NSNumber numberWithUnsignedInt:receivedBytes[0]]; + + [SDLDebugTool logInfo:[NSString stringWithFormat:@"Moving To Protocol Index: %@", dataProtocol] withType:SDLDebugType_Transport_iAP toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + + if ([dataProtocol isEqualToNumber:[NSNumber numberWithInt:255]]) { + [SDLDebugTool logInfo:@"All Available Protocol Strings Are In Use" withType:SDLDebugType_Transport_iAP toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + + //FIXME: Restart but dont call back up to app or connect will keep getting called when busy... + return; + } + else { + NSString *currentProtocolString = [NSString stringWithFormat:@"com.smartdevicelink.prot%@", dataProtocol]; + + [self closeSession]; + self.onControlProtocol = NO; + + [self setupControllerForAccessory:self.accessory withProtocolString:currentProtocolString]; + [self openSession]; + } + } + else { + [super handleDataReceivedFromTransport:[NSData dataWithBytes:receivedBytes length:receivedBytesLength]]; + } +} + + + +#pragma mark - +#pragma mark Debug Helpers + +-(void) backgroundButAwake:(NSTimer*) t +{ + [SDLDebugTool logInfo:@"Still Awake..." withType:SDLDebugType_Transport_iAP toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStableStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStableStatus.h new file mode 100644 index 000000000..baeff4301 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStableStatus.h @@ -0,0 +1,17 @@ +// SDLIgnitionStableStatus.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLIgnitionStableStatus : SDLEnum {} + ++(SDLIgnitionStableStatus*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLIgnitionStableStatus*) IGNITION_SWITCH_NOT_STABLE; ++(SDLIgnitionStableStatus*) IGNITION_SWITCH_STABLE; ++(SDLIgnitionStableStatus*) MISSING_FROM_TRANSMITTER; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStableStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStableStatus.m new file mode 100644 index 000000000..c9aeb300c --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStableStatus.m @@ -0,0 +1,56 @@ +// SDLIgnitionStableStatus.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLIgnitionStableStatus.h" + +SDLIgnitionStableStatus* SDLIgnitionStableStatus_IGNITION_SWITCH_NOT_STABLE = nil; +SDLIgnitionStableStatus* SDLIgnitionStableStatus_IGNITION_SWITCH_STABLE = nil; +SDLIgnitionStableStatus* SDLIgnitionStableStatus_MISSING_FROM_TRANSMITTER = nil; + +NSMutableArray* SDLIgnitionStableStatus_values = nil; + +@implementation SDLIgnitionStableStatus + ++(SDLIgnitionStableStatus*) valueOf:(NSString*) value { + for (SDLIgnitionStableStatus* item in SDLIgnitionStableStatus.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLIgnitionStableStatus_values == nil) { + SDLIgnitionStableStatus_values = [[NSMutableArray alloc] initWithObjects: + SDLIgnitionStableStatus.IGNITION_SWITCH_NOT_STABLE, + SDLIgnitionStableStatus.IGNITION_SWITCH_STABLE, + SDLIgnitionStableStatus.MISSING_FROM_TRANSMITTER, + nil]; + } + return SDLIgnitionStableStatus_values; +} + ++(SDLIgnitionStableStatus*) IGNITION_SWITCH_NOT_STABLE { + if (SDLIgnitionStableStatus_IGNITION_SWITCH_NOT_STABLE == nil) { + SDLIgnitionStableStatus_IGNITION_SWITCH_NOT_STABLE = [[SDLIgnitionStableStatus alloc] initWithValue:@"IGNITION_SWITCH_NOT_STABLE"]; + } + return SDLIgnitionStableStatus_IGNITION_SWITCH_NOT_STABLE; +} + ++(SDLIgnitionStableStatus*) IGNITION_SWITCH_STABLE { + if (SDLIgnitionStableStatus_IGNITION_SWITCH_STABLE == nil) { + SDLIgnitionStableStatus_IGNITION_SWITCH_STABLE = [[SDLIgnitionStableStatus alloc] initWithValue:@"IGNITION_SWITCH_STABLE"]; + } + return SDLIgnitionStableStatus_IGNITION_SWITCH_STABLE; +} + ++(SDLIgnitionStableStatus*) MISSING_FROM_TRANSMITTER { + if (SDLIgnitionStableStatus_MISSING_FROM_TRANSMITTER == nil) { + SDLIgnitionStableStatus_MISSING_FROM_TRANSMITTER = [[SDLIgnitionStableStatus alloc] initWithValue:@"MISSING_FROM_TRANSMITTER"]; + } + return SDLIgnitionStableStatus_MISSING_FROM_TRANSMITTER; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStatus.h new file mode 100644 index 000000000..d4df46eb9 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStatus.h @@ -0,0 +1,20 @@ +// SDLIgnitionStatus.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLIgnitionStatus : SDLEnum {} + ++(SDLIgnitionStatus*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLIgnitionStatus*) UNKNOWN; ++(SDLIgnitionStatus*) OFF; ++(SDLIgnitionStatus*) ACCESSORY; ++(SDLIgnitionStatus*) RUN; ++(SDLIgnitionStatus*) START; ++(SDLIgnitionStatus*) INVALID; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStatus.m new file mode 100644 index 000000000..d01f38b6a --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStatus.m @@ -0,0 +1,83 @@ +// SDLIgnitionStatus.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLIgnitionStatus.h" + +SDLIgnitionStatus* SDLIgnitionStatus_UNKNOWN = nil; +SDLIgnitionStatus* SDLIgnitionStatus_OFF = nil; +SDLIgnitionStatus* SDLIgnitionStatus_ACCESSORY = nil; +SDLIgnitionStatus* SDLIgnitionStatus_RUN = nil; +SDLIgnitionStatus* SDLIgnitionStatus_START = nil; +SDLIgnitionStatus* SDLIgnitionStatus_INVALID = nil; + +NSMutableArray* SDLIgnitionStatus_values = nil; + +@implementation SDLIgnitionStatus + ++(SDLIgnitionStatus*) valueOf:(NSString*) value { + for (SDLIgnitionStatus* item in SDLIgnitionStatus.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLIgnitionStatus_values == nil) { + SDLIgnitionStatus_values = [[NSMutableArray alloc] initWithObjects: + SDLIgnitionStatus.UNKNOWN, + SDLIgnitionStatus.OFF, + SDLIgnitionStatus.ACCESSORY, + SDLIgnitionStatus.RUN, + SDLIgnitionStatus.START, + SDLIgnitionStatus.INVALID, + nil]; + } + return SDLIgnitionStatus_values; +} + ++(SDLIgnitionStatus*) UNKNOWN { + if (SDLIgnitionStatus_UNKNOWN == nil) { + SDLIgnitionStatus_UNKNOWN = [[SDLIgnitionStatus alloc] initWithValue:@"UNKNOWN"]; + } + return SDLIgnitionStatus_UNKNOWN; +} + ++(SDLIgnitionStatus*) OFF { + if (SDLIgnitionStatus_OFF == nil) { + SDLIgnitionStatus_OFF = [[SDLIgnitionStatus alloc] initWithValue:@"OFF"]; + } + return SDLIgnitionStatus_OFF; +} + ++(SDLIgnitionStatus*) ACCESSORY { + if (SDLIgnitionStatus_ACCESSORY == nil) { + SDLIgnitionStatus_ACCESSORY = [[SDLIgnitionStatus alloc] initWithValue:@"ACCESSORY"]; + } + return SDLIgnitionStatus_ACCESSORY; +} + ++(SDLIgnitionStatus*) RUN { + if (SDLIgnitionStatus_RUN == nil) { + SDLIgnitionStatus_RUN = [[SDLIgnitionStatus alloc] initWithValue:@"RUN"]; + } + return SDLIgnitionStatus_RUN; +} + ++(SDLIgnitionStatus*) START { + if (SDLIgnitionStatus_START == nil) { + SDLIgnitionStatus_START = [[SDLIgnitionStatus alloc] initWithValue:@"START"]; + } + return SDLIgnitionStatus_START; +} + ++(SDLIgnitionStatus*) INVALID { + if (SDLIgnitionStatus_INVALID == nil) { + SDLIgnitionStatus_INVALID = [[SDLIgnitionStatus alloc] initWithValue:@"INVALID"]; + } + return SDLIgnitionStatus_INVALID; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLImage.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImage.h new file mode 100644 index 000000000..26a002104 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImage.h @@ -0,0 +1,18 @@ +// SDLImage.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +#import "SDLImageType.h" + +@interface SDLImage : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSString* value; +@property(strong) SDLImageType* imageType; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLImage.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImage.m new file mode 100644 index 000000000..1ab97489e --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImage.m @@ -0,0 +1,50 @@ +// SDLImage.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLImage.h" + +#import "SDLNames.h" + +@implementation SDLImage + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setValue:(NSString*) value { + if (value != nil) { + [store setObject:value forKey:NAMES_value]; + } else { + [store removeObjectForKey:NAMES_value]; + } +} + +-(NSString*) value { + return [store objectForKey:NAMES_value]; +} + +-(void) setImageType:(SDLImageType*) imageType { + if (imageType != nil) { + [store setObject:imageType forKey:NAMES_imageType]; + } else { + [store removeObjectForKey:NAMES_imageType]; + } +} + +-(SDLImageType*) imageType { + NSObject* obj = [store objectForKey:NAMES_imageType]; + if ([obj isKindOfClass:SDLImageType.class]) { + return (SDLImageType*)obj; + } else { + return [SDLImageType valueOf:(NSString*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageField.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageField.h new file mode 100644 index 000000000..dd01ad6ec --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageField.h @@ -0,0 +1,20 @@ +// SDLImageField.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +#import "SDLImageFieldName.h" +#import "SDLImageResolution.h" + +@interface SDLImageField : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLImageFieldName* name; +@property(strong) NSMutableArray* imageTypeSupported; +@property(strong) SDLImageResolution* imageResolution; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageField.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageField.m new file mode 100644 index 000000000..8109c9bd8 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageField.m @@ -0,0 +1,77 @@ +// SDLImageField.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLImageField.h" + +#import "SDLNames.h" +#import "SDLFileType.h" + +@implementation SDLImageField + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setName:(SDLImageFieldName*) name { + if (name != nil) { + [store setObject:name forKey:NAMES_name]; + } else { + [store removeObjectForKey:NAMES_name]; + } +} + +-(SDLImageFieldName*) name { + NSObject* obj = [store objectForKey:NAMES_name]; + if ([obj isKindOfClass:SDLImageFieldName.class]) { + return (SDLImageFieldName*)obj; + } else { + return [SDLImageFieldName valueOf:(NSString*)obj]; + } +} + +-(void) setImageTypeSupported:(NSMutableArray*) imageTypeSupported { + if (imageTypeSupported != nil) { + [store setObject:imageTypeSupported forKey:NAMES_imageTypeSupported]; + } else { + [store removeObjectForKey:NAMES_imageTypeSupported]; + } +} + +-(NSMutableArray*) imageTypeSupported { + NSMutableArray* array = [store objectForKey:NAMES_imageTypeSupported]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLFileType.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSString* enumString in array) { + [newList addObject:[SDLFileType valueOf:enumString]]; + } + return newList; + } +} + +-(void) setImageResolution:(SDLImageResolution*) imageResolution { + if (imageResolution != nil) { + [store setObject:imageResolution forKey:NAMES_imageResolution]; + } else { + [store removeObjectForKey:NAMES_imageResolution]; + } +} + +-(SDLImageResolution*) imageResolution { + NSObject* obj = [store objectForKey:NAMES_imageResolution]; + if ([obj isKindOfClass:SDLImageResolution.class]) { + return (SDLImageResolution*)obj; + } else { + return [[SDLImageResolution alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageFieldName.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageFieldName.h new file mode 100644 index 000000000..782aef258 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageFieldName.h @@ -0,0 +1,25 @@ +// SDLImageFieldName.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLImageFieldName : SDLEnum {} + ++(SDLImageFieldName*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLImageFieldName*) softButtonImage; ++(SDLImageFieldName*) choiceImage; ++(SDLImageFieldName*) choiceSecondaryImage; ++(SDLImageFieldName*) vrHelpItem; ++(SDLImageFieldName*) turnIcon; ++(SDLImageFieldName*) menuIcon; ++(SDLImageFieldName*) cmdIcon; ++(SDLImageFieldName*) appIcon; ++(SDLImageFieldName*) graphic; ++(SDLImageFieldName*) showConstantTBTIcon; ++(SDLImageFieldName*) showConstantTBTNextTurnIcon; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageFieldName.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageFieldName.m new file mode 100644 index 000000000..f7b0a3075 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageFieldName.m @@ -0,0 +1,128 @@ +// SDLImageFieldName.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLImageFieldName.h" + +SDLImageFieldName* SDLImageFieldName_softButtonImage = nil; +SDLImageFieldName* SDLImageFieldName_choiceImage = nil; +SDLImageFieldName* SDLImageFieldName_choiceSecondaryImage = nil; +SDLImageFieldName* SDLImageFieldName_vrHelpItem = nil; +SDLImageFieldName* SDLImageFieldName_turnIcon = nil; +SDLImageFieldName* SDLImageFieldName_menuIcon = nil; +SDLImageFieldName* SDLImageFieldName_cmdIcon = nil; +SDLImageFieldName* SDLImageFieldName_appIcon = nil; +SDLImageFieldName* SDLImageFieldName_graphic = nil; +SDLImageFieldName* SDLImageFieldName_showConstantTBTIcon = nil; +SDLImageFieldName* SDLImageFieldName_showConstantTBTNextTurnIcon = nil; + +NSMutableArray* SDLImageFieldName_values = nil; + +@implementation SDLImageFieldName + ++(SDLImageFieldName*) valueOf:(NSString*) value { + for (SDLImageFieldName* item in SDLImageFieldName.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLImageFieldName_values == nil) { + SDLImageFieldName_values = [[NSMutableArray alloc] initWithObjects: + SDLImageFieldName.softButtonImage, + SDLImageFieldName.choiceImage, + SDLImageFieldName.choiceSecondaryImage, + SDLImageFieldName.vrHelpItem, + SDLImageFieldName.turnIcon, + SDLImageFieldName.menuIcon, + SDLImageFieldName.cmdIcon, + SDLImageFieldName.appIcon, + SDLImageFieldName.graphic, + SDLImageFieldName.showConstantTBTIcon, + SDLImageFieldName.showConstantTBTNextTurnIcon, + nil]; + } + return SDLImageFieldName_values; +} + ++(SDLImageFieldName*) softButtonImage { + if (SDLImageFieldName_softButtonImage == nil) { + SDLImageFieldName_softButtonImage = [[SDLImageFieldName alloc] initWithValue:@"softButtonImage"]; + } + return SDLImageFieldName_softButtonImage; +} + ++(SDLImageFieldName*) choiceImage { + if (SDLImageFieldName_choiceImage == nil) { + SDLImageFieldName_choiceImage = [[SDLImageFieldName alloc] initWithValue:@"choiceImage"]; + } + return SDLImageFieldName_choiceImage; +} + ++(SDLImageFieldName*) choiceSecondaryImage { + if (SDLImageFieldName_choiceSecondaryImage == nil) { + SDLImageFieldName_choiceSecondaryImage = [[SDLImageFieldName alloc] initWithValue:@"choiceSecondaryImage"]; + } + return SDLImageFieldName_choiceSecondaryImage; +} + ++(SDLImageFieldName*) vrHelpItem { + if (SDLImageFieldName_vrHelpItem == nil) { + SDLImageFieldName_vrHelpItem = [[SDLImageFieldName alloc] initWithValue:@"vrHelpItem"]; + } + return SDLImageFieldName_vrHelpItem; +} + ++(SDLImageFieldName*) turnIcon { + if (SDLImageFieldName_turnIcon == nil) { + SDLImageFieldName_turnIcon = [[SDLImageFieldName alloc] initWithValue:@"turnIcon"]; + } + return SDLImageFieldName_turnIcon; +} + ++(SDLImageFieldName*) menuIcon { + if (SDLImageFieldName_menuIcon == nil) { + SDLImageFieldName_menuIcon = [[SDLImageFieldName alloc] initWithValue:@"menuIcon"]; + } + return SDLImageFieldName_menuIcon; +} + ++(SDLImageFieldName*) cmdIcon { + if (SDLImageFieldName_cmdIcon == nil) { + SDLImageFieldName_cmdIcon = [[SDLImageFieldName alloc] initWithValue:@"cmdIcon"]; + } + return SDLImageFieldName_cmdIcon; +} + ++(SDLImageFieldName*) appIcon { + if (SDLImageFieldName_appIcon == nil) { + SDLImageFieldName_appIcon = [[SDLImageFieldName alloc] initWithValue:@"appIcon"]; + } + return SDLImageFieldName_appIcon; +} + ++(SDLImageFieldName*) graphic { + if (SDLImageFieldName_graphic == nil) { + SDLImageFieldName_graphic = [[SDLImageFieldName alloc] initWithValue:@"graphic"]; + } + return SDLImageFieldName_graphic; +} + ++(SDLImageFieldName*) showConstantTBTIcon { + if (SDLImageFieldName_showConstantTBTIcon == nil) { + SDLImageFieldName_showConstantTBTIcon = [[SDLImageFieldName alloc] initWithValue:@"showConstantTBTIcon"]; + } + return SDLImageFieldName_showConstantTBTIcon; +} + ++(SDLImageFieldName*) showConstantTBTNextTurnIcon { + if (SDLImageFieldName_showConstantTBTNextTurnIcon == nil) { + SDLImageFieldName_showConstantTBTNextTurnIcon = [[SDLImageFieldName alloc] initWithValue:@"showConstantTBTNextTurnIcon"]; + } + return SDLImageFieldName_showConstantTBTNextTurnIcon; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageResolution.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageResolution.h new file mode 100644 index 000000000..7dd1d70a4 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageResolution.h @@ -0,0 +1,16 @@ +// SDLImageResolution.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +@interface SDLImageResolution : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* resolutionWidth; +@property(strong) NSNumber* resolutionHeight; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageResolution.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageResolution.m new file mode 100644 index 000000000..de6857a4d --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageResolution.m @@ -0,0 +1,45 @@ +// SDLImageResolution.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLImageResolution.h" + +#import "SDLNames.h" + +@implementation SDLImageResolution + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setResolutionWidth:(NSNumber*) resolutionWidth { + if (resolutionWidth != nil) { + [store setObject:resolutionWidth forKey:NAMES_resolutionWidth]; + } else { + [store removeObjectForKey:NAMES_resolutionWidth]; + } +} + +-(NSNumber*) resolutionWidth { + return [store objectForKey:NAMES_resolutionWidth]; +} + +-(void) setResolutionHeight:(NSNumber*) resolutionHeight { + if (resolutionHeight != nil) { + [store setObject:resolutionHeight forKey:NAMES_resolutionHeight]; + } else { + [store removeObjectForKey:NAMES_resolutionHeight]; + } +} + +-(NSNumber*) resolutionHeight { + return [store objectForKey:NAMES_resolutionHeight]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageType.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageType.h new file mode 100644 index 000000000..c0781cd1a --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageType.h @@ -0,0 +1,16 @@ +// SDLImageType.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLImageType : SDLEnum {} + ++(SDLImageType*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLImageType*) STATIC; ++(SDLImageType*) DYNAMIC; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageType.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageType.m new file mode 100644 index 000000000..71c95032c --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageType.m @@ -0,0 +1,47 @@ +// SDLImageType.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLImageType.h" + +SDLImageType* SDLImageType_STATIC = nil; +SDLImageType* SDLImageType_DYNAMIC = nil; + +NSMutableArray* SDLImageType_values = nil; + +@implementation SDLImageType + ++(SDLImageType*) valueOf:(NSString*) value { + for (SDLImageType* item in SDLImageType.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLImageType_values == nil) { + SDLImageType_values = [[NSMutableArray alloc] initWithObjects: + SDLImageType.STATIC, + SDLImageType.DYNAMIC, + nil]; + } + return SDLImageType_values; +} + ++(SDLImageType*) STATIC { + if (SDLImageType_STATIC == nil) { + SDLImageType_STATIC = [[SDLImageType alloc] initWithValue:@"STATIC"]; + } + return SDLImageType_STATIC; +} + ++(SDLImageType*) DYNAMIC { + if (SDLImageType_DYNAMIC == nil) { + SDLImageType_DYNAMIC = [[SDLImageType alloc] initWithValue:@"DYNAMIC"]; + } + return SDLImageType_DYNAMIC; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLInteractionMode.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLInteractionMode.h new file mode 100644 index 000000000..23dda5c7d --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLInteractionMode.h @@ -0,0 +1,17 @@ +// SDLInteractionMode.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLInteractionMode : SDLEnum {} + ++(SDLInteractionMode*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLInteractionMode*) MANUAL_ONLY; ++(SDLInteractionMode*) VR_ONLY; ++(SDLInteractionMode*) BOTH; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLInteractionMode.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLInteractionMode.m new file mode 100644 index 000000000..86244e8ae --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLInteractionMode.m @@ -0,0 +1,56 @@ +// SDLInteractionMode.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLInteractionMode.h" + +SDLInteractionMode* SDLInteractionMode_MANUAL_ONLY = nil; +SDLInteractionMode* SDLInteractionMode_VR_ONLY = nil; +SDLInteractionMode* SDLInteractionMode_BOTH = nil; + +NSMutableArray* SDLInteractionMode_values = nil; + +@implementation SDLInteractionMode + ++(SDLInteractionMode*) valueOf:(NSString*) value { + for (SDLInteractionMode* item in SDLInteractionMode.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLInteractionMode_values == nil) { + SDLInteractionMode_values = [[NSMutableArray alloc] initWithObjects: + SDLInteractionMode.MANUAL_ONLY, + SDLInteractionMode.VR_ONLY, + SDLInteractionMode.BOTH, + nil]; + } + return SDLInteractionMode_values; +} + ++(SDLInteractionMode*) MANUAL_ONLY { + if (SDLInteractionMode_MANUAL_ONLY == nil) { + SDLInteractionMode_MANUAL_ONLY = [[SDLInteractionMode alloc] initWithValue:@"MANUAL_ONLY"]; + } + return SDLInteractionMode_MANUAL_ONLY; +} + ++(SDLInteractionMode*) VR_ONLY { + if (SDLInteractionMode_VR_ONLY == nil) { + SDLInteractionMode_VR_ONLY = [[SDLInteractionMode alloc] initWithValue:@"VR_ONLY"]; + } + return SDLInteractionMode_VR_ONLY; +} + ++(SDLInteractionMode*) BOTH { + if (SDLInteractionMode_BOTH == nil) { + SDLInteractionMode_BOTH = [[SDLInteractionMode alloc] initWithValue:@"BOTH"]; + } + return SDLInteractionMode_BOTH; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLInterfaceProtocol.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLInterfaceProtocol.h new file mode 100644 index 000000000..41e243590 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLInterfaceProtocol.h @@ -0,0 +1,22 @@ +// SDLProtocol.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLProtocolListener.h" +#import "SDLProtocolMessage.h" +#import "SDLRPCRequest.h" +#import "SDLTransport.h" +#import "SDLTransportDelegate.h" + +@protocol SDLInterfaceProtocol<SDLTransportDelegate> + +@property (weak) id<SDLProtocolListener> protocolDelegate; +@property (strong) id<SDLTransport> transport; + +- (void)handleBytesFromTransport:(NSData *)receivedData; +- (void)sendStartSessionWithType:(SDLServiceType)sessionType; +- (void)sendEndSessionWithType:(SDLServiceType)sessionType sessionID:(Byte)sessionID; +- (void)sendRPCRequest:(SDLRPCRequest *)rpcRequest; + +@end
\ No newline at end of file diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLJingle.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLJingle.h new file mode 100644 index 000000000..3dedafa80 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLJingle.h @@ -0,0 +1,15 @@ +// SDLJingle.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +@import Foundation; + +@interface SDLJingle : NSObject {} + ++(NSString*) NEGATIVE_JINGLE; ++(NSString*) POSITIVE_JINGLE; ++(NSString*) LISTEN_JINGLE; ++(NSString*) INITIAL_JINGLE; ++(NSString*) HELP_JINGLE; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLJingle.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLJingle.m new file mode 100644 index 000000000..9b9355092 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLJingle.m @@ -0,0 +1,15 @@ +// SDLJingle.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLJingle.h" + +@implementation SDLJingle + ++(NSString*) NEGATIVE_JINGLE { return @"NEGATIVE_JINGLE"; } ++(NSString*) POSITIVE_JINGLE { return @"POSITIVE_JINGLE"; } ++(NSString*) LISTEN_JINGLE { return @"LISTEN_JINGLE"; } ++(NSString*) INITIAL_JINGLE { return @"INITIAL_JINGLE"; } ++(NSString*) HELP_JINGLE { return @"HELP_JINGLE"; } + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonDecoder.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonDecoder.h new file mode 100644 index 000000000..b2245c7ed --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonDecoder.h @@ -0,0 +1,13 @@ +// SDLJsonDecoder.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +@import Foundation; + +#import "SDLDecoder.h" + +@interface SDLJsonDecoder : NSObject<SDLDecoder> {} + ++(NSObject<SDLDecoder>*) instance; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonDecoder.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonDecoder.m new file mode 100644 index 000000000..4d4b3218d --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonDecoder.m @@ -0,0 +1,27 @@ +// SDLJsonDecoder.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLJsonDecoder.h" + +#import "SDLNames.h" + +@implementation SDLJsonDecoder + +static NSObject<SDLDecoder>* jsonDecoderInstance; + ++(NSObject<SDLDecoder>*) instance { + if (jsonDecoderInstance == nil) { + jsonDecoderInstance = [[SDLJsonDecoder alloc] init]; + } + return jsonDecoderInstance; +} + +-(NSDictionary*) decode:(NSData*) msgBytes{ + NSError* error; + NSDictionary* jsonObject = [NSJSONSerialization JSONObjectWithData:msgBytes options:kNilOptions error:&error]; + + return jsonObject; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonEncoder.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonEncoder.h new file mode 100644 index 000000000..a258ad360 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonEncoder.h @@ -0,0 +1,13 @@ +// SDLJsonEncoder.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +@import Foundation; + +#import "SDLEncoder.h" + +@interface SDLJsonEncoder : NSObject<SDLEncoder> {} + ++(NSObject<SDLEncoder>*) instance; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonEncoder.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonEncoder.m new file mode 100644 index 000000000..ca7068972 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonEncoder.m @@ -0,0 +1,27 @@ +// SDLJsonEncoder.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLJsonEncoder.h" + +#import "SDLNames.h" + +@implementation SDLJsonEncoder + +static NSObject<SDLEncoder>* jsonEncoderInstance; + ++(NSObject<SDLEncoder>*) instance { + if (jsonEncoderInstance == nil) { + jsonEncoderInstance = [[SDLJsonEncoder alloc] init]; + } + return jsonEncoderInstance; +} + +-(NSData*) encodeDictionary:(NSDictionary*) dict { + NSError* error; + NSData* jsonData = [NSJSONSerialization dataWithJSONObject:dict options:kNilOptions error:&error]; + + return jsonData; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardEvent.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardEvent.h new file mode 100644 index 000000000..37102d170 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardEvent.h @@ -0,0 +1,18 @@ +// SDLKeyboardEvent.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLKeyboardEvent : SDLEnum {} + ++(SDLKeyboardEvent*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLKeyboardEvent*) KEYPRESS; ++(SDLKeyboardEvent*) ENTRY_SUBMITTED; ++(SDLKeyboardEvent*) ENTRY_CANCELLED; ++(SDLKeyboardEvent*) ENTRY_ABORTED; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardEvent.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardEvent.m new file mode 100644 index 000000000..72a72011a --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardEvent.m @@ -0,0 +1,65 @@ +// SDLKeyboardEvent.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLKeyboardEvent.h" + +SDLKeyboardEvent* SDLKeyboardEvent_KEYPRESS = nil; +SDLKeyboardEvent* SDLKeyboardEvent_ENTRY_SUBMITTED = nil; +SDLKeyboardEvent* SDLKeyboardEvent_ENTRY_CANCELLED = nil; +SDLKeyboardEvent* SDLKeyboardEvent_ENTRY_ABORTED = nil; + +NSMutableArray* SDLKeyboardEvent_values = nil; + +@implementation SDLKeyboardEvent + ++(SDLKeyboardEvent*) valueOf:(NSString*) value { + for (SDLKeyboardEvent* item in SDLKeyboardEvent.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLKeyboardEvent_values == nil) { + SDLKeyboardEvent_values = [[NSMutableArray alloc] initWithObjects: + SDLKeyboardEvent.KEYPRESS, + SDLKeyboardEvent.ENTRY_SUBMITTED, + SDLKeyboardEvent.ENTRY_CANCELLED, + SDLKeyboardEvent.ENTRY_ABORTED, + nil]; + } + return SDLKeyboardEvent_values; +} + ++(SDLKeyboardEvent*) KEYPRESS { + if (SDLKeyboardEvent_KEYPRESS == nil) { + SDLKeyboardEvent_KEYPRESS = [[SDLKeyboardEvent alloc] initWithValue:@"KEYPRESS"]; + } + return SDLKeyboardEvent_KEYPRESS; +} + ++(SDLKeyboardEvent*) ENTRY_SUBMITTED { + if (SDLKeyboardEvent_ENTRY_SUBMITTED == nil) { + SDLKeyboardEvent_ENTRY_SUBMITTED = [[SDLKeyboardEvent alloc] initWithValue:@"ENTRY_SUBMITTED"]; + } + return SDLKeyboardEvent_ENTRY_SUBMITTED; +} + ++(SDLKeyboardEvent*) ENTRY_CANCELLED { + if (SDLKeyboardEvent_ENTRY_CANCELLED == nil) { + SDLKeyboardEvent_ENTRY_CANCELLED = [[SDLKeyboardEvent alloc] initWithValue:@"ENTRY_CANCELLED"]; + } + return SDLKeyboardEvent_ENTRY_CANCELLED; +} + ++(SDLKeyboardEvent*) ENTRY_ABORTED { + if (SDLKeyboardEvent_ENTRY_ABORTED == nil) { + SDLKeyboardEvent_ENTRY_ABORTED = [[SDLKeyboardEvent alloc] initWithValue:@"ENTRY_ABORTED"]; + } + return SDLKeyboardEvent_ENTRY_ABORTED; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardLayout.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardLayout.h new file mode 100644 index 000000000..d1e56198b --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardLayout.h @@ -0,0 +1,17 @@ +// SDLKeyboardLayout.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLKeyboardLayout : SDLEnum {} + ++(SDLKeyboardLayout*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLKeyboardLayout*) QWERTY; ++(SDLKeyboardLayout*) QWERTZ; ++(SDLKeyboardLayout*) AZERTY; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardLayout.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardLayout.m new file mode 100644 index 000000000..0d27e8566 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardLayout.m @@ -0,0 +1,56 @@ +// SDLKeyboardLayout.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLKeyboardLayout.h" + +SDLKeyboardLayout* SDLKeyboardLayout_QWERTY = nil; +SDLKeyboardLayout* SDLKeyboardLayout_QWERTZ = nil; +SDLKeyboardLayout* SDLKeyboardLayout_AZERTY = nil; + +NSMutableArray* SDLKeyboardLayout_values = nil; + +@implementation SDLKeyboardLayout + ++(SDLKeyboardLayout*) valueOf:(NSString*) value { + for (SDLKeyboardLayout* item in SDLKeyboardLayout.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLKeyboardLayout_values == nil) { + SDLKeyboardLayout_values = [[NSMutableArray alloc] initWithObjects: + SDLKeyboardLayout.QWERTY, + SDLKeyboardLayout.QWERTZ, + SDLKeyboardLayout.AZERTY, + nil]; + } + return SDLKeyboardLayout_values; +} + ++(SDLKeyboardLayout*) QWERTY { + if (SDLKeyboardLayout_QWERTY == nil) { + SDLKeyboardLayout_QWERTY = [[SDLKeyboardLayout alloc] initWithValue:@"QWERTY"]; + } + return SDLKeyboardLayout_QWERTY; +} + ++(SDLKeyboardLayout*) QWERTZ { + if (SDLKeyboardLayout_QWERTZ == nil) { + SDLKeyboardLayout_QWERTZ = [[SDLKeyboardLayout alloc] initWithValue:@"QWERTZ"]; + } + return SDLKeyboardLayout_QWERTZ; +} + ++(SDLKeyboardLayout*) AZERTY { + if (SDLKeyboardLayout_AZERTY == nil) { + SDLKeyboardLayout_AZERTY = [[SDLKeyboardLayout alloc] initWithValue:@"AZERTY"]; + } + return SDLKeyboardLayout_AZERTY; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardProperties.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardProperties.h new file mode 100644 index 000000000..e72ec301f --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardProperties.h @@ -0,0 +1,23 @@ +// SDLKeyboardProperties.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +#import "SDLLanguage.h" +#import "SDLKeyboardLayout.h" +#import "SDLKeypressMode.h" + +@interface SDLKeyboardProperties : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLLanguage* language; +@property(strong) SDLKeyboardLayout* keyboardLayout; +@property(strong) SDLKeypressMode* keypressMode; +@property(strong) NSMutableArray* limitedCharacterList; +@property(strong) NSString* autoCompleteText; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardProperties.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardProperties.m new file mode 100644 index 000000000..8dd8e57df --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardProperties.m @@ -0,0 +1,96 @@ +// SDLKeyboardProperties.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLKeyboardProperties.h" + +#import "SDLNames.h" + +@implementation SDLKeyboardProperties + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setLanguage:(SDLLanguage*) language { + if (language != nil) { + [store setObject:language forKey:NAMES_language]; + } else { + [store removeObjectForKey:NAMES_language]; + } +} + +-(SDLLanguage*) language { + NSObject* obj = [store objectForKey:NAMES_language]; + if ([obj isKindOfClass:SDLLanguage.class]) { + return (SDLLanguage*)obj; + } else { + return [SDLLanguage valueOf:(NSString*)obj]; + } +} + +-(void) setKeyboardLayout:(SDLKeyboardLayout*) keyboardLayout { + if (keyboardLayout != nil) { + [store setObject:keyboardLayout forKey:NAMES_keyboardLayout]; + } else { + [store removeObjectForKey:NAMES_keyboardLayout]; + } +} + +-(SDLKeyboardLayout*) keyboardLayout { + NSObject* obj = [store objectForKey:NAMES_keyboardLayout]; + if ([obj isKindOfClass:SDLKeyboardLayout.class]) { + return (SDLKeyboardLayout*)obj; + } else { + return [SDLKeyboardLayout valueOf:(NSString*)obj]; + } +} + +-(void) setKeypressMode:(SDLKeypressMode*) keypressMode { + if (keypressMode != nil) { + [store setObject:keypressMode forKey:NAMES_keypressMode]; + } else { + [store removeObjectForKey:NAMES_keypressMode]; + } +} + +-(SDLKeypressMode*) keypressMode { + NSObject* obj = [store objectForKey:NAMES_keypressMode]; + if ([obj isKindOfClass:SDLKeypressMode.class]) { + return (SDLKeypressMode*)obj; + } else { + return [SDLKeypressMode valueOf:(NSString*)obj]; + } +} + +-(void) setLimitedCharacterList:(NSMutableArray*) limitedCharacterList { + if (limitedCharacterList != nil) { + [store setObject:limitedCharacterList forKey:NAMES_limitedCharacterList]; + } else { + [store removeObjectForKey:NAMES_limitedCharacterList]; + } +} + +-(NSMutableArray*) limitedCharacterList { + return [store objectForKey:NAMES_limitedCharacterList]; +} + +-(void) setAutoCompleteText:(NSString*) autoCompleteText { + if (autoCompleteText != nil) { + [store setObject:autoCompleteText forKey:NAMES_autoCompleteText]; + } else { + [store removeObjectForKey:NAMES_autoCompleteText]; + } +} + +-(NSString*) autoCompleteText { + return [store objectForKey:NAMES_autoCompleteText]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeypressMode.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeypressMode.h new file mode 100644 index 000000000..905f049dd --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeypressMode.h @@ -0,0 +1,17 @@ +// SDLKeypressMode.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLKeypressMode : SDLEnum {} + ++(SDLKeypressMode*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLKeypressMode*) SINGLE_KEYPRESS; ++(SDLKeypressMode*) QUEUE_KEYPRESSES; ++(SDLKeypressMode*) RESEND_CURRENT_ENTRY; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeypressMode.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeypressMode.m new file mode 100644 index 000000000..d3f0faebf --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeypressMode.m @@ -0,0 +1,56 @@ +// SDLKeypressMode.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLKeypressMode.h" + +SDLKeypressMode* SDLKeypressMode_SINGLE_KEYPRESS = nil; +SDLKeypressMode* SDLKeypressMode_QUEUE_KEYPRESSES = nil; +SDLKeypressMode* SDLKeypressMode_RESEND_CURRENT_ENTRY = nil; + +NSMutableArray* SDLKeypressMode_values = nil; + +@implementation SDLKeypressMode + ++(SDLKeypressMode*) valueOf:(NSString*) value { + for (SDLKeypressMode* item in SDLKeypressMode.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLKeypressMode_values == nil) { + SDLKeypressMode_values = [[NSMutableArray alloc] initWithObjects: + SDLKeypressMode.SINGLE_KEYPRESS, + SDLKeypressMode.QUEUE_KEYPRESSES, + SDLKeypressMode.RESEND_CURRENT_ENTRY, + nil]; + } + return SDLKeypressMode_values; +} + ++(SDLKeypressMode*) SINGLE_KEYPRESS { + if (SDLKeypressMode_SINGLE_KEYPRESS == nil) { + SDLKeypressMode_SINGLE_KEYPRESS = [[SDLKeypressMode alloc] initWithValue:@"SINGLE_KEYPRESS"]; + } + return SDLKeypressMode_SINGLE_KEYPRESS; +} + ++(SDLKeypressMode*) QUEUE_KEYPRESSES { + if (SDLKeypressMode_QUEUE_KEYPRESSES == nil) { + SDLKeypressMode_QUEUE_KEYPRESSES = [[SDLKeypressMode alloc] initWithValue:@"QUEUE_KEYPRESSES"]; + } + return SDLKeypressMode_QUEUE_KEYPRESSES; +} + ++(SDLKeypressMode*) RESEND_CURRENT_ENTRY { + if (SDLKeypressMode_RESEND_CURRENT_ENTRY == nil) { + SDLKeypressMode_RESEND_CURRENT_ENTRY = [[SDLKeypressMode alloc] initWithValue:@"RESEND_CURRENT_ENTRY"]; + } + return SDLKeypressMode_RESEND_CURRENT_ENTRY; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLLanguage.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLLanguage.h new file mode 100644 index 000000000..f8a446ff4 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLLanguage.h @@ -0,0 +1,38 @@ +// SDLLanguage.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLLanguage : SDLEnum {} + ++(SDLLanguage*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLLanguage*) EN_US; ++(SDLLanguage*) ES_MX; ++(SDLLanguage*) FR_CA; ++(SDLLanguage*) DE_DE; ++(SDLLanguage*) ES_ES; ++(SDLLanguage*) EN_GB; ++(SDLLanguage*) RU_RU; ++(SDLLanguage*) TR_TR; ++(SDLLanguage*) PL_PL; ++(SDLLanguage*) FR_FR; ++(SDLLanguage*) IT_IT; ++(SDLLanguage*) SV_SE; ++(SDLLanguage*) PT_PT; ++(SDLLanguage*) NL_NL; ++(SDLLanguage*) EN_AU; ++(SDLLanguage*) ZH_CN; ++(SDLLanguage*) ZH_TW; ++(SDLLanguage*) JA_JP; ++(SDLLanguage*) AR_SA; ++(SDLLanguage*) KO_KR; ++(SDLLanguage*) PT_BR; ++(SDLLanguage*) CS_CZ; ++(SDLLanguage*) DA_DK; ++(SDLLanguage*) NO_NO; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLLanguage.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLLanguage.m new file mode 100644 index 000000000..f17baa49c --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLLanguage.m @@ -0,0 +1,245 @@ +// SDLLanguage.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLLanguage.h" + +SDLLanguage* SDLLanguage_EN_US = nil; +SDLLanguage* SDLLanguage_ES_MX = nil; +SDLLanguage* SDLLanguage_FR_CA = nil; +SDLLanguage* SDLLanguage_DE_DE = nil; +SDLLanguage* SDLLanguage_ES_ES = nil; +SDLLanguage* SDLLanguage_EN_GB = nil; +SDLLanguage* SDLLanguage_RU_RU = nil; +SDLLanguage* SDLLanguage_TR_TR = nil; +SDLLanguage* SDLLanguage_PL_PL = nil; +SDLLanguage* SDLLanguage_FR_FR = nil; +SDLLanguage* SDLLanguage_IT_IT = nil; +SDLLanguage* SDLLanguage_SV_SE = nil; +SDLLanguage* SDLLanguage_PT_PT = nil; +SDLLanguage* SDLLanguage_NL_NL = nil; +SDLLanguage* SDLLanguage_EN_AU = nil; +SDLLanguage* SDLLanguage_ZH_CN = nil; +SDLLanguage* SDLLanguage_ZH_TW = nil; +SDLLanguage* SDLLanguage_JA_JP = nil; +SDLLanguage* SDLLanguage_AR_SA = nil; +SDLLanguage* SDLLanguage_KO_KR = nil; +SDLLanguage* SDLLanguage_PT_BR = nil; +SDLLanguage* SDLLanguage_CS_CZ = nil; +SDLLanguage* SDLLanguage_DA_DK = nil; +SDLLanguage* SDLLanguage_NO_NO = nil; + +NSMutableArray* SDLLanguage_values = nil; + +@implementation SDLLanguage + ++(SDLLanguage*) valueOf:(NSString*) value { + for (SDLLanguage* item in SDLLanguage.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLLanguage_values == nil) { + SDLLanguage_values = [[NSMutableArray alloc] initWithObjects: + SDLLanguage.EN_US, + SDLLanguage.ES_MX, + SDLLanguage.FR_CA, + SDLLanguage.DE_DE, + SDLLanguage.ES_ES, + SDLLanguage.EN_GB, + SDLLanguage.RU_RU, + SDLLanguage.TR_TR, + SDLLanguage.PL_PL, + SDLLanguage.FR_FR, + SDLLanguage.IT_IT, + SDLLanguage.SV_SE, + SDLLanguage.PT_PT, + SDLLanguage.NL_NL, + SDLLanguage.EN_AU, + SDLLanguage.ZH_CN, + SDLLanguage.ZH_TW, + SDLLanguage.JA_JP, + SDLLanguage.AR_SA, + SDLLanguage.KO_KR, + SDLLanguage.PT_BR, + SDLLanguage.CS_CZ, + SDLLanguage.DA_DK, + SDLLanguage.NO_NO, + nil]; + } + return SDLLanguage_values; +} + ++(SDLLanguage*) EN_US { + if (SDLLanguage_EN_US == nil) { + SDLLanguage_EN_US = [[SDLLanguage alloc] initWithValue:@"EN-US"]; + } + return SDLLanguage_EN_US; +} + ++(SDLLanguage*) ES_MX { + if (SDLLanguage_ES_MX == nil) { + SDLLanguage_ES_MX = [[SDLLanguage alloc] initWithValue:@"ES-MX"]; + } + return SDLLanguage_ES_MX; +} + ++(SDLLanguage*) FR_CA { + if (SDLLanguage_FR_CA == nil) { + SDLLanguage_FR_CA = [[SDLLanguage alloc] initWithValue:@"FR-CA"]; + } + return SDLLanguage_FR_CA; +} + ++(SDLLanguage*) DE_DE { + if (SDLLanguage_DE_DE == nil) { + SDLLanguage_DE_DE = [[SDLLanguage alloc] initWithValue:@"DE-DE"]; + } + return SDLLanguage_DE_DE; +} + ++(SDLLanguage*) ES_ES { + if (SDLLanguage_ES_ES == nil) { + SDLLanguage_ES_ES = [[SDLLanguage alloc] initWithValue:@"ES-ES"]; + } + return SDLLanguage_ES_ES; +} + ++(SDLLanguage*) EN_GB { + if (SDLLanguage_EN_GB == nil) { + SDLLanguage_EN_GB = [[SDLLanguage alloc] initWithValue:@"EN-GB"]; + } + return SDLLanguage_EN_GB; +} + ++(SDLLanguage*) RU_RU { + if (SDLLanguage_RU_RU == nil) { + SDLLanguage_RU_RU = [[SDLLanguage alloc] initWithValue:@"RU-RU"]; + } + return SDLLanguage_RU_RU; +} + ++(SDLLanguage*) TR_TR { + if (SDLLanguage_TR_TR == nil) { + SDLLanguage_TR_TR = [[SDLLanguage alloc] initWithValue:@"TR-TR"]; + } + return SDLLanguage_TR_TR; +} + ++(SDLLanguage*) PL_PL { + if (SDLLanguage_PL_PL == nil) { + SDLLanguage_PL_PL = [[SDLLanguage alloc] initWithValue:@"PL-PL"]; + } + return SDLLanguage_PL_PL; +} + ++(SDLLanguage*) FR_FR { + if (SDLLanguage_FR_FR == nil) { + SDLLanguage_FR_FR = [[SDLLanguage alloc] initWithValue:@"FR-FR"]; + } + return SDLLanguage_FR_FR; +} + ++(SDLLanguage*) IT_IT { + if (SDLLanguage_IT_IT == nil) { + SDLLanguage_IT_IT = [[SDLLanguage alloc] initWithValue:@"IT-IT"]; + } + return SDLLanguage_IT_IT; +} + ++(SDLLanguage*) SV_SE { + if (SDLLanguage_SV_SE == nil) { + SDLLanguage_SV_SE = [[SDLLanguage alloc] initWithValue:@"SV-SE"]; + } + return SDLLanguage_SV_SE; +} + ++(SDLLanguage*) PT_PT { + if (SDLLanguage_PT_PT == nil) { + SDLLanguage_PT_PT = [[SDLLanguage alloc] initWithValue:@"PT-PT"]; + } + return SDLLanguage_PT_PT; +} + ++(SDLLanguage*) NL_NL { + if (SDLLanguage_NL_NL == nil) { + SDLLanguage_NL_NL = [[SDLLanguage alloc] initWithValue:@"NL-NL"]; + } + return SDLLanguage_NL_NL; +} + ++(SDLLanguage*) EN_AU { + if (SDLLanguage_EN_AU == nil) { + SDLLanguage_EN_AU = [[SDLLanguage alloc] initWithValue:@"EN-AU"]; + } + return SDLLanguage_EN_AU; +} + ++(SDLLanguage*) ZH_CN { + if (SDLLanguage_ZH_CN == nil) { + SDLLanguage_ZH_CN = [[SDLLanguage alloc] initWithValue:@"ZH-CN"]; + } + return SDLLanguage_ZH_CN; +} + ++(SDLLanguage*) ZH_TW { + if (SDLLanguage_ZH_TW == nil) { + SDLLanguage_ZH_TW = [[SDLLanguage alloc] initWithValue:@"ZH-TW"]; + } + return SDLLanguage_ZH_TW; +} + ++(SDLLanguage*) JA_JP { + if (SDLLanguage_JA_JP == nil) { + SDLLanguage_JA_JP = [[SDLLanguage alloc] initWithValue:@"JA-JP"]; + } + return SDLLanguage_JA_JP; +} + ++(SDLLanguage*) AR_SA { + if (SDLLanguage_AR_SA == nil) { + SDLLanguage_AR_SA = [[SDLLanguage alloc] initWithValue:@"AR-SA"]; + } + return SDLLanguage_AR_SA; +} + ++(SDLLanguage*) KO_KR { + if (SDLLanguage_KO_KR == nil) { + SDLLanguage_KO_KR = [[SDLLanguage alloc] initWithValue:@"KO-KR"]; + } + return SDLLanguage_KO_KR; +} + ++(SDLLanguage*) PT_BR { + if (SDLLanguage_PT_BR == nil) { + SDLLanguage_PT_BR = [[SDLLanguage alloc] initWithValue:@"PT-BR"]; + } + return SDLLanguage_PT_BR; +} + ++(SDLLanguage*) CS_CZ { + if (SDLLanguage_CS_CZ == nil) { + SDLLanguage_CS_CZ = [[SDLLanguage alloc] initWithValue:@"CS-CZ"]; + } + return SDLLanguage_CS_CZ; +} + ++(SDLLanguage*) DA_DK { + if (SDLLanguage_DA_DK == nil) { + SDLLanguage_DA_DK = [[SDLLanguage alloc] initWithValue:@"DA-DK"]; + } + return SDLLanguage_DA_DK; +} + ++(SDLLanguage*) NO_NO { + if (SDLLanguage_NO_NO == nil) { + SDLLanguage_NO_NO = [[SDLLanguage alloc] initWithValue:@"NO-NO"]; + } + return SDLLanguage_NO_NO; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLLayoutMode.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLLayoutMode.h new file mode 100644 index 000000000..d5301fffb --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLLayoutMode.h @@ -0,0 +1,19 @@ +// SDLLayoutMode.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLLayoutMode : SDLEnum {} + ++(SDLLayoutMode*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLLayoutMode*) ICON_ONLY; ++(SDLLayoutMode*) ICON_WITH_SEARCH; ++(SDLLayoutMode*) LIST_ONLY; ++(SDLLayoutMode*) LIST_WITH_SEARCH; ++(SDLLayoutMode*) KEYBOARD; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLLayoutMode.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLLayoutMode.m new file mode 100644 index 000000000..c1085775c --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLLayoutMode.m @@ -0,0 +1,74 @@ +// SDLLayoutMode.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLLayoutMode.h" + +SDLLayoutMode* SDLLayoutMode_ICON_ONLY = nil; +SDLLayoutMode* SDLLayoutMode_ICON_WITH_SEARCH = nil; +SDLLayoutMode* SDLLayoutMode_LIST_ONLY = nil; +SDLLayoutMode* SDLLayoutMode_LIST_WITH_SEARCH = nil; +SDLLayoutMode* SDLLayoutMode_KEYBOARD = nil; + +NSMutableArray* SDLLayoutMode_values = nil; + +@implementation SDLLayoutMode + ++(SDLLayoutMode*) valueOf:(NSString*) value { + for (SDLLayoutMode* item in SDLLayoutMode.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLLayoutMode_values == nil) { + SDLLayoutMode_values = [[NSMutableArray alloc] initWithObjects: + SDLLayoutMode.ICON_ONLY, + SDLLayoutMode.ICON_WITH_SEARCH, + SDLLayoutMode.LIST_ONLY, + SDLLayoutMode.LIST_WITH_SEARCH, + SDLLayoutMode.KEYBOARD, + nil]; + } + return SDLLayoutMode_values; +} + ++(SDLLayoutMode*) ICON_ONLY { + if (SDLLayoutMode_ICON_ONLY == nil) { + SDLLayoutMode_ICON_ONLY = [[SDLLayoutMode alloc] initWithValue:@"ICON_ONLY"]; + } + return SDLLayoutMode_ICON_ONLY; +} + ++(SDLLayoutMode*) ICON_WITH_SEARCH { + if (SDLLayoutMode_ICON_WITH_SEARCH == nil) { + SDLLayoutMode_ICON_WITH_SEARCH = [[SDLLayoutMode alloc] initWithValue:@"ICON_WITH_SEARCH"]; + } + return SDLLayoutMode_ICON_WITH_SEARCH; +} + ++(SDLLayoutMode*) LIST_ONLY { + if (SDLLayoutMode_LIST_ONLY == nil) { + SDLLayoutMode_LIST_ONLY = [[SDLLayoutMode alloc] initWithValue:@"LIST_ONLY"]; + } + return SDLLayoutMode_LIST_ONLY; +} + ++(SDLLayoutMode*) LIST_WITH_SEARCH { + if (SDLLayoutMode_LIST_WITH_SEARCH == nil) { + SDLLayoutMode_LIST_WITH_SEARCH = [[SDLLayoutMode alloc] initWithValue:@"LIST_WITH_SEARCH"]; + } + return SDLLayoutMode_LIST_WITH_SEARCH; +} + ++(SDLLayoutMode*) KEYBOARD { + if (SDLLayoutMode_KEYBOARD == nil) { + SDLLayoutMode_KEYBOARD = [[SDLLayoutMode alloc] initWithValue:@"KEYBOARD"]; + } + return SDLLayoutMode_KEYBOARD; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLListFiles.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLListFiles.h new file mode 100644 index 000000000..4e1c63cb0 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLListFiles.h @@ -0,0 +1,13 @@ +// SDLListFiles.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +@interface SDLListFiles : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLListFiles.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLListFiles.m new file mode 100644 index 000000000..69fadc785 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLListFiles.m @@ -0,0 +1,21 @@ +// SDLListFiles.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLListFiles.h" + +#import "SDLNames.h" + +@implementation SDLListFiles + +-(id) init { + if (self = [super initWithName:NAMES_ListFiles]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLListFilesResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLListFilesResponse.h new file mode 100644 index 000000000..c6af91ad7 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLListFilesResponse.h @@ -0,0 +1,16 @@ +// SDLListFilesResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLListFilesResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSMutableArray* filenames; +@property(strong) NSNumber* spaceAvailable; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLListFilesResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLListFilesResponse.m new file mode 100644 index 000000000..4c5ef4501 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLListFilesResponse.m @@ -0,0 +1,45 @@ +// SDLListFilesResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLListFilesResponse.h" + +#import "SDLNames.h" + +@implementation SDLListFilesResponse + +-(id) init { + if (self = [super initWithName:NAMES_ListFiles]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setFilenames:(NSMutableArray*) filenames { + if (filenames != nil) { + [parameters setObject:filenames forKey:NAMES_filenames]; + } else { + [parameters removeObjectForKey:NAMES_filenames]; + } +} + +-(NSMutableArray*) filenames { + return [parameters objectForKey:NAMES_filenames]; +} + +-(void) setSpaceAvailable:(NSNumber*) spaceAvailable { + if (spaceAvailable != nil) { + [parameters setObject:spaceAvailable forKey:NAMES_spaceAvailable]; + } else { + [parameters removeObjectForKey:NAMES_spaceAvailable]; + } +} + +-(NSNumber*) spaceAvailable { + return [parameters objectForKey:NAMES_spaceAvailable]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLLockScreenManager.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLLockScreenManager.h new file mode 100644 index 000000000..06f21cb50 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLLockScreenManager.h @@ -0,0 +1,19 @@ +// +// SDLLockScreenManager.h +// SmartDeviceLink +// + + +#import "SDLHMILevel.h" +#import "SDLLockScreenStatus.h" +#import "SDLOnLockScreenStatus.h" + +@interface SDLLockScreenManager : NSObject + +@property (assign, nonatomic) BOOL bUserSelected; +@property (assign, nonatomic) BOOL bDriverDistractionStatus; +@property (strong, nonatomic) SDLHMILevel *hmiLevel; +@property (strong, nonatomic, readonly) SDLLockScreenStatus *lockScreenStatus; +@property (strong, nonatomic, readonly) SDLOnLockScreenStatus *lockScreenStatusNotification; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLLockScreenManager.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLLockScreenManager.m new file mode 100644 index 000000000..522f1b4ca --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLLockScreenManager.m @@ -0,0 +1,94 @@ +// +// SDLLockScreenManager.m +// SmartDeviceLink +// + +#import "SDLLockScreenManager.h" + +@interface SDLLockScreenManager () + +@property (assign, nonatomic) BOOL bHaveDDStatus; + +@end + + +@implementation SDLLockScreenManager + +- (instancetype)init +{ + self = [super init]; + if (self) { + _bUserSelected = NO; + _bDriverDistractionStatus = NO; + _bHaveDDStatus = NO; + } + return self; +} + +- (void)setBDriverDistractionStatus:(BOOL)bDriverDistractionStatus +{ + _bDriverDistractionStatus = bDriverDistractionStatus; + _bHaveDDStatus = YES; +} + +- (void)setHmiLevel:(SDLHMILevel *)hmiLevel +{ + if (_hmiLevel != hmiLevel) { + _hmiLevel = hmiLevel; + } + + if ([SDLHMILevel.HMI_FULL.value isEqualToString:hmiLevel.value] || [SDLHMILevel.HMI_LIMITED.value isEqualToString:hmiLevel.value]) { + _bUserSelected = YES; + } else if ([SDLHMILevel.HMI_NONE.value isEqualToString:hmiLevel.value]) { + _bUserSelected = NO; + } +} + +- (SDLOnLockScreenStatus *)lockScreenStatusNotification { + SDLOnLockScreenStatus *notification = [SDLOnLockScreenStatus new]; + notification.driverDistractionStatus = [NSNumber numberWithBool:_bDriverDistractionStatus]; + notification.hmiLevel = _hmiLevel; + NSNumber *userSelected = [NSNumber numberWithBool:_bUserSelected]; + notification.userSelected = userSelected; + notification.lockScreenStatus = [self lockScreenStatus]; + return notification; +} + +- (SDLLockScreenStatus *)lockScreenStatus +{ + if (_hmiLevel == nil || _hmiLevel == [SDLHMILevel HMI_NONE]) { + return [SDLLockScreenStatus OFF]; + } else if (_hmiLevel == [SDLHMILevel HMI_BACKGROUND]) { + if (!_bHaveDDStatus) + { + //we don't have driver distraction, lockscreen is entirely based on userselection + if (_bUserSelected) + return [SDLLockScreenStatus REQUIRED]; + else + return [SDLLockScreenStatus OFF]; + } + else if (_bHaveDDStatus && _bUserSelected) + { + return [SDLLockScreenStatus REQUIRED]; + } + else if (!_bHaveDDStatus && _bUserSelected) + { + return [SDLLockScreenStatus OPTIONAL]; + } + else + { + return [SDLLockScreenStatus OFF]; + } + } else if (_hmiLevel == [SDLHMILevel HMI_FULL] || _hmiLevel == [SDLHMILevel HMI_LIMITED]) { + if (_bHaveDDStatus && !_bDriverDistractionStatus) { + return [SDLLockScreenStatus OPTIONAL]; + } else { + return [SDLLockScreenStatus REQUIRED]; + } + + } else { + return [SDLLockScreenStatus OFF]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLLockScreenStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLLockScreenStatus.h new file mode 100644 index 000000000..7afa2799f --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLLockScreenStatus.h @@ -0,0 +1,18 @@ +// +// SDLLockScreenStatus.h +// SmartDeviceLink +// + + +#import "SDLEnum.h" + +@interface SDLLockScreenStatus : SDLEnum + ++ (SDLLockScreenStatus *)valueOf:(NSString *)value; ++ (NSMutableArray *)values; + ++ (SDLLockScreenStatus *)OFF; ++ (SDLLockScreenStatus *)OPTIONAL; ++ (SDLLockScreenStatus *)REQUIRED; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLLockScreenStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLLockScreenStatus.m new file mode 100644 index 000000000..a6b45592b --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLLockScreenStatus.m @@ -0,0 +1,67 @@ +// +// SDLLockScreenStatus.m +// SmartDeviceLink +// + +#import "SDLLockScreenStatus.h" + +@implementation SDLLockScreenStatus + +SDLLockScreenStatus* SDLLockScreenStatus_OFF = nil; +SDLLockScreenStatus* SDLLockScreenStatus_OPTIONAL = nil; +SDLLockScreenStatus* SDLLockScreenStatus_REQUIRED = nil; + +NSMutableArray* SDLLockScreenStatus_values = nil; + + ++ (SDLLockScreenStatus *)valueOf:(NSString *)value +{ + for (SDLLockScreenStatus* item in SDLLockScreenStatus.values) + { + if ([item.value isEqualToString:value]) + { + return item; + } + } + return nil; +} + ++ (NSMutableArray *)values +{ + if (SDLLockScreenStatus_values == nil) + { + SDLLockScreenStatus_values = [[NSMutableArray alloc] initWithObjects: + SDLLockScreenStatus.OFF, + SDLLockScreenStatus.OPTIONAL, + SDLLockScreenStatus.REQUIRED, + nil]; + } + return SDLLockScreenStatus_values; +} + ++ (SDLLockScreenStatus *)OFF +{ + if (SDLLockScreenStatus_OFF == nil) { + SDLLockScreenStatus_OFF = [[SDLLockScreenStatus alloc] initWithValue:@"OFF"]; + } + return SDLLockScreenStatus_OFF; +} + ++ (SDLLockScreenStatus *)OPTIONAL +{ + if (SDLLockScreenStatus_OPTIONAL == nil) { + SDLLockScreenStatus_OPTIONAL = [[SDLLockScreenStatus alloc] initWithValue:@"OPTIONAL"]; + } + return SDLLockScreenStatus_OPTIONAL; +} + ++ (SDLLockScreenStatus *)REQUIRED +{ + if (SDLLockScreenStatus_REQUIRED == nil) { + SDLLockScreenStatus_REQUIRED = [[SDLLockScreenStatus alloc] initWithValue:@"REQUIRED"]; + } + return SDLLockScreenStatus_REQUIRED; +} + + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLMaintenanceModeStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMaintenanceModeStatus.h new file mode 100644 index 000000000..d5c9b43f5 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMaintenanceModeStatus.h @@ -0,0 +1,18 @@ +// SDLMaintenanceModeStatus.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLMaintenanceModeStatus : SDLEnum {} + ++(SDLMaintenanceModeStatus*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLMaintenanceModeStatus*) NORMAL; ++(SDLMaintenanceModeStatus*) NEAR; ++(SDLMaintenanceModeStatus*) ACTIVE; ++(SDLMaintenanceModeStatus*) FEATURE_NOT_PRESENT; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLMaintenanceModeStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMaintenanceModeStatus.m new file mode 100644 index 000000000..1c34d93b1 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMaintenanceModeStatus.m @@ -0,0 +1,65 @@ +// SDLMaintenanceModeStatus.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLMaintenanceModeStatus.h" + +SDLMaintenanceModeStatus* SDLMaintenanceModeStatus_NORMAL = nil; +SDLMaintenanceModeStatus* SDLMaintenanceModeStatus_NEAR = nil; +SDLMaintenanceModeStatus* SDLMaintenanceModeStatus_ACTIVE = nil; +SDLMaintenanceModeStatus* SDLMaintenanceModeStatus_FEATURE_NOT_PRESENT = nil; + +NSMutableArray* SDLMaintenanceModeStatus_values = nil; + +@implementation SDLMaintenanceModeStatus + ++(SDLMaintenanceModeStatus*) valueOf:(NSString*) value { + for (SDLMaintenanceModeStatus* item in SDLMaintenanceModeStatus.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLMaintenanceModeStatus_values == nil) { + SDLMaintenanceModeStatus_values = [[NSMutableArray alloc] initWithObjects: + SDLMaintenanceModeStatus.NORMAL, + SDLMaintenanceModeStatus.NEAR, + SDLMaintenanceModeStatus.ACTIVE, + SDLMaintenanceModeStatus.FEATURE_NOT_PRESENT, + nil]; + } + return SDLMaintenanceModeStatus_values; +} + ++(SDLMaintenanceModeStatus*) NORMAL { + if (SDLMaintenanceModeStatus_NORMAL == nil) { + SDLMaintenanceModeStatus_NORMAL = [[SDLMaintenanceModeStatus alloc] initWithValue:@"NORMAL"]; + } + return SDLMaintenanceModeStatus_NORMAL; +} + ++(SDLMaintenanceModeStatus*) NEAR { + if (SDLMaintenanceModeStatus_NEAR == nil) { + SDLMaintenanceModeStatus_NEAR = [[SDLMaintenanceModeStatus alloc] initWithValue:@"NEAR"]; + } + return SDLMaintenanceModeStatus_NEAR; +} + ++(SDLMaintenanceModeStatus*) ACTIVE { + if (SDLMaintenanceModeStatus_ACTIVE == nil) { + SDLMaintenanceModeStatus_ACTIVE = [[SDLMaintenanceModeStatus alloc] initWithValue:@"ACTIVE"]; + } + return SDLMaintenanceModeStatus_ACTIVE; +} + ++(SDLMaintenanceModeStatus*) FEATURE_NOT_PRESENT { + if (SDLMaintenanceModeStatus_FEATURE_NOT_PRESENT == nil) { + SDLMaintenanceModeStatus_FEATURE_NOT_PRESENT = [[SDLMaintenanceModeStatus alloc] initWithValue:@"FEATURE_NOT_PRESENT"]; + } + return SDLMaintenanceModeStatus_FEATURE_NOT_PRESENT; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLMediaClockFormat.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMediaClockFormat.h new file mode 100644 index 000000000..a2a9532b4 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMediaClockFormat.h @@ -0,0 +1,21 @@ +// SDLMediaClockFormat.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLMediaClockFormat : SDLEnum {} + ++(SDLMediaClockFormat*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLMediaClockFormat*) CLOCK1; ++(SDLMediaClockFormat*) CLOCK2; ++(SDLMediaClockFormat*) CLOCK3; ++(SDLMediaClockFormat*) CLOCKTEXT1; ++(SDLMediaClockFormat*) CLOCKTEXT2; ++(SDLMediaClockFormat*) CLOCKTEXT3; ++(SDLMediaClockFormat*) CLOCKTEXT4; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLMediaClockFormat.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMediaClockFormat.m new file mode 100644 index 000000000..bfcfa1b84 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMediaClockFormat.m @@ -0,0 +1,92 @@ +// SDLMediaClockFormat.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLMediaClockFormat.h" + +SDLMediaClockFormat* SDLMediaClockFormat_CLOCK1 = nil; +SDLMediaClockFormat* SDLMediaClockFormat_CLOCK2 = nil; +SDLMediaClockFormat* SDLMediaClockFormat_CLOCK3 = nil; +SDLMediaClockFormat* SDLMediaClockFormat_CLOCKTEXT1 = nil; +SDLMediaClockFormat* SDLMediaClockFormat_CLOCKTEXT2 = nil; +SDLMediaClockFormat* SDLMediaClockFormat_CLOCKTEXT3 = nil; +SDLMediaClockFormat* SDLMediaClockFormat_CLOCKTEXT4 = nil; + +NSMutableArray* SDLMediaClockFormat_values = nil; + +@implementation SDLMediaClockFormat + ++(SDLMediaClockFormat*) valueOf:(NSString*) value { + for (SDLMediaClockFormat* item in SDLMediaClockFormat.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLMediaClockFormat_values == nil) { + SDLMediaClockFormat_values = [[NSMutableArray alloc] initWithObjects: + SDLMediaClockFormat.CLOCK1, + SDLMediaClockFormat.CLOCK2, + SDLMediaClockFormat.CLOCK3, + SDLMediaClockFormat.CLOCKTEXT1, + SDLMediaClockFormat.CLOCKTEXT2, + SDLMediaClockFormat.CLOCKTEXT3, + SDLMediaClockFormat.CLOCKTEXT4, + nil]; + } + return SDLMediaClockFormat_values; +} + ++(SDLMediaClockFormat*) CLOCK1 { + if (SDLMediaClockFormat_CLOCK1 == nil) { + SDLMediaClockFormat_CLOCK1 = [[SDLMediaClockFormat alloc] initWithValue:@"CLOCK1"]; + } + return SDLMediaClockFormat_CLOCK1; +} + ++(SDLMediaClockFormat*) CLOCK2 { + if (SDLMediaClockFormat_CLOCK2 == nil) { + SDLMediaClockFormat_CLOCK2 = [[SDLMediaClockFormat alloc] initWithValue:@"CLOCK2"]; + } + return SDLMediaClockFormat_CLOCK2; +} + ++(SDLMediaClockFormat*) CLOCK3 { + if (SDLMediaClockFormat_CLOCK3 == nil) { + SDLMediaClockFormat_CLOCK3 = [[SDLMediaClockFormat alloc] initWithValue:@"CLOCK3"]; + } + return SDLMediaClockFormat_CLOCK3; +} + ++(SDLMediaClockFormat*) CLOCKTEXT1 { + if (SDLMediaClockFormat_CLOCKTEXT1 == nil) { + SDLMediaClockFormat_CLOCKTEXT1 = [[SDLMediaClockFormat alloc] initWithValue:@"CLOCKTEXT1"]; + } + return SDLMediaClockFormat_CLOCKTEXT1; +} + ++(SDLMediaClockFormat*) CLOCKTEXT2 { + if (SDLMediaClockFormat_CLOCKTEXT2 == nil) { + SDLMediaClockFormat_CLOCKTEXT2 = [[SDLMediaClockFormat alloc] initWithValue:@"CLOCKTEXT2"]; + } + return SDLMediaClockFormat_CLOCKTEXT2; +} + ++(SDLMediaClockFormat*) CLOCKTEXT3 { + if (SDLMediaClockFormat_CLOCKTEXT3 == nil) { + SDLMediaClockFormat_CLOCKTEXT3 = [[SDLMediaClockFormat alloc] initWithValue:@"CLOCKTEXT3"]; + } + return SDLMediaClockFormat_CLOCKTEXT3; +} + ++(SDLMediaClockFormat*) CLOCKTEXT4 { + if (SDLMediaClockFormat_CLOCKTEXT4 == nil) { + SDLMediaClockFormat_CLOCKTEXT4 = [[SDLMediaClockFormat alloc] initWithValue:@"CLOCKTEXT4"]; + } + return SDLMediaClockFormat_CLOCKTEXT4; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLMenuParams.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMenuParams.h new file mode 100644 index 000000000..2698a0973 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMenuParams.h @@ -0,0 +1,17 @@ +// SDLMenuParams.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +@interface SDLMenuParams : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* parentID; +@property(strong) NSNumber* position; +@property(strong) NSString* menuName; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLMenuParams.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMenuParams.m new file mode 100644 index 000000000..cefca6508 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMenuParams.m @@ -0,0 +1,57 @@ +// SDLMenuParams.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLMenuParams.h" + +#import "SDLNames.h" + +@implementation SDLMenuParams + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setParentID:(NSNumber*) parentID { + if (parentID != nil) { + [store setObject:parentID forKey:NAMES_parentID]; + } else { + [store removeObjectForKey:NAMES_parentID]; + } +} + +-(NSNumber*) parentID { + return [store objectForKey:NAMES_parentID]; +} + +-(void) setPosition:(NSNumber*) position { + if (position != nil) { + [store setObject:position forKey:NAMES_position]; + } else { + [store removeObjectForKey:NAMES_position]; + } +} + +-(NSNumber*) position { + return [store objectForKey:NAMES_position]; +} + +-(void) setMenuName:(NSString*) menuName { + if (menuName != nil) { + [store setObject:menuName forKey:NAMES_menuName]; + } else { + [store removeObjectForKey:NAMES_menuName]; + } +} + +-(NSString*) menuName { + return [store objectForKey:NAMES_menuName]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLMyKey.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMyKey.h new file mode 100644 index 000000000..e723ab16d --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMyKey.h @@ -0,0 +1,17 @@ +// SDLMyKey.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +#import "SDLVehicleDataStatus.h" + +@interface SDLMyKey : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLVehicleDataStatus* e911Override; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLMyKey.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMyKey.m new file mode 100644 index 000000000..829e5d559 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMyKey.m @@ -0,0 +1,38 @@ +// SDLMyKey.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLMyKey.h" + +#import "SDLNames.h" + +@implementation SDLMyKey + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setE911Override:(SDLVehicleDataStatus*) e911Override { + if (e911Override != nil) { + [store setObject:e911Override forKey:NAMES_e911Override]; + } else { + [store removeObjectForKey:NAMES_e911Override]; + } +} + +-(SDLVehicleDataStatus*) e911Override { + NSObject* obj = [store objectForKey:NAMES_e911Override]; + if ([obj isKindOfClass:SDLVehicleDataStatus.class]) { + return (SDLVehicleDataStatus*)obj; + } else { + return [SDLVehicleDataStatus valueOf:(NSString*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLNames.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLNames.h new file mode 100644 index 000000000..b658b435d --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLNames.h @@ -0,0 +1,395 @@ +// SDLNames.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + + +#define NAMES_accPedalPosition @"accPedalPosition" +#define NAMES_actual @"actual" +#define NAMES_AddCommand @"AddCommand" +#define NAMES_AddSubMenu @"AddSubMenu" +#define NAMES_airbagStatus @"airbagStatus" +#define NAMES_Alert @"Alert" +#define NAMES_AlertManeuver @"AlertManeuver" +#define NAMES_alertText1 @"alertText1" +#define NAMES_alertText2 @"alertText2" +#define NAMES_alertText3 @"alertText3" +#define NAMES_alignment @"alignment" +#define NAMES_allowed @"allowed" +#define NAMES_altitude @"altitude" +#define NAMES_ambientLightSensorStatus @"ambientLightSensorStatus" +#define NAMES_ambientLightStatus @"ambientLightStatus" +#define NAMES_appHMIType @"appHMIType" +#define NAMES_appID @"appID" +#define NAMES_appName @"appName" +#define NAMES_audioPassThruCapabilities @"audioPassThruCapabilities" +#define NAMES_audioPassThruDisplayText1 @"audioPassThruDisplayText1" +#define NAMES_audioPassThruDisplayText2 @"audioPassThruDisplayText2" +#define NAMES_audioStreamingState @"audioStreamingState" +#define NAMES_audioType @"audioType" +#define NAMES_autoCompleteText @"autoCompleteText" +#define NAMES_auxECallNotificationStatus @"auxECallNotificationStatus" +#define NAMES_battLevelStatus @"battLevelStatus" +#define NAMES_beltStatus @"beltStatus" +#define NAMES_bitsPerSample @"bitsPerSample" +#define NAMES_bodyInformation @"bodyInformation" +#define NAMES_btIconOn @"btIconOn" +#define NAMES_bulkData @"bulkData" +#define NAMES_buttonCapabilities @"buttonCapabilities" +#define NAMES_buttonEventMode @"buttonEventMode" +#define NAMES_buttonName @"buttonName" +#define NAMES_buttonPressMode @"buttonPressMode" +#define NAMES_c @"c" +#define NAMES_callActive @"callActive" +#define NAMES_carModeStatus @"carModeStatus" +#define NAMES_carrier @"carrier" +#define NAMES_ChangeRegistration @"ChangeRegistration" +#define NAMES_characterSet @"characterSet" +#define NAMES_choiceID @"choiceID" +#define NAMES_choiceSet @"choiceSet" +#define NAMES_clusterModes @"clusterModes" +#define NAMES_clusterModeStatus @"clusterModeStatus" +#define NAMES_cmdIcon @"cmdIcon" +#define NAMES_cmdID @"cmdID" +#define NAMES_compassDirection @"compassDirection" +#define NAMES_correlationID @"correlationID" +#define NAMES_CreateInteractionChoiceSet @"CreateInteractionChoiceSet" +#define NAMES_customButtonID @"customButtonID" +#define NAMES_customPresets @"customPresets" +#define NAMES_data @"data" +#define NAMES_dataResult @"dataResult" +#define NAMES_dataType @"dataType" +#define NAMES_DeleteCommand @"DeleteCommand" +#define NAMES_DeleteFile @"DeleteFile" +#define NAMES_DeleteInteractionChoiceSet @"DeleteInteractionChoiceSet" +#define NAMES_DeleteSubMenu @"DeleteSubMenu" +#define NAMES_deviceInfo @"deviceInfo" +#define NAMES_deviceStatus @"deviceStatus" +#define NAMES_DiagnosticMessage @"DiagnosticMessage" +#define NAMES_didLocation @"didLocation" +#define NAMES_didResult @"didResult" +#define NAMES_dimension @"dimension" +#define NAMES_displayCapabilities @"displayCapabilities" +#define NAMES_displayLayout @"displayLayout" +#define NAMES_displayType @"displayType" +#define NAMES_distanceToEmpty @"distanceToEmpty" +#define NAMES_distanceToManeuver @"distanceToManeuver" +#define NAMES_distanceToManeuverScale @"distanceToManeuverScale" +#define NAMES_doublePressAvailable @"doublePressAvailable" +#define NAMES_driverAirbagDeployed @"driverAirbagDeployed" +#define NAMES_driverBeltDeployed @"driverBeltDeployed" +#define NAMES_driverBraking @"driverBraking" +#define NAMES_driverBuckleBelted @"driverBuckleBelted" +#define NAMES_driverCurtainAirbagDeployed @"driverCurtainAirbagDeployed" +#define NAMES_driverDoorAjar @"driverDoorAjar" +#define NAMES_driverKneeAirbagDeployed @"driverKneeAirbagDeployed" +#define NAMES_driverSideAirbagDeployed @"driverSideAirbagDeployed" +#define NAMES_dtc @"dtc" +#define NAMES_dtcMask @"dtcMask" +#define NAMES_duration @"duration" +#define NAMES_e911Override @"e911Override" +#define NAMES_eCallConfirmationStatus @"eCallConfirmationStatus" +#define NAMES_eCallEventActive @"eCallEventActive" +#define NAMES_eCallInfo @"eCallInfo" +#define NAMES_eCallNotificationStatus @"eCallNotificationStatus" +#define NAMES_ecuHeader @"ecuHeader" +#define NAMES_ecuName @"ecuName" +#define NAMES_emergencyEvent @"emergencyEvent" +#define NAMES_emergencyEventType @"emergencyEventType" +#define NAMES_EncodedSyncPData @"EncodedSyncPData" +#define NAMES_EndAudioPassThru @"EndAudioPassThru" +#define NAMES_endTime @"endTime" +#define NAMES_engineTorque @"engineTorque" +#define NAMES_eta @"eta" +#define NAMES_event @"event" +#define NAMES_externalTemperature @"externalTemperature" +#define NAMES_fileName @"fileName" +#define NAMES_filenames @"filenames" +#define NAMES_fileType @"fileType" +#define NAMES_firmwareRev @"firmwareRev" +#define NAMES_fuelCutoffStatus @"fuelCutoffStatus" +#define NAMES_fuelLevel @"fuelLevel" +#define NAMES_fuelLevel_State @"fuelLevel_State" +#define NAMES_fuelMaintenanceMode @"fuelMaintenanceMode" +#define NAMES_GenericResponse @"GenericResponse" +#define NAMES_GetDTCs @"GetDTCs" +#define NAMES_GetVehicleData @"GetVehicleData" +#define NAMES_gps @"gps" +#define NAMES_graphic @"graphic" +#define NAMES_graphicSupported @"graphicSupported" +#define NAMES_hardware @"hardware" +#define NAMES_hashID @"hashID" +#define NAMES_hdop @"hdop" +#define NAMES_heading @"heading" +#define NAMES_headLampStatus @"headLampStatus" +#define NAMES_helpPrompt @"helpPrompt" +#define NAMES_highBeamsOn @"highBeamsOn" +#define NAMES_hmiDisplayLanguage @"hmiDisplayLanguage" +#define NAMES_hmiDisplayLanguageDesired @"hmiDisplayLanguageDesired" +#define NAMES_hmiLevel @"hmiLevel" +#define NAMES_hmiPermissions @"hmiPermissions" +#define NAMES_hmiZoneCapabilities @"hmiZoneCapabilities" +#define NAMES_hours @"hours" +#define NAMES_id @"id" +#define NAMES_ignitionStableStatus @"ignitionStableStatus" +#define NAMES_ignitionStatus @"ignitionStatus" +#define NAMES_image @"image" +#define NAMES_imageFields @"imageFields" +#define NAMES_imageResolution @"imageResolution" +#define NAMES_imageSupported @"imageSupported" +#define NAMES_imageType @"imageType" +#define NAMES_imageTypeSupported @"imageTypeSupported" +#define NAMES_info @"info" +#define NAMES_initialPrompt @"initialPrompt" +#define NAMES_initialText @"initialText" +#define NAMES_innerLeftRear @"innerLeftRear" +#define NAMES_innerRightRear @"innerRightRear" +#define NAMES_instantFuelConsumption @"instantFuelConsumption" +#define NAMES_interactionChoiceSetID @"interactionChoiceSetID" +#define NAMES_interactionChoiceSetIDList @"interactionChoiceSetIDList" +#define NAMES_interactionLayout @"interactionLayout" +#define NAMES_interactionMode @"interactionMode" +#define NAMES_isHighlighted @"isHighlighted" +#define NAMES_isMediaApplication @"isMediaApplication" +#define NAMES_keyboardLayout @"keyboardLayout" +#define NAMES_keyboardProperties @"keyboardProperties" +#define NAMES_keypressMode @"keypressMode" +#define NAMES_language @"language" +#define NAMES_languageDesired @"languageDesired" +#define NAMES_latitudeDegrees @"latitudeDegrees" +#define NAMES_leftFront @"leftFront" +#define NAMES_leftRear @"leftRear" +#define NAMES_leftRearInflatableBelted @"leftRearInflatableBelted" +#define NAMES_leftRow2BuckleBelted @"leftRow2BuckleBelted" +#define NAMES_leftRow3BuckleBelted @"leftRow3BuckleBelted" +#define NAMES_length @"length" +#define NAMES_limitedCharacterList @"limitedCharacterList" +#define NAMES_ListFiles @"ListFiles" +#define NAMES_longitudeDegrees @"longitudeDegrees" +#define NAMES_longPress @"longPress" +#define NAMES_longPressAvailable @"longPressAvailable" +#define NAMES_lowBeamsOn @"lowBeamsOn" +#define NAMES_mainField1 @"mainField1" +#define NAMES_mainField2 @"mainField2" +#define NAMES_mainField3 @"mainField3" +#define NAMES_mainField4 @"mainField4" +#define NAMES_majorVersion @"majorVersion" +#define NAMES_make @"make" +#define NAMES_maneuverComplete @"maneuverComplete" +#define NAMES_manualTextEntry @"manualTextEntry" +#define NAMES_maxDuration @"maxDuration" +#define NAMES_maximumChangeVelocity @"maximumChangeVelocity" +#define NAMES_maxNumberRFCOMMPorts @"maxNumberRFCOMMPorts" +#define NAMES_mediaClock @"mediaClock" +#define NAMES_mediaClockFormats @"mediaClockFormats" +#define NAMES_mediaTrack @"mediaTrack" +#define NAMES_menuIcon @"menuIcon" +#define NAMES_menuID @"menuID" +#define NAMES_menuName @"menuName" +#define NAMES_menuParams @"menuParams" +#define NAMES_menuTitle @"menuTitle" +#define NAMES_messageData @"messageData" +#define NAMES_messageDataResult @"messageDataResult" +#define NAMES_messageLength @"messageLength" +#define NAMES_middleRow1BeltDeployed @"middleRow1BeltDeployed" +#define NAMES_middleRow1BuckleBelted @"middleRow1BuckleBelted" +#define NAMES_middleRow2BuckleBelted @"middleRow2BuckleBelted" +#define NAMES_middleRow3BuckleBelted @"middleRow3BuckleBelted" +#define NAMES_minorVersion @"minorVersion" +#define NAMES_minutes @"minutes" +#define NAMES_model @"model" +#define NAMES_modelYear @"modelYear" +#define NAMES_monoAudioOutputMuted @"monoAudioOutputMuted" +#define NAMES_multipleEvents @"multipleEvents" +#define NAMES_multiTouchAvailable @"multiTouchAvailable" +#define NAMES_muteAudio @"muteAudio" +#define NAMES_myKey @"myKey" +#define NAMES_name @"name" +#define NAMES_navigationText @"navigationText" +#define NAMES_navigationText1 @"navigationText1" +#define NAMES_navigationText2 @"navigationText2" +#define NAMES_nextTurnIcon @"nextTurnIcon" +#define NAMES_ngnMediaScreenAppName @"ngnMediaScreenAppName" +#define NAMES_notification @"notification" +#define NAMES_numCustomPresetsAvailable @"numCustomPresetsAvailable" +#define NAMES_numTicks @"numTicks" +#define NAMES_odometer @"odometer" +#define NAMES_offset @"offset" +#define NAMES_OnAppInterfaceUnregistered @"OnAppInterfaceUnregistered" +#define NAMES_OnAudioPassThru @"OnAudioPassThru" +#define NAMES_OnButtonEvent @"OnButtonEvent" +#define NAMES_OnButtonPress @"OnButtonPress" +#define NAMES_OnCommand @"OnCommand" +#define NAMES_OnDriverDistraction @"OnDriverDistraction" +#define NAMES_OnEncodedSyncPData @"OnEncodedSyncPData" +#define NAMES_OnHashChange @"OnHashChange" +#define NAMES_OnHMIStatus @"OnHMIStatus" +#define NAMES_OnKeyboardInput @"OnKeyboardInput" +#define NAMES_OnLanguageChange @"OnLanguageChange" +#define NAMES_OnPermissionsChange @"OnPermissionsChange" +#define NAMES_onScreenPresetsAvailable @"onScreenPresetsAvailable" +#define NAMES_OnSyncPData @"OnSyncPData" +#define NAMES_OnSystemRequest @"OnSystemRequest" +#define NAMES_OnTBTClientState @"OnTBTClientState" +#define NAMES_OnTouchEvent @"OnTouchEvent" +#define NAMES_OnVehicleData @"OnVehicleData" +#define NAMES_operation_name @"name" +#define NAMES_os @"os" +#define NAMES_osVersion @"osVersion" +#define NAMES_parameterPermissions @"parameterPermissions" +#define NAMES_parameters @"parameters" +#define NAMES_parentID @"parentID" +#define NAMES_parkBrakeActive @"parkBrakeActive" +#define NAMES_passengerAirbagDeployed @"passengerAirbagDeployed" +#define NAMES_passengerBeltDeployed @"passengerBeltDeployed" +#define NAMES_passengerBuckleBelted @"passengerBuckleBelted" +#define NAMES_passengerChildDetected @"passengerChildDetected" +#define NAMES_passengerCurtainAirbagDeployed @"passengerCurtainAirbagDeployed" +#define NAMES_passengerDoorAjar @"passengerDoorAjar" +#define NAMES_passengerKneeAirbagDeployed @"passengerKneeAirbagDeployed" +#define NAMES_passengerSideAirbagDeployed @"passengerSideAirbagDeployed" +#define NAMES_pdop @"pdop" +#define NAMES_PerformAudioPassThru @"PerformAudioPassThru" +#define NAMES_PerformInteraction @"PerformInteraction" +#define NAMES_permissionItem @"permissionItem" +#define NAMES_persistentFile @"persistentFile" +#define NAMES_phoneRoaming @"phoneRoaming" +#define NAMES_playTone @"playTone" +#define NAMES_position @"position" +#define NAMES_powerModeActive @"powerModeActive" +#define NAMES_powerModeQualificationStatus @"powerModeQualificationStatus" +#define NAMES_powerModeStatus @"powerModeStatus" +#define NAMES_prerecordedSpeech @"prerecordedSpeech" +#define NAMES_presetBankCapabilities @"presetBankCapabilities" +#define NAMES_pressAvailable @"pressAvailable" +#define NAMES_pressure @"pressure" +#define NAMES_pressureTelltale @"pressureTelltale" +#define NAMES_primaryAudioSource @"primaryAudioSource" +#define NAMES_prndl @"prndl" +#define NAMES_progressIndicator @"progressIndicator" +#define NAMES_properties @"properties" +#define NAMES_PutFile @"PutFile" +#define NAMES_ReadDID @"ReadDID" +#define NAMES_rearLeftDoorAjar @"rearLeftDoorAjar" +#define NAMES_rearRightDoorAjar @"rearRightDoorAjar" +#define NAMES_reason @"reason" +#define NAMES_RegisterAppInterface @"RegisterAppInterface" +#define NAMES_request @"request" +#define NAMES_requestType @"requestType" +#define NAMES_reserved @"reserved" +#define NAMES_ResetGlobalProperties @"ResetGlobalProperties" +#define NAMES_resolution @"resolution" +#define NAMES_resolutionHeight @"resolutionHeight" +#define NAMES_resolutionWidth @"resolutionWidth" +#define NAMES_response @"response" +#define NAMES_result @"result" +#define NAMES_resultCode @"resultCode" +#define NAMES_rightFront @"rightFront" +#define NAMES_rightRear @"rightRear" +#define NAMES_rightRearInflatableBelted @"rightRearInflatableBelted" +#define NAMES_rightRow2BuckleBelted @"rightRow2BuckleBelted" +#define NAMES_rightRow3BuckleBelted @"rightRow3BuckleBelted" +#define NAMES_rolloverEvent @"rolloverEvent" +#define NAMES_rows @"rows" +#define NAMES_rpcName @"rpcName" +#define NAMES_rpm @"rpm" +#define NAMES_samplingRate @"samplingRate" +#define NAMES_satellites @"satellites" +#define NAMES_screenParams @"screenParams" +#define NAMES_ScrollableMessage @"ScrollableMessage" +#define NAMES_scrollableMessageBody @"scrollableMessageBody" +#define NAMES_secondaryGraphic @"secondaryGraphic" +#define NAMES_secondaryImage @"secondaryImage" +#define NAMES_secondaryText @"secondaryText" +#define NAMES_seconds @"seconds" +#define NAMES_SetAppIcon @"SetAppIcon" +#define NAMES_SetDisplayLayout @"SetDisplayLayout" +#define NAMES_SetGlobalProperties @"SetGlobalProperties" +#define NAMES_SetMediaClockTimer @"SetMediaClockTimer" +#define NAMES_shortPress @"shortPress" +#define NAMES_shortPressAvailable @"shortPressAvailable" +#define NAMES_Show @"Show" +#define NAMES_ShowConstantTBT @"ShowConstantTBT" +#define NAMES_signalLevelStatus @"signalLevelStatus" +#define NAMES_Slider @"Slider" +#define NAMES_sliderFooter @"sliderFooter" +#define NAMES_sliderHeader @"sliderHeader" +#define NAMES_sliderPosition @"sliderPosition" +#define NAMES_softButtonCapabilities @"softButtonCapabilities" +#define NAMES_softButtonID @"softButtonID" +#define NAMES_softButtons @"softButtons" +#define NAMES_spaceAvailable @"spaceAvailable" +#define NAMES_Speak @"Speak" +#define NAMES_speechCapabilities @"speechCapabilities" +#define NAMES_speed @"speed" +#define NAMES_startTime @"startTime" +#define NAMES_state @"state" +#define NAMES_stateOfCharge @"stateOfCharge" +#define NAMES_status @"status" +#define NAMES_statusBar @"statusBar" +#define NAMES_steeringWheelAngle @"steeringWheelAngle" +#define NAMES_stereoAudioOutputMuted @"stereoAudioOutputMuted" +#define NAMES_Subscribe @"Subscribe" +#define NAMES_SubscribeButton @"SubscribeButton" +#define NAMES_SubscribeVehicleData @"SubscribeVehicleData" +#define NAMES_success @"success" +#define NAMES_supportedDiagModes @"supportedDiagModes" +#define NAMES_syncFileName @"syncFileName" +#define NAMES_syncMsgVersion @"syncMsgVersion" +#define NAMES_SyncPData @"SyncPData" +#define NAMES_systemAction @"systemAction" +#define NAMES_systemContext @"systemContext" +#define NAMES_systemFile @"systemFile" +#define NAMES_SystemRequest @"SystemRequest" +#define NAMES_targetID @"targetID" +#define NAMES_templatesAvailable @"templatesAvailable" +#define NAMES_tertiaryText @"tertiaryText" +#define NAMES_text @"text" +#define NAMES_textFields @"textFields" +#define NAMES_textMsgAvailable @"textMsgAvailable" +#define NAMES_timeout @"timeout" +#define NAMES_Timeout @"Timeout" +#define NAMES_timeoutPrompt @"timeoutPrompt" +#define NAMES_timeToDestination @"timeToDestination" +#define NAMES_tirePressure @"tirePressure" +#define NAMES_totalDistance @"totalDistance" +#define NAMES_touchEventAvailable @"touchEventAvailable" +#define NAMES_triggerSource @"triggerSource" +#define NAMES_trim @"trim" +#define NAMES_tryAgainTime @"tryAgainTime" +#define NAMES_ts @"ts" +#define NAMES_ttsChunks @"ttsChunks" +#define NAMES_ttsName @"ttsName" +#define NAMES_turnIcon @"turnIcon" +#define NAMES_turnList @"turnList" +#define NAMES_type @"type" +#define NAMES_UnregisterAppInterface @"UnregisterAppInterface" +#define NAMES_Unsubscribe @"Unsubscribe" +#define NAMES_UnsubscribeButton @"UnsubscribeButton" +#define NAMES_UnsubscribeVehicleData @"UnsubscribeVehicleData" +#define NAMES_updateMode @"updateMode" +#define NAMES_UpdateTurnList @"UpdateTurnList" +#define NAMES_upDownAvailable @"upDownAvailable" +#define NAMES_url @"url" +#define NAMES_URL @"URL" +#define NAMES_userDisallowed @"userDisallowed" +#define NAMES_utcDay @"utcDay" +#define NAMES_utcHours @"utcHours" +#define NAMES_utcMinutes @"utcMinutes" +#define NAMES_utcMonth @"utcMonth" +#define NAMES_utcSeconds @"utcSeconds" +#define NAMES_utcYear @"utcYear" +#define NAMES_value @"value" +#define NAMES_vdop @"vdop" +#define NAMES_vehicleType @"vehicleType" +#define NAMES_vin @"vin" +#define NAMES_voiceRecOn @"voiceRecOn" +#define NAMES_vrCapabilities @"vrCapabilities" +#define NAMES_vrCommands @"vrCommands" +#define NAMES_vrHelp @"vrHelp" +#define NAMES_vrHelpTitle @"vrHelpTitle" +#define NAMES_vrSynonyms @"vrSynonyms" +#define NAMES_width @"width" +#define NAMES_wiperStatus @"wiperStatus" +#define NAMES_x @"x" +#define NAMES_y @"y" diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLObjectWithPriority.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLObjectWithPriority.h new file mode 100644 index 000000000..eff2f642a --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLObjectWithPriority.h @@ -0,0 +1,16 @@ +// +// SDLObjectWithPriority.h +// SmartDeviceLink +// + +@import Foundation; + +@interface SDLObjectWithPriority : NSObject + +@property (strong) id object; +@property (assign) NSInteger priority; + +@end + + + diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLObjectWithPriority.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLObjectWithPriority.m new file mode 100644 index 000000000..565868dcb --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLObjectWithPriority.m @@ -0,0 +1,10 @@ +// +// SDLObjectWithPriority.m +// SmartDeviceLink +// + +#import "SDLObjectWithPriority.h" + +@implementation SDLObjectWithPriority + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAppInterfaceUnregistered.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAppInterfaceUnregistered.h new file mode 100644 index 000000000..4eaff3403 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAppInterfaceUnregistered.h @@ -0,0 +1,17 @@ +// SDLOnAppInterfaceUnregistered.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCNotification.h" + +#import "SDLAppInterfaceUnregisteredReason.h" + +@interface SDLOnAppInterfaceUnregistered : SDLRPCNotification {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLAppInterfaceUnregisteredReason* reason; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAppInterfaceUnregistered.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAppInterfaceUnregistered.m new file mode 100644 index 000000000..3691e4964 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAppInterfaceUnregistered.m @@ -0,0 +1,38 @@ +// SDLOnAppInterfaceUnregistered.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLOnAppInterfaceUnregistered.h" + +#import "SDLNames.h" + +@implementation SDLOnAppInterfaceUnregistered + +-(id) init { + if (self = [super initWithName:NAMES_OnAppInterfaceUnregistered]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setReason:(SDLAppInterfaceUnregisteredReason*) reason { + if (reason != nil) { + [parameters setObject:reason forKey:NAMES_reason]; + } else { + [parameters removeObjectForKey:NAMES_reason]; + } +} + +-(SDLAppInterfaceUnregisteredReason*) reason { + NSObject* obj = [parameters objectForKey:NAMES_reason]; + if ([obj isKindOfClass:SDLAppInterfaceUnregisteredReason.class]) { + return (SDLAppInterfaceUnregisteredReason*)obj; + } else { + return [SDLAppInterfaceUnregisteredReason valueOf:(NSString*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAudioPassThru.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAudioPassThru.h new file mode 100644 index 000000000..a60d7adb2 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAudioPassThru.h @@ -0,0 +1,13 @@ +// SDLOnAudioPassThru.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCNotification.h" + +@interface SDLOnAudioPassThru : SDLRPCNotification {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAudioPassThru.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAudioPassThru.m new file mode 100644 index 000000000..fbd448ee9 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAudioPassThru.m @@ -0,0 +1,21 @@ +// SDLOnAudioPassThru.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLOnAudioPassThru.h" + +#import "SDLNames.h" + +@implementation SDLOnAudioPassThru + +-(id) init { + if (self = [super initWithName:NAMES_OnAudioPassThru]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonEvent.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonEvent.h new file mode 100644 index 000000000..bd3150358 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonEvent.h @@ -0,0 +1,20 @@ +// SDLOnButtonEvent.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCNotification.h" + +#import "SDLButtonName.h" +#import "SDLButtonEventMode.h" + +@interface SDLOnButtonEvent : SDLRPCNotification {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLButtonName* buttonName; +@property(strong) SDLButtonEventMode* buttonEventMode; +@property(strong) NSNumber* customButtonID; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonEvent.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonEvent.m new file mode 100644 index 000000000..e291da843 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonEvent.m @@ -0,0 +1,67 @@ +// SDLOnButtonEvent.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLOnButtonEvent.h" + +#import "SDLNames.h" + +@implementation SDLOnButtonEvent + +-(id) init { + if (self = [super initWithName:NAMES_OnButtonEvent]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setButtonName:(SDLButtonName*) buttonName { + if (buttonName != nil) { + [parameters setObject:buttonName forKey:NAMES_buttonName]; + } else { + [parameters removeObjectForKey:NAMES_buttonName]; + } +} + +-(SDLButtonName*) buttonName { + NSObject* obj = [parameters objectForKey:NAMES_buttonName]; + if ([obj isKindOfClass:SDLButtonName.class]) { + return (SDLButtonName*)obj; + } else { + return [SDLButtonName valueOf:(NSString*)obj]; + } +} + +-(void) setButtonEventMode:(SDLButtonEventMode*) buttonEventMode { + if (buttonEventMode != nil) { + [parameters setObject:buttonEventMode forKey:NAMES_buttonEventMode]; + } else { + [parameters removeObjectForKey:NAMES_buttonEventMode]; + } +} + +-(SDLButtonEventMode*) buttonEventMode { + NSObject* obj = [parameters objectForKey:NAMES_buttonEventMode]; + if ([obj isKindOfClass:SDLButtonEventMode.class]) { + return (SDLButtonEventMode*)obj; + } else { + return [SDLButtonEventMode valueOf:(NSString*)obj]; + } +} + +-(void) setCustomButtonID:(NSNumber*) customButtonID { + if (customButtonID != nil) { + [parameters setObject:customButtonID forKey:NAMES_customButtonID]; + } else { + [parameters removeObjectForKey:NAMES_customButtonID]; + } +} + +-(NSNumber*) customButtonID { + return [parameters objectForKey:NAMES_customButtonID]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonPress.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonPress.h new file mode 100644 index 000000000..89ab0c0ec --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonPress.h @@ -0,0 +1,20 @@ +// SDLOnButtonPress.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCNotification.h" + +#import "SDLButtonName.h" +#import "SDLButtonPressMode.h" + +@interface SDLOnButtonPress : SDLRPCNotification {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLButtonName* buttonName; +@property(strong) SDLButtonPressMode* buttonPressMode; +@property(strong) NSNumber* customButtonID; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonPress.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonPress.m new file mode 100644 index 000000000..9c842364b --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonPress.m @@ -0,0 +1,67 @@ +// SDLOnButtonPress.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLOnButtonPress.h" + +#import "SDLNames.h" + +@implementation SDLOnButtonPress + +-(id) init { + if (self = [super initWithName:NAMES_OnButtonPress]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setButtonName:(SDLButtonName*) buttonName { + if (buttonName != nil) { + [parameters setObject:buttonName forKey:NAMES_buttonName]; + } else { + [parameters removeObjectForKey:NAMES_buttonName]; + } +} + +-(SDLButtonName*) buttonName { + NSObject* obj = [parameters objectForKey:NAMES_buttonName]; + if ([obj isKindOfClass:SDLButtonName.class]) { + return (SDLButtonName*)obj; + } else { + return [SDLButtonName valueOf:(NSString*)obj]; + } +} + +-(void) setButtonPressMode:(SDLButtonPressMode*) buttonPressMode { + if (buttonPressMode != nil) { + [parameters setObject:buttonPressMode forKey:NAMES_buttonPressMode]; + } else { + [parameters removeObjectForKey:NAMES_buttonPressMode]; + } +} + +-(SDLButtonPressMode*) buttonPressMode { + NSObject* obj = [parameters objectForKey:NAMES_buttonPressMode]; + if ([obj isKindOfClass:SDLButtonPressMode.class]) { + return (SDLButtonPressMode*)obj; + } else { + return [SDLButtonPressMode valueOf:(NSString*)obj]; + } +} + +-(void) setCustomButtonID:(NSNumber*) customButtonID { + if (customButtonID != nil) { + [parameters setObject:customButtonID forKey:NAMES_customButtonID]; + } else { + [parameters removeObjectForKey:NAMES_customButtonID]; + } +} + +-(NSNumber*) customButtonID { + return [parameters objectForKey:NAMES_customButtonID]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnCommand.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnCommand.h new file mode 100644 index 000000000..77f8a85bf --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnCommand.h @@ -0,0 +1,18 @@ +// SDLOnCommand.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCNotification.h" + +#import "SDLTriggerSource.h" + +@interface SDLOnCommand : SDLRPCNotification {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* cmdID; +@property(strong) SDLTriggerSource* triggerSource; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnCommand.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnCommand.m new file mode 100644 index 000000000..b8f0667d7 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnCommand.m @@ -0,0 +1,50 @@ +// SDLOnCommand.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLOnCommand.h" + +#import "SDLNames.h" + +@implementation SDLOnCommand + +-(id) init { + if (self = [super initWithName:NAMES_OnCommand]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setCmdID:(NSNumber*) cmdID { + if (cmdID != nil) { + [parameters setObject:cmdID forKey:NAMES_cmdID]; + } else { + [parameters removeObjectForKey:NAMES_cmdID]; + } +} + +-(NSNumber*) cmdID { + return [parameters objectForKey:NAMES_cmdID]; +} + +-(void) setTriggerSource:(SDLTriggerSource*) triggerSource { + if (triggerSource != nil) { + [parameters setObject:triggerSource forKey:NAMES_triggerSource]; + } else { + [parameters removeObjectForKey:NAMES_triggerSource]; + } +} + +-(SDLTriggerSource*) triggerSource { + NSObject* obj = [parameters objectForKey:NAMES_triggerSource]; + if ([obj isKindOfClass:SDLTriggerSource.class]) { + return (SDLTriggerSource*)obj; + } else { + return [SDLTriggerSource valueOf:(NSString*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnDriverDistraction.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnDriverDistraction.h new file mode 100644 index 000000000..7401d4e3a --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnDriverDistraction.h @@ -0,0 +1,17 @@ +// SDLOnDriverDistraction.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCNotification.h" + +#import "SDLDriverDistractionState.h" + +@interface SDLOnDriverDistraction : SDLRPCNotification {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLDriverDistractionState* state; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnDriverDistraction.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnDriverDistraction.m new file mode 100644 index 000000000..ab58e872e --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnDriverDistraction.m @@ -0,0 +1,38 @@ +// SDLOnDriverDistraction.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLOnDriverDistraction.h" + +#import "SDLNames.h" + +@implementation SDLOnDriverDistraction + +-(id) init { + if (self = [super initWithName:NAMES_OnDriverDistraction]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setState:(SDLDriverDistractionState*) state { + if (state != nil) { + [parameters setObject:state forKey:NAMES_state]; + } else { + [parameters removeObjectForKey:NAMES_state]; + } +} + +-(SDLDriverDistractionState*) state { + NSObject* obj = [parameters objectForKey:NAMES_state]; + if ([obj isKindOfClass:SDLDriverDistractionState.class]) { + return (SDLDriverDistractionState*)obj; + } else { + return [SDLDriverDistractionState valueOf:(NSString*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnEncodedSyncPData.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnEncodedSyncPData.h new file mode 100644 index 000000000..967cb9a14 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnEncodedSyncPData.h @@ -0,0 +1,17 @@ +// SDLOnEncodedSyncPData.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCNotification.h" + +@interface SDLOnEncodedSyncPData : SDLRPCNotification {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSMutableArray* data; +@property(strong) NSString* URL; +@property(strong) NSNumber* Timeout; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnEncodedSyncPData.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnEncodedSyncPData.m new file mode 100644 index 000000000..e3ce877ba --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnEncodedSyncPData.m @@ -0,0 +1,57 @@ +// SDLOnEncodedSyncPData.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLOnEncodedSyncPData.h" + +#import "SDLNames.h" + +@implementation SDLOnEncodedSyncPData + +-(id) init { + if (self = [super initWithName:NAMES_OnEncodedSyncPData]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setData:(NSMutableArray*) data { + if (data != nil) { + [parameters setObject:data forKey:NAMES_data]; + } else { + [parameters removeObjectForKey:NAMES_data]; + } +} + +-(NSMutableArray*) data { + return [parameters objectForKey:NAMES_data]; +} + +-(void) setURL:(NSString*) URL { + if (URL != nil) { + [parameters setObject:URL forKey:NAMES_URL]; + } else { + [parameters removeObjectForKey:NAMES_URL]; + } +} + +-(NSString*) URL { + return [parameters objectForKey:NAMES_URL]; +} + +-(void) setTimeout:(NSNumber*) Timeout { + if (Timeout != nil) { + [parameters setObject:Timeout forKey:NAMES_Timeout]; + } else { + [parameters removeObjectForKey:NAMES_Timeout]; + } +} + +-(NSNumber*) Timeout { + return [parameters objectForKey:NAMES_Timeout]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHMIStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHMIStatus.h new file mode 100644 index 000000000..0f542b23a --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHMIStatus.h @@ -0,0 +1,21 @@ +// SDLOnHMIStatus.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCNotification.h" + +#import "SDLHMILevel.h" +#import "SDLAudioStreamingState.h" +#import "SDLSystemContext.h" + +@interface SDLOnHMIStatus : SDLRPCNotification {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLHMILevel* hmiLevel; +@property(strong) SDLAudioStreamingState* audioStreamingState; +@property(strong) SDLSystemContext* systemContext; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHMIStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHMIStatus.m new file mode 100644 index 000000000..b6a472df0 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHMIStatus.m @@ -0,0 +1,72 @@ +// SDLOnHMIStatus.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLOnHMIStatus.h" + +#import "SDLNames.h" + +@implementation SDLOnHMIStatus + +-(id) init { + if (self = [super initWithName:NAMES_OnHMIStatus]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setHmiLevel:(SDLHMILevel*) hmiLevel { + if (hmiLevel != nil) { + [parameters setObject:hmiLevel forKey:NAMES_hmiLevel]; + } else { + [parameters removeObjectForKey:NAMES_hmiLevel]; + } +} + +-(SDLHMILevel*) hmiLevel { + NSObject* obj = [parameters objectForKey:NAMES_hmiLevel]; + if ([obj isKindOfClass:SDLHMILevel.class]) { + return (SDLHMILevel*)obj; + } else { + return [SDLHMILevel valueOf:(NSString*)obj]; + } +} + +-(void) setAudioStreamingState:(SDLAudioStreamingState*) audioStreamingState { + if (audioStreamingState != nil) { + [parameters setObject:audioStreamingState forKey:NAMES_audioStreamingState]; + } else { + [parameters removeObjectForKey:NAMES_audioStreamingState]; + } +} + +-(SDLAudioStreamingState*) audioStreamingState { + NSObject* obj = [parameters objectForKey:NAMES_audioStreamingState]; + if ([obj isKindOfClass:SDLAudioStreamingState.class]) { + return (SDLAudioStreamingState*)obj; + } else { + return [SDLAudioStreamingState valueOf:(NSString*)obj]; + } +} + +-(void) setSystemContext:(SDLSystemContext*) systemContext { + if (systemContext != nil) { + [parameters setObject:systemContext forKey:NAMES_systemContext]; + } else { + [parameters removeObjectForKey:NAMES_systemContext]; + } +} + +-(SDLSystemContext*) systemContext { + NSObject* obj = [parameters objectForKey:NAMES_systemContext]; + if ([obj isKindOfClass:SDLSystemContext.class]) { + return (SDLSystemContext*)obj; + } else { + return [SDLSystemContext valueOf:(NSString*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHashChange.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHashChange.h new file mode 100644 index 000000000..170894f8f --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHashChange.h @@ -0,0 +1,15 @@ +// SDLOnHashChange.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCNotification.h" + +@interface SDLOnHashChange : SDLRPCNotification {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSString* hashID; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHashChange.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHashChange.m new file mode 100644 index 000000000..07cb20bcc --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHashChange.m @@ -0,0 +1,33 @@ +// SDLOnHashChange.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLOnHashChange.h" + +#import "SDLNames.h" + +@implementation SDLOnHashChange + +-(id) init { + if (self = [super initWithName:NAMES_OnHashChange]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setHashID:(NSString*) hashID { + if (hashID != nil) { + [parameters setObject:hashID forKey:NAMES_hashID]; + } else { + [parameters removeObjectForKey:NAMES_hashID]; + } +} + +-(NSString*) hashID { + return [parameters objectForKey:NAMES_hashID]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnKeyboardInput.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnKeyboardInput.h new file mode 100644 index 000000000..00ea8c69c --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnKeyboardInput.h @@ -0,0 +1,18 @@ +// SDLOnKeyboardInput.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCNotification.h" + +#import "SDLKeyboardEvent.h" + +@interface SDLOnKeyboardInput : SDLRPCNotification {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLKeyboardEvent* event; +@property(strong) NSString* data; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnKeyboardInput.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnKeyboardInput.m new file mode 100644 index 000000000..1aa668361 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnKeyboardInput.m @@ -0,0 +1,50 @@ +// SDLOnKeyboardInput.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLOnKeyboardInput.h" + +#import "SDLNames.h" + +@implementation SDLOnKeyboardInput + +-(id) init { + if (self = [super initWithName:NAMES_OnKeyboardInput]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setEvent:(SDLKeyboardEvent*) event { + if (event != nil) { + [parameters setObject:event forKey:NAMES_event]; + } else { + [parameters removeObjectForKey:NAMES_event]; + } +} + +-(SDLKeyboardEvent*) event { + NSObject* obj = [parameters objectForKey:NAMES_event]; + if ([obj isKindOfClass:SDLKeyboardEvent.class]) { + return (SDLKeyboardEvent*)obj; + } else { + return [SDLKeyboardEvent valueOf:(NSString*)obj]; + } +} + +-(void) setData:(NSString*) data { + if (data != nil) { + [parameters setObject:data forKey:NAMES_data]; + } else { + [parameters removeObjectForKey:NAMES_data]; + } +} + +-(NSString*) data { + return [parameters objectForKey:NAMES_data]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLanguageChange.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLanguageChange.h new file mode 100644 index 000000000..538415f8b --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLanguageChange.h @@ -0,0 +1,18 @@ +// SDLOnLanguageChange.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCNotification.h" + +#import "SDLLanguage.h" + +@interface SDLOnLanguageChange : SDLRPCNotification {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLLanguage* language; +@property(strong) SDLLanguage* hmiDisplayLanguage; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLanguageChange.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLanguageChange.m new file mode 100644 index 000000000..84bfa913a --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLanguageChange.m @@ -0,0 +1,55 @@ +// SDLOnLanguageChange.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLOnLanguageChange.h" + +#import "SDLNames.h" + +@implementation SDLOnLanguageChange + +-(id) init { + if (self = [super initWithName:NAMES_OnLanguageChange]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setLanguage:(SDLLanguage*) language { + if (language != nil) { + [parameters setObject:language forKey:NAMES_language]; + } else { + [parameters removeObjectForKey:NAMES_language]; + } +} + +-(SDLLanguage*) language { + NSObject* obj = [parameters objectForKey:NAMES_language]; + if ([obj isKindOfClass:SDLLanguage.class]) { + return (SDLLanguage*)obj; + } else { + return [SDLLanguage valueOf:(NSString*)obj]; + } +} + +-(void) setHmiDisplayLanguage:(SDLLanguage*) hmiDisplayLanguage { + if (hmiDisplayLanguage != nil) { + [parameters setObject:hmiDisplayLanguage forKey:NAMES_hmiDisplayLanguage]; + } else { + [parameters removeObjectForKey:NAMES_hmiDisplayLanguage]; + } +} + +-(SDLLanguage*) hmiDisplayLanguage { + NSObject* obj = [parameters objectForKey:NAMES_hmiDisplayLanguage]; + if ([obj isKindOfClass:SDLLanguage.class]) { + return (SDLLanguage*)obj; + } else { + return [SDLLanguage valueOf:(NSString*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLockScreenStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLockScreenStatus.h new file mode 100644 index 000000000..5391ae006 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLockScreenStatus.h @@ -0,0 +1,24 @@ +// +// SDLOnLockScreenStatus.h +// SmartDeviceLink +// + +#import "SDLLockScreenStatus.h" + +#import "SDLRPCNotification.h" + + +@class SDLHMILevel; +@class SDLLockScreenStatus; + +@interface SDLOnLockScreenStatus : SDLRPCNotification + +- (id)init; +- (id)initWithDictionary:(NSMutableDictionary *)dict; + +@property(strong) NSNumber *driverDistractionStatus; +@property(strong) NSNumber *userSelected; +@property(strong) SDLLockScreenStatus *lockScreenStatus; +@property(strong) SDLHMILevel *hmiLevel; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLockScreenStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLockScreenStatus.m new file mode 100644 index 000000000..678a2cb52 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLockScreenStatus.m @@ -0,0 +1,85 @@ +// +// SDLOnLockScreenStatus.m +// SmartDeviceLink +// + +#import "SDLOnLockScreenStatus.h" + +#import "SDLHMILevel.h" +#import "SDLLockScreenStatus.h" + +@implementation SDLOnLockScreenStatus + +- (id)init { + if (self = [super initWithName:@"OnLockScreenStatus"]) { + + } + return self; +} + +- (id)initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) { + + } + return self; +} + +- (void)setLockScreenStatus:(SDLLockScreenStatus*)lockScreenStatus { + if (lockScreenStatus != nil) { + [parameters setObject:lockScreenStatus forKey:@"OnLockScreenStatus"]; + } else { + [parameters removeObjectForKey:@"OnLockScreenStatus"]; + } +} + +- (SDLLockScreenStatus *)lockScreenStatus { + NSObject* obj = [parameters objectForKey:@"OnLockScreenStatus"]; + if ([obj isKindOfClass:SDLLockScreenStatus.class]) { + return (SDLLockScreenStatus*)obj; + } else { + return [SDLLockScreenStatus valueOf:(NSString*)obj]; + } +} + +- (void)setHmiLevel:(SDLHMILevel *)hmiLevel { + if (hmiLevel != nil) { + [parameters setObject:hmiLevel forKey:@"hmilevel"]; + } else { + [parameters removeObjectForKey:@"hmilevel"]; + } +} + +- (SDLHMILevel *)hmiLevel { + NSObject* obj = [parameters objectForKey:@"hmilevel"]; + if ([obj isKindOfClass:SDLLockScreenStatus.class]) { + return (SDLHMILevel *)obj; + } else { + return [SDLHMILevel valueOf:(NSString*)obj]; + } +} + +- (void)setUserSelected:(NSNumber *)userSelected { + if (userSelected != nil) { + [parameters setObject:userSelected forKey:@"userselected"]; + } else { + [parameters removeObjectForKey:@"userselected"]; + } +} + +- (NSNumber *)userSelected { + return [parameters objectForKey:@"userselected"]; +} + +- (void)setDriverDistractionStatus:(NSNumber *)driverDistractionStatus { + if (driverDistractionStatus != nil) { + [parameters setObject:driverDistractionStatus forKey:@"driverdistractionstatus"]; + } else { + [parameters removeObjectForKey:@"driverdistractionstatus"]; + } +} + +- (NSNumber *)driverDistractionStatus { + return [parameters objectForKey:@"driverdistractionstatus"]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnPermissionsChange.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnPermissionsChange.h new file mode 100644 index 000000000..151f5df0f --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnPermissionsChange.h @@ -0,0 +1,15 @@ +// SDLOnPermissionsChange.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCNotification.h" + +@interface SDLOnPermissionsChange : SDLRPCNotification {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSMutableArray* permissionItem; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnPermissionsChange.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnPermissionsChange.m new file mode 100644 index 000000000..140363782 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnPermissionsChange.m @@ -0,0 +1,43 @@ +// SDLOnPermissionsChange.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLOnPermissionsChange.h" + +#import "SDLNames.h" +#import "SDLPermissionItem.h" + +@implementation SDLOnPermissionsChange + +-(id) init { + if (self = [super initWithName:NAMES_OnPermissionsChange]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setPermissionItem:(NSMutableArray*) permissionItem { + if (permissionItem != nil) { + [parameters setObject:permissionItem forKey:NAMES_permissionItem]; + } else { + [parameters removeObjectForKey:NAMES_permissionItem]; + } +} + +-(NSMutableArray*) permissionItem { + NSMutableArray* array = [parameters objectForKey:NAMES_permissionItem]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLPermissionItem.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSDictionary* dict in array) { + [newList addObject:[[SDLPermissionItem alloc] initWithDictionary:(NSMutableDictionary*)dict]]; + } + return newList; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSyncPData.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSyncPData.h new file mode 100644 index 000000000..a4a13948b --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSyncPData.h @@ -0,0 +1,16 @@ +// SDLOnSyncPData.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCNotification.h" + +@interface SDLOnSyncPData : SDLRPCNotification {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSString* URL; +@property(strong) NSNumber* Timeout; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSyncPData.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSyncPData.m new file mode 100644 index 000000000..f2bf755c5 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSyncPData.m @@ -0,0 +1,45 @@ +// SDLOnSyncPData.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLOnSyncPData.h" + +#import "SDLNames.h" + +@implementation SDLOnSyncPData + +-(id) init { + if (self = [super initWithName:NAMES_OnSyncPData]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setURL:(NSString*) URL { + if (URL != nil) { + [parameters setObject:URL forKey:NAMES_URL]; + } else { + [parameters removeObjectForKey:NAMES_URL]; + } +} + +-(NSString*) URL { + return [parameters objectForKey:NAMES_URL]; +} + +-(void) setTimeout:(NSNumber*) Timeout { + if (Timeout != nil) { + [parameters setObject:Timeout forKey:NAMES_Timeout]; + } else { + [parameters removeObjectForKey:NAMES_Timeout]; + } +} + +-(NSNumber*) Timeout { + return [parameters objectForKey:NAMES_Timeout]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSystemRequest.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSystemRequest.h new file mode 100644 index 000000000..121099a70 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSystemRequest.h @@ -0,0 +1,23 @@ +// SDLOnSystemRequest.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCNotification.h" + +#import "SDLRequestType.h" +#import "SDLFileType.h" + +@interface SDLOnSystemRequest : SDLRPCNotification {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLRequestType* requestType; +@property(strong) NSString* url; +@property(strong) NSNumber* timeout; +@property(strong) SDLFileType* fileType; +@property(strong) NSNumber* offset; +@property(strong) NSNumber* length; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSystemRequest.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSystemRequest.m new file mode 100644 index 000000000..a10a21a30 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSystemRequest.m @@ -0,0 +1,103 @@ +// SDLOnSystemRequest.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLOnSystemRequest.h" + +#import "SDLNames.h" + +@implementation SDLOnSystemRequest + +-(id) init { + if (self = [super initWithName:NAMES_OnSystemRequest]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setRequestType:(SDLRequestType*) requestType { + if (requestType != nil) { + [parameters setObject:requestType forKey:NAMES_requestType]; + } else { + [parameters removeObjectForKey:NAMES_requestType]; + } +} + +-(SDLRequestType*) requestType { + NSObject* obj = [parameters objectForKey:NAMES_requestType]; + if ([obj isKindOfClass:SDLRequestType.class]) { + return (SDLRequestType*)obj; + } else { + return [SDLRequestType valueOf:(NSString*)obj]; + } +} + +-(void) setUrl:(NSString*) url { + if (url != nil) { + [parameters setObject:url forKey:NAMES_url]; + } else { + [parameters removeObjectForKey:NAMES_url]; + } +} + +-(NSString*) url { + return [parameters objectForKey:NAMES_url]; +} + +-(void) setTimeout:(NSNumber*) timeout { + if (timeout != nil) { + [parameters setObject:timeout forKey:NAMES_timeout]; + } else { + [parameters removeObjectForKey:NAMES_timeout]; + } +} + +-(NSNumber*) timeout { + return [parameters objectForKey:NAMES_timeout]; +} + +-(void) setFileType:(SDLFileType*) fileType { + if (fileType != nil) { + [parameters setObject:fileType forKey:NAMES_fileType]; + } else { + [parameters removeObjectForKey:NAMES_fileType]; + } +} + +-(SDLFileType*) fileType { + NSObject* obj = [parameters objectForKey:NAMES_fileType]; + if ([obj isKindOfClass:SDLFileType.class]) { + return (SDLFileType*)obj; + } else { + return [SDLFileType valueOf:(NSString*)obj]; + } +} + +-(void) setOffset:(NSNumber*) offset { + if (offset != nil) { + [parameters setObject:offset forKey:NAMES_offset]; + } else { + [parameters removeObjectForKey:NAMES_offset]; + } +} + +-(NSNumber*) offset { + return [parameters objectForKey:NAMES_offset]; +} + +-(void) setLength:(NSNumber*) length { + if (length != nil) { + [parameters setObject:length forKey:NAMES_length]; + } else { + [parameters removeObjectForKey:NAMES_length]; + } +} + +-(NSNumber*) length { + return [parameters objectForKey:NAMES_length]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTBTClientState.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTBTClientState.h new file mode 100644 index 000000000..c48f5c141 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTBTClientState.h @@ -0,0 +1,17 @@ +// SDLOnTBTClientState.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCNotification.h" + +#import "SDLTBTState.h" + +@interface SDLOnTBTClientState : SDLRPCNotification {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLTBTState* state; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTBTClientState.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTBTClientState.m new file mode 100644 index 000000000..8d58a3717 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTBTClientState.m @@ -0,0 +1,38 @@ +// SDLOnTBTClientState.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLOnTBTClientState.h" + +#import "SDLNames.h" + +@implementation SDLOnTBTClientState + +-(id) init { + if (self = [super initWithName:NAMES_OnTBTClientState]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setState:(SDLTBTState*) state { + if (state != nil) { + [parameters setObject:state forKey:NAMES_state]; + } else { + [parameters removeObjectForKey:NAMES_state]; + } +} + +-(SDLTBTState*) state { + NSObject* obj = [parameters objectForKey:NAMES_state]; + if ([obj isKindOfClass:SDLTBTState.class]) { + return (SDLTBTState*)obj; + } else { + return [SDLTBTState valueOf:(NSString*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTouchEvent.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTouchEvent.h new file mode 100644 index 000000000..31b2a38a7 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTouchEvent.h @@ -0,0 +1,18 @@ +// SDLOnTouchEvent.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCNotification.h" + +#import "SDLTouchType.h" + +@interface SDLOnTouchEvent : SDLRPCNotification {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLTouchType* type; +@property(strong) NSMutableArray* event; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTouchEvent.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTouchEvent.m new file mode 100644 index 000000000..e27305801 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTouchEvent.m @@ -0,0 +1,60 @@ +// SDLOnTouchEvent.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLOnTouchEvent.h" + +#import "SDLNames.h" +#import "SDLTouchEvent.h" + +@implementation SDLOnTouchEvent + +-(id) init { + if (self = [super initWithName:NAMES_OnTouchEvent]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setType:(SDLTouchType*) type { + if (type != nil) { + [parameters setObject:type forKey:NAMES_type]; + } else { + [parameters removeObjectForKey:NAMES_type]; + } +} + +-(SDLTouchType*) type { + NSObject* obj = [parameters objectForKey:NAMES_type]; + if ([obj isKindOfClass:SDLTouchType.class]) { + return (SDLTouchType*)obj; + } else { + return [SDLTouchType valueOf:(NSString*)obj]; + } +} + +-(void) setEvent:(NSMutableArray*) event { + if (event != nil) { + [parameters setObject:event forKey:NAMES_event]; + } else { + [parameters removeObjectForKey:NAMES_event]; + } +} + +-(NSMutableArray*) event { + NSMutableArray* array = [parameters objectForKey:NAMES_event]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLTouchEvent.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSDictionary* dict in array) { + [newList addObject:[[SDLTouchEvent alloc] initWithDictionary:(NSMutableDictionary*)dict]]; + } + return newList; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnVehicleData.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnVehicleData.h new file mode 100644 index 000000000..9ae436207 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnVehicleData.h @@ -0,0 +1,55 @@ +// SDLOnVehicleData.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCNotification.h" + +#import "SDLGPSData.h" +#import "SDLComponentVolumeStatus.h" +#import "SDLPRNDL.h" +#import "SDLTireStatus.h" +#import "SDLBeltStatus.h" +#import "SDLBodyInformation.h" +#import "SDLDeviceStatus.h" +#import "SDLVehicleDataEventStatus.h" +#import "SDLWiperStatus.h" +#import "SDLHeadLampStatus.h" +#import "SDLECallInfo.h" +#import "SDLAirbagStatus.h" +#import "SDLEmergencyEvent.h" +#import "SDLClusterModeStatus.h" +#import "SDLMyKey.h" + +@interface SDLOnVehicleData : SDLRPCNotification {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLGPSData* gps; +@property(strong) NSNumber* speed; +@property(strong) NSNumber* rpm; +@property(strong) NSNumber* fuelLevel; +@property(strong) SDLComponentVolumeStatus* fuelLevel_State; +@property(strong) NSNumber* instantFuelConsumption; +@property(strong) NSNumber* externalTemperature; +@property(strong) NSString* vin; +@property(strong) SDLPRNDL* prndl; +@property(strong) SDLTireStatus* tirePressure; +@property(strong) NSNumber* odometer; +@property(strong) SDLBeltStatus* beltStatus; +@property(strong) SDLBodyInformation* bodyInformation; +@property(strong) SDLDeviceStatus* deviceStatus; +@property(strong) SDLVehicleDataEventStatus* driverBraking; +@property(strong) SDLWiperStatus* wiperStatus; +@property(strong) SDLHeadLampStatus* headLampStatus; +@property(strong) NSNumber* engineTorque; +@property(strong) NSNumber* accPedalPosition; +@property(strong) NSNumber* steeringWheelAngle; +@property(strong) SDLECallInfo* eCallInfo; +@property(strong) SDLAirbagStatus* airbagStatus; +@property(strong) SDLEmergencyEvent* emergencyEvent; +@property(strong) SDLClusterModeStatus* clusterModeStatus; +@property(strong) SDLMyKey* myKey; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnVehicleData.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnVehicleData.m new file mode 100644 index 000000000..0a6776944 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnVehicleData.m @@ -0,0 +1,396 @@ +// SDLOnVehicleData.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLOnVehicleData.h" + +#import "SDLNames.h" + +@implementation SDLOnVehicleData + +-(id) init { + if (self = [super initWithName:NAMES_OnVehicleData]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setGps:(SDLGPSData*) gps { + if (gps != nil) { + [parameters setObject:gps forKey:NAMES_gps]; + } else { + [parameters removeObjectForKey:NAMES_gps]; + } +} + +-(SDLGPSData*) gps { + NSObject* obj = [parameters objectForKey:NAMES_gps]; + if ([obj isKindOfClass:SDLGPSData.class]) { + return (SDLGPSData*)obj; + } else { + return [[SDLGPSData alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setSpeed:(NSNumber*) speed { + if (speed != nil) { + [parameters setObject:speed forKey:NAMES_speed]; + } else { + [parameters removeObjectForKey:NAMES_speed]; + } +} + +-(NSNumber*) speed { + return [parameters objectForKey:NAMES_speed]; +} + +-(void) setRpm:(NSNumber*) rpm { + if (rpm != nil) { + [parameters setObject:rpm forKey:NAMES_rpm]; + } else { + [parameters removeObjectForKey:NAMES_rpm]; + } +} + +-(NSNumber*) rpm { + return [parameters objectForKey:NAMES_rpm]; +} + +-(void) setFuelLevel:(NSNumber*) fuelLevel { + if (fuelLevel != nil) { + [parameters setObject:fuelLevel forKey:NAMES_fuelLevel]; + } else { + [parameters removeObjectForKey:NAMES_fuelLevel]; + } +} + +-(NSNumber*) fuelLevel { + return [parameters objectForKey:NAMES_fuelLevel]; +} + +-(void) setFuelLevel_State:(SDLComponentVolumeStatus*) fuelLevel_State { + if (fuelLevel_State != nil) { + [parameters setObject:fuelLevel_State forKey:NAMES_fuelLevel_State]; + } else { + [parameters removeObjectForKey:NAMES_fuelLevel_State]; + } +} + +-(SDLComponentVolumeStatus*) fuelLevel_State { + NSObject* obj = [parameters objectForKey:NAMES_fuelLevel_State]; + if ([obj isKindOfClass:SDLComponentVolumeStatus.class]) { + return (SDLComponentVolumeStatus*)obj; + } else { + return [SDLComponentVolumeStatus valueOf:(NSString*)obj]; + } +} + +-(void) setInstantFuelConsumption:(NSNumber*) instantFuelConsumption { + if (instantFuelConsumption != nil) { + [parameters setObject:instantFuelConsumption forKey:NAMES_instantFuelConsumption]; + } else { + [parameters removeObjectForKey:NAMES_instantFuelConsumption]; + } +} + +-(NSNumber*) instantFuelConsumption { + return [parameters objectForKey:NAMES_instantFuelConsumption]; +} + +-(void) setExternalTemperature:(NSNumber*) externalTemperature { + if (externalTemperature != nil) { + [parameters setObject:externalTemperature forKey:NAMES_externalTemperature]; + } else { + [parameters removeObjectForKey:NAMES_externalTemperature]; + } +} + +-(NSNumber*) externalTemperature { + return [parameters objectForKey:NAMES_externalTemperature]; +} + +-(void) setVin:(NSString*) vin { + if (vin != nil) { + [parameters setObject:vin forKey:NAMES_vin]; + } else { + [parameters removeObjectForKey:NAMES_vin]; + } +} + +-(NSString*) vin { + return [parameters objectForKey:NAMES_vin]; +} + +-(void) setPrndl:(SDLPRNDL*) prndl { + if (prndl != nil) { + [parameters setObject:prndl forKey:NAMES_prndl]; + } else { + [parameters removeObjectForKey:NAMES_prndl]; + } +} + +-(SDLPRNDL*) prndl { + NSObject* obj = [parameters objectForKey:NAMES_prndl]; + if ([obj isKindOfClass:SDLPRNDL.class]) { + return (SDLPRNDL*)obj; + } else { + return [SDLPRNDL valueOf:(NSString*)obj]; + } +} + +-(void) setTirePressure:(SDLTireStatus*) tirePressure { + if (tirePressure != nil) { + [parameters setObject:tirePressure forKey:NAMES_tirePressure]; + } else { + [parameters removeObjectForKey:NAMES_tirePressure]; + } +} + +-(SDLTireStatus*) tirePressure { + NSObject* obj = [parameters objectForKey:NAMES_tirePressure]; + if ([obj isKindOfClass:SDLTireStatus.class]) { + return (SDLTireStatus*)obj; + } else { + return [[SDLTireStatus alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setOdometer:(NSNumber*) odometer { + if (odometer != nil) { + [parameters setObject:odometer forKey:NAMES_odometer]; + } else { + [parameters removeObjectForKey:NAMES_odometer]; + } +} + +-(NSNumber*) odometer { + return [parameters objectForKey:NAMES_odometer]; +} + +-(void) setBeltStatus:(SDLBeltStatus*) beltStatus { + if (beltStatus != nil) { + [parameters setObject:beltStatus forKey:NAMES_beltStatus]; + } else { + [parameters removeObjectForKey:NAMES_beltStatus]; + } +} + +-(SDLBeltStatus*) beltStatus { + NSObject* obj = [parameters objectForKey:NAMES_beltStatus]; + if ([obj isKindOfClass:SDLBeltStatus.class]) { + return (SDLBeltStatus*)obj; + } else { + return [[SDLBeltStatus alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setBodyInformation:(SDLBodyInformation*) bodyInformation { + if (bodyInformation != nil) { + [parameters setObject:bodyInformation forKey:NAMES_bodyInformation]; + } else { + [parameters removeObjectForKey:NAMES_bodyInformation]; + } +} + +-(SDLBodyInformation*) bodyInformation { + NSObject* obj = [parameters objectForKey:NAMES_bodyInformation]; + if ([obj isKindOfClass:SDLBodyInformation.class]) { + return (SDLBodyInformation*)obj; + } else { + return [[SDLBodyInformation alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setDeviceStatus:(SDLDeviceStatus*) deviceStatus { + if (deviceStatus != nil) { + [parameters setObject:deviceStatus forKey:NAMES_deviceStatus]; + } else { + [parameters removeObjectForKey:NAMES_deviceStatus]; + } +} + +-(SDLDeviceStatus*) deviceStatus { + NSObject* obj = [parameters objectForKey:NAMES_deviceStatus]; + if ([obj isKindOfClass:SDLDeviceStatus.class]) { + return (SDLDeviceStatus*)obj; + } else { + return [[SDLDeviceStatus alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setDriverBraking:(SDLVehicleDataEventStatus*) driverBraking { + if (driverBraking != nil) { + [parameters setObject:driverBraking forKey:NAMES_driverBraking]; + } else { + [parameters removeObjectForKey:NAMES_driverBraking]; + } +} + +-(SDLVehicleDataEventStatus*) driverBraking { + NSObject* obj = [parameters objectForKey:NAMES_driverBraking]; + if ([obj isKindOfClass:SDLVehicleDataEventStatus.class]) { + return (SDLVehicleDataEventStatus*)obj; + } else { + return [SDLVehicleDataEventStatus valueOf:(NSString*)obj]; + } +} + +-(void) setWiperStatus:(SDLWiperStatus*) wiperStatus { + if (wiperStatus != nil) { + [parameters setObject:wiperStatus forKey:NAMES_wiperStatus]; + } else { + [parameters removeObjectForKey:NAMES_wiperStatus]; + } +} + +-(SDLWiperStatus*) wiperStatus { + NSObject* obj = [parameters objectForKey:NAMES_wiperStatus]; + if ([obj isKindOfClass:SDLWiperStatus.class]) { + return (SDLWiperStatus*)obj; + } else { + return [SDLWiperStatus valueOf:(NSString*)obj]; + } +} + +-(void) setHeadLampStatus:(SDLHeadLampStatus*) headLampStatus { + if (headLampStatus != nil) { + [parameters setObject:headLampStatus forKey:NAMES_headLampStatus]; + } else { + [parameters removeObjectForKey:NAMES_headLampStatus]; + } +} + +-(SDLHeadLampStatus*) headLampStatus { + NSObject* obj = [parameters objectForKey:NAMES_headLampStatus]; + if ([obj isKindOfClass:SDLHeadLampStatus.class]) { + return (SDLHeadLampStatus*)obj; + } else { + return [[SDLHeadLampStatus alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setEngineTorque:(NSNumber*) engineTorque { + if (engineTorque != nil) { + [parameters setObject:engineTorque forKey:NAMES_engineTorque]; + } else { + [parameters removeObjectForKey:NAMES_engineTorque]; + } +} + +-(NSNumber*) engineTorque { + return [parameters objectForKey:NAMES_engineTorque]; +} + +-(void) setAccPedalPosition:(NSNumber*) accPedalPosition { + if (accPedalPosition != nil) { + [parameters setObject:accPedalPosition forKey:NAMES_accPedalPosition]; + } else { + [parameters removeObjectForKey:NAMES_accPedalPosition]; + } +} + +-(NSNumber*) accPedalPosition { + return [parameters objectForKey:NAMES_accPedalPosition]; +} + +-(void) setSteeringWheelAngle:(NSNumber*) steeringWheelAngle { + if (steeringWheelAngle != nil) { + [parameters setObject:steeringWheelAngle forKey:NAMES_steeringWheelAngle]; + } else { + [parameters removeObjectForKey:NAMES_steeringWheelAngle]; + } +} + +-(NSNumber*) steeringWheelAngle { + return [parameters objectForKey:NAMES_steeringWheelAngle]; +} + +-(void) setECallInfo:(SDLECallInfo*) eCallInfo { + if (eCallInfo != nil) { + [parameters setObject:eCallInfo forKey:NAMES_eCallInfo]; + } else { + [parameters removeObjectForKey:NAMES_eCallInfo]; + } +} + +-(SDLECallInfo*) eCallInfo { + NSObject* obj = [parameters objectForKey:NAMES_eCallInfo]; + if ([obj isKindOfClass:SDLECallInfo.class]) { + return (SDLECallInfo*)obj; + } else { + return [[SDLECallInfo alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setAirbagStatus:(SDLAirbagStatus*) airbagStatus { + if (airbagStatus != nil) { + [parameters setObject:airbagStatus forKey:NAMES_airbagStatus]; + } else { + [parameters removeObjectForKey:NAMES_airbagStatus]; + } +} + +-(SDLAirbagStatus*) airbagStatus { + NSObject* obj = [parameters objectForKey:NAMES_airbagStatus]; + if ([obj isKindOfClass:SDLAirbagStatus.class]) { + return (SDLAirbagStatus*)obj; + } else { + return [[SDLAirbagStatus alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setEmergencyEvent:(SDLEmergencyEvent*) emergencyEvent { + if (emergencyEvent != nil) { + [parameters setObject:emergencyEvent forKey:NAMES_emergencyEvent]; + } else { + [parameters removeObjectForKey:NAMES_emergencyEvent]; + } +} + +-(SDLEmergencyEvent*) emergencyEvent { + NSObject* obj = [parameters objectForKey:NAMES_emergencyEvent]; + if ([obj isKindOfClass:SDLEmergencyEvent.class]) { + return (SDLEmergencyEvent*)obj; + } else { + return [[SDLEmergencyEvent alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setClusterModeStatus:(SDLClusterModeStatus*) clusterModeStatus { + if (clusterModeStatus != nil) { + [parameters setObject:clusterModeStatus forKey:NAMES_clusterModeStatus]; + } else { + [parameters removeObjectForKey:NAMES_clusterModeStatus]; + } +} + +-(SDLClusterModeStatus*) clusterModeStatus { + NSObject* obj = [parameters objectForKey:NAMES_clusterModeStatus]; + if ([obj isKindOfClass:SDLClusterModeStatus.class]) { + return (SDLClusterModeStatus*)obj; + } else { + return [[SDLClusterModeStatus alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setMyKey:(SDLMyKey*) myKey { + if (myKey != nil) { + [parameters setObject:myKey forKey:NAMES_myKey]; + } else { + [parameters removeObjectForKey:NAMES_myKey]; + } +} + +-(SDLMyKey*) myKey { + NSObject* obj = [parameters objectForKey:NAMES_myKey]; + if ([obj isKindOfClass:SDLMyKey.class]) { + return (SDLMyKey*)obj; + } else { + return [[SDLMyKey alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPRNDL.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPRNDL.h new file mode 100644 index 000000000..63f662675 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPRNDL.h @@ -0,0 +1,30 @@ +// SDLPRNDL.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLPRNDL : SDLEnum {} + ++(SDLPRNDL*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLPRNDL*) PARK; ++(SDLPRNDL*) REVERSE; ++(SDLPRNDL*) NEUTRAL; ++(SDLPRNDL*) DRIVE; ++(SDLPRNDL*) SPORT; ++(SDLPRNDL*) LOWGEAR; ++(SDLPRNDL*) FIRST; ++(SDLPRNDL*) SECOND; ++(SDLPRNDL*) THIRD; ++(SDLPRNDL*) FOURTH; ++(SDLPRNDL*) FIFTH; ++(SDLPRNDL*) SIXTH; ++(SDLPRNDL*) SEVENTH; ++(SDLPRNDL*) EIGHTH; ++(SDLPRNDL*) UNKNOWN; ++(SDLPRNDL*) FAULT; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPRNDL.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPRNDL.m new file mode 100644 index 000000000..0a628bd36 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPRNDL.m @@ -0,0 +1,173 @@ +// SDLPRNDL.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLPRNDL.h" + +SDLPRNDL* SDLPRNDL_PARK = nil; +SDLPRNDL* SDLPRNDL_REVERSE = nil; +SDLPRNDL* SDLPRNDL_NEUTRAL = nil; +SDLPRNDL* SDLPRNDL_DRIVE = nil; +SDLPRNDL* SDLPRNDL_SPORT = nil; +SDLPRNDL* SDLPRNDL_LOWGEAR = nil; +SDLPRNDL* SDLPRNDL_FIRST = nil; +SDLPRNDL* SDLPRNDL_SECOND = nil; +SDLPRNDL* SDLPRNDL_THIRD = nil; +SDLPRNDL* SDLPRNDL_FOURTH = nil; +SDLPRNDL* SDLPRNDL_FIFTH = nil; +SDLPRNDL* SDLPRNDL_SIXTH = nil; +SDLPRNDL* SDLPRNDL_SEVENTH = nil; +SDLPRNDL* SDLPRNDL_EIGHTH = nil; +SDLPRNDL* SDLPRNDL_UNKNOWN = nil; +SDLPRNDL* SDLPRNDL_FAULT = nil; + +NSMutableArray* SDLPRNDL_values = nil; + +@implementation SDLPRNDL + ++(SDLPRNDL*) valueOf:(NSString*) value { + for (SDLPRNDL* item in SDLPRNDL.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLPRNDL_values == nil) { + SDLPRNDL_values = [[NSMutableArray alloc] initWithObjects: + SDLPRNDL.PARK, + SDLPRNDL.REVERSE, + SDLPRNDL.NEUTRAL, + SDLPRNDL.DRIVE, + SDLPRNDL.SPORT, + SDLPRNDL.LOWGEAR, + SDLPRNDL.FIRST, + SDLPRNDL.SECOND, + SDLPRNDL.THIRD, + SDLPRNDL.FOURTH, + SDLPRNDL.FIFTH, + SDLPRNDL.SIXTH, + SDLPRNDL.SEVENTH, + SDLPRNDL.EIGHTH, + SDLPRNDL.UNKNOWN, + SDLPRNDL.FAULT, + nil]; + } + return SDLPRNDL_values; +} + ++(SDLPRNDL*) PARK { + if (SDLPRNDL_PARK == nil) { + SDLPRNDL_PARK = [[SDLPRNDL alloc] initWithValue:@"PARK"]; + } + return SDLPRNDL_PARK; +} + ++(SDLPRNDL*) REVERSE { + if (SDLPRNDL_REVERSE == nil) { + SDLPRNDL_REVERSE = [[SDLPRNDL alloc] initWithValue:@"REVERSE"]; + } + return SDLPRNDL_REVERSE; +} + ++(SDLPRNDL*) NEUTRAL { + if (SDLPRNDL_NEUTRAL == nil) { + SDLPRNDL_NEUTRAL = [[SDLPRNDL alloc] initWithValue:@"NEUTRAL"]; + } + return SDLPRNDL_NEUTRAL; +} + ++(SDLPRNDL*) DRIVE { + if (SDLPRNDL_DRIVE == nil) { + SDLPRNDL_DRIVE = [[SDLPRNDL alloc] initWithValue:@"DRIVE"]; + } + return SDLPRNDL_DRIVE; +} + ++(SDLPRNDL*) SPORT { + if (SDLPRNDL_SPORT == nil) { + SDLPRNDL_SPORT = [[SDLPRNDL alloc] initWithValue:@"SPORT"]; + } + return SDLPRNDL_SPORT; +} + ++(SDLPRNDL*) LOWGEAR { + if (SDLPRNDL_LOWGEAR == nil) { + SDLPRNDL_LOWGEAR = [[SDLPRNDL alloc] initWithValue:@"LOWGEAR"]; + } + return SDLPRNDL_LOWGEAR; +} + ++(SDLPRNDL*) FIRST { + if (SDLPRNDL_FIRST == nil) { + SDLPRNDL_FIRST = [[SDLPRNDL alloc] initWithValue:@"FIRST"]; + } + return SDLPRNDL_FIRST; +} + ++(SDLPRNDL*) SECOND { + if (SDLPRNDL_SECOND == nil) { + SDLPRNDL_SECOND = [[SDLPRNDL alloc] initWithValue:@"SECOND"]; + } + return SDLPRNDL_SECOND; +} + ++(SDLPRNDL*) THIRD { + if (SDLPRNDL_THIRD == nil) { + SDLPRNDL_THIRD = [[SDLPRNDL alloc] initWithValue:@"THIRD"]; + } + return SDLPRNDL_THIRD; +} + ++(SDLPRNDL*) FOURTH { + if (SDLPRNDL_FOURTH == nil) { + SDLPRNDL_FOURTH = [[SDLPRNDL alloc] initWithValue:@"FOURTH"]; + } + return SDLPRNDL_FOURTH; +} + ++(SDLPRNDL*) FIFTH { + if (SDLPRNDL_FIFTH == nil) { + SDLPRNDL_FIFTH = [[SDLPRNDL alloc] initWithValue:@"FIFTH"]; + } + return SDLPRNDL_FIFTH; +} + ++(SDLPRNDL*) SIXTH { + if (SDLPRNDL_SIXTH == nil) { + SDLPRNDL_SIXTH = [[SDLPRNDL alloc] initWithValue:@"SIXTH"]; + } + return SDLPRNDL_SIXTH; +} + ++(SDLPRNDL*) SEVENTH { + if (SDLPRNDL_SEVENTH == nil) { + SDLPRNDL_SEVENTH = [[SDLPRNDL alloc] initWithValue:@"SEVENTH"]; + } + return SDLPRNDL_SEVENTH; +} + ++(SDLPRNDL*) EIGHTH { + if (SDLPRNDL_EIGHTH == nil) { + SDLPRNDL_EIGHTH = [[SDLPRNDL alloc] initWithValue:@"EIGHTH"]; + } + return SDLPRNDL_EIGHTH; +} + ++(SDLPRNDL*) UNKNOWN { + if (SDLPRNDL_UNKNOWN == nil) { + SDLPRNDL_UNKNOWN = [[SDLPRNDL alloc] initWithValue:@"UNKNOWN"]; + } + return SDLPRNDL_UNKNOWN; +} + ++(SDLPRNDL*) FAULT { + if (SDLPRNDL_FAULT == nil) { + SDLPRNDL_FAULT = [[SDLPRNDL alloc] initWithValue:@"FAULT"]; + } + return SDLPRNDL_FAULT; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLParameterPermissions.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLParameterPermissions.h new file mode 100644 index 000000000..8bf5a6046 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLParameterPermissions.h @@ -0,0 +1,16 @@ +// SDLParameterPermissions.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +@interface SDLParameterPermissions : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSMutableArray* allowed; +@property(strong) NSMutableArray* userDisallowed; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLParameterPermissions.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLParameterPermissions.m new file mode 100644 index 000000000..ab934deb7 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLParameterPermissions.m @@ -0,0 +1,45 @@ +// SDLParameterPermissions.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLParameterPermissions.h" + +#import "SDLNames.h" + +@implementation SDLParameterPermissions + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setAllowed:(NSMutableArray*) allowed { + if (allowed != nil) { + [store setObject:allowed forKey:NAMES_allowed]; + } else { + [store removeObjectForKey:NAMES_allowed]; + } +} + +-(NSMutableArray*) allowed { + return [store objectForKey:NAMES_allowed]; +} + +-(void) setUserDisallowed:(NSMutableArray*) userDisallowed { + if (userDisallowed != nil) { + [store setObject:userDisallowed forKey:NAMES_userDisallowed]; + } else { + [store removeObjectForKey:NAMES_userDisallowed]; + } +} + +-(NSMutableArray*) userDisallowed { + return [store objectForKey:NAMES_userDisallowed]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThru.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThru.h new file mode 100644 index 000000000..1329bd9a8 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThru.h @@ -0,0 +1,26 @@ +// SDLPerformAudioPassThru.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +#import "SDLSamplingRate.h" +#import "SDLBitsPerSample.h" +#import "SDLAudioType.h" + +@interface SDLPerformAudioPassThru : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSMutableArray* initialPrompt; +@property(strong) NSString* audioPassThruDisplayText1; +@property(strong) NSString* audioPassThruDisplayText2; +@property(strong) SDLSamplingRate* samplingRate; +@property(strong) NSNumber* maxDuration; +@property(strong) SDLBitsPerSample* bitsPerSample; +@property(strong) SDLAudioType* audioType; +@property(strong) NSNumber* muteAudio; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThru.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThru.m new file mode 100644 index 000000000..21f9cee62 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThru.m @@ -0,0 +1,142 @@ +// SDLPerformAudioPassThru.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLPerformAudioPassThru.h" + +#import "SDLNames.h" +#import "SDLTTSChunk.h" + +@implementation SDLPerformAudioPassThru + +-(id) init { + if (self = [super initWithName:NAMES_PerformAudioPassThru]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setInitialPrompt:(NSMutableArray*) initialPrompt { + if (initialPrompt != nil) { + [parameters setObject:initialPrompt forKey:NAMES_initialPrompt]; + } else { + [parameters removeObjectForKey:NAMES_initialPrompt]; + } +} + +-(NSMutableArray*) initialPrompt { + NSMutableArray* array = [parameters objectForKey:NAMES_initialPrompt]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLTTSChunk.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSDictionary* dict in array) { + [newList addObject:[[SDLTTSChunk alloc] initWithDictionary:(NSMutableDictionary*)dict]]; + } + return newList; + } +} + +-(void) setAudioPassThruDisplayText1:(NSString*) audioPassThruDisplayText1 { + if (audioPassThruDisplayText1 != nil) { + [parameters setObject:audioPassThruDisplayText1 forKey:NAMES_audioPassThruDisplayText1]; + } else { + [parameters removeObjectForKey:NAMES_audioPassThruDisplayText1]; + } +} + +-(NSString*) audioPassThruDisplayText1 { + return [parameters objectForKey:NAMES_audioPassThruDisplayText1]; +} + +-(void) setAudioPassThruDisplayText2:(NSString*) audioPassThruDisplayText2 { + if (audioPassThruDisplayText2 != nil) { + [parameters setObject:audioPassThruDisplayText2 forKey:NAMES_audioPassThruDisplayText2]; + } else { + [parameters removeObjectForKey:NAMES_audioPassThruDisplayText2]; + } +} + +-(NSString*) audioPassThruDisplayText2 { + return [parameters objectForKey:NAMES_audioPassThruDisplayText2]; +} + +-(void) setSamplingRate:(SDLSamplingRate*) samplingRate { + if (samplingRate != nil) { + [parameters setObject:samplingRate forKey:NAMES_samplingRate]; + } else { + [parameters removeObjectForKey:NAMES_samplingRate]; + } +} + +-(SDLSamplingRate*) samplingRate { + NSObject* obj = [parameters objectForKey:NAMES_samplingRate]; + if ([obj isKindOfClass:SDLSamplingRate.class]) { + return (SDLSamplingRate*)obj; + } else { + return [SDLSamplingRate valueOf:(NSString*)obj]; + } +} + +-(void) setMaxDuration:(NSNumber*) maxDuration { + if (maxDuration != nil) { + [parameters setObject:maxDuration forKey:NAMES_maxDuration]; + } else { + [parameters removeObjectForKey:NAMES_maxDuration]; + } +} + +-(NSNumber*) maxDuration { + return [parameters objectForKey:NAMES_maxDuration]; +} + +-(void) setBitsPerSample:(SDLBitsPerSample*) bitsPerSample { + if (bitsPerSample != nil) { + [parameters setObject:bitsPerSample forKey:NAMES_bitsPerSample]; + } else { + [parameters removeObjectForKey:NAMES_bitsPerSample]; + } +} + +-(SDLBitsPerSample*) bitsPerSample { + NSObject* obj = [parameters objectForKey:NAMES_bitsPerSample]; + if ([obj isKindOfClass:SDLBitsPerSample.class]) { + return (SDLBitsPerSample*)obj; + } else { + return [SDLBitsPerSample valueOf:(NSString*)obj]; + } +} + +-(void) setAudioType:(SDLAudioType*) audioType { + if (audioType != nil) { + [parameters setObject:audioType forKey:NAMES_audioType]; + } else { + [parameters removeObjectForKey:NAMES_audioType]; + } +} + +-(SDLAudioType*) audioType { + NSObject* obj = [parameters objectForKey:NAMES_audioType]; + if ([obj isKindOfClass:SDLAudioType.class]) { + return (SDLAudioType*)obj; + } else { + return [SDLAudioType valueOf:(NSString*)obj]; + } +} + +-(void) setMuteAudio:(NSNumber*) muteAudio { + if (muteAudio != nil) { + [parameters setObject:muteAudio forKey:NAMES_muteAudio]; + } else { + [parameters removeObjectForKey:NAMES_muteAudio]; + } +} + +-(NSNumber*) muteAudio { + return [parameters objectForKey:NAMES_muteAudio]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThruResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThruResponse.h new file mode 100644 index 000000000..fb1a733c0 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThruResponse.h @@ -0,0 +1,13 @@ +// SDLPerformAudioPassThruResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLPerformAudioPassThruResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThruResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThruResponse.m new file mode 100644 index 000000000..73036a19f --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThruResponse.m @@ -0,0 +1,21 @@ +// SDLPerformAudioPassThruResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLPerformAudioPassThruResponse.h" + +#import "SDLNames.h" + +@implementation SDLPerformAudioPassThruResponse + +-(id) init { + if (self = [super initWithName:NAMES_PerformAudioPassThru]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteraction.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteraction.h new file mode 100644 index 000000000..4236eb9d4 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteraction.h @@ -0,0 +1,26 @@ +// SDLPerformInteraction.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +#import "SDLInteractionMode.h" +#import "SDLLayoutMode.h" + +@interface SDLPerformInteraction : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSString* initialText; +@property(strong) NSMutableArray* initialPrompt; +@property(strong) SDLInteractionMode* interactionMode; +@property(strong) NSMutableArray* interactionChoiceSetIDList; +@property(strong) NSMutableArray* helpPrompt; +@property(strong) NSMutableArray* timeoutPrompt; +@property(strong) NSNumber* timeout; +@property(strong) NSMutableArray* vrHelp; +@property(strong) SDLLayoutMode* interactionLayout; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteraction.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteraction.m new file mode 100644 index 000000000..ff26b38b9 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteraction.m @@ -0,0 +1,177 @@ +// SDLPerformInteraction.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLPerformInteraction.h" + +#import "SDLNames.h" +#import "SDLTTSChunk.h" +#import "SDLVrHelpItem.h" + +@implementation SDLPerformInteraction + +-(id) init { + if (self = [super initWithName:NAMES_PerformInteraction]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setInitialText:(NSString*) initialText { + if (initialText != nil) { + [parameters setObject:initialText forKey:NAMES_initialText]; + } else { + [parameters removeObjectForKey:NAMES_initialText]; + } +} + +-(NSString*) initialText { + return [parameters objectForKey:NAMES_initialText]; +} + +-(void) setInitialPrompt:(NSMutableArray*) initialPrompt { + if (initialPrompt != nil) { + [parameters setObject:initialPrompt forKey:NAMES_initialPrompt]; + } else { + [parameters removeObjectForKey:NAMES_initialPrompt]; + } +} + +-(NSMutableArray*) initialPrompt { + NSMutableArray* array = [parameters objectForKey:NAMES_initialPrompt]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLTTSChunk.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSDictionary* dict in array) { + [newList addObject:[[SDLTTSChunk alloc] initWithDictionary:(NSMutableDictionary*)dict]]; + } + return newList; + } +} + +-(void) setInteractionMode:(SDLInteractionMode*) interactionMode { + if (interactionMode != nil) { + [parameters setObject:interactionMode forKey:NAMES_interactionMode]; + } else { + [parameters removeObjectForKey:NAMES_interactionMode]; + } +} + +-(SDLInteractionMode*) interactionMode { + NSObject* obj = [parameters objectForKey:NAMES_interactionMode]; + if ([obj isKindOfClass:SDLInteractionMode.class]) { + return (SDLInteractionMode*)obj; + } else { + return [SDLInteractionMode valueOf:(NSString*)obj]; + } +} + +-(void) setInteractionChoiceSetIDList:(NSMutableArray*) interactionChoiceSetIDList { + if (interactionChoiceSetIDList != nil) { + [parameters setObject:interactionChoiceSetIDList forKey:NAMES_interactionChoiceSetIDList]; + } else { + [parameters removeObjectForKey:NAMES_interactionChoiceSetIDList]; + } +} + +-(NSMutableArray*) interactionChoiceSetIDList { + return [parameters objectForKey:NAMES_interactionChoiceSetIDList]; +} + +-(void) setHelpPrompt:(NSMutableArray*) helpPrompt { + if (helpPrompt != nil) { + [parameters setObject:helpPrompt forKey:NAMES_helpPrompt]; + } else { + [parameters removeObjectForKey:NAMES_helpPrompt]; + } +} + +-(NSMutableArray*) helpPrompt { + NSMutableArray* array = [parameters objectForKey:NAMES_helpPrompt]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLTTSChunk.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSDictionary* dict in array) { + [newList addObject:[[SDLTTSChunk alloc] initWithDictionary:(NSMutableDictionary*)dict]]; + } + return newList; + } +} + +-(void) setTimeoutPrompt:(NSMutableArray*) timeoutPrompt { + if (timeoutPrompt != nil) { + [parameters setObject:timeoutPrompt forKey:NAMES_timeoutPrompt]; + } else { + [parameters removeObjectForKey:NAMES_timeoutPrompt]; + } +} + +-(NSMutableArray*) timeoutPrompt { + NSMutableArray* array = [parameters objectForKey:NAMES_timeoutPrompt]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLTTSChunk.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSDictionary* dict in array) { + [newList addObject:[[SDLTTSChunk alloc] initWithDictionary:(NSMutableDictionary*)dict]]; + } + return newList; + } +} + +-(void) setTimeout:(NSNumber*) timeout { + if (timeout != nil) { + [parameters setObject:timeout forKey:NAMES_timeout]; + } else { + [parameters removeObjectForKey:NAMES_timeout]; + } +} + +-(NSNumber*) timeout { + return [parameters objectForKey:NAMES_timeout]; +} + +-(void) setVrHelp:(NSMutableArray*) vrHelp { + if (vrHelp != nil) { + [parameters setObject:vrHelp forKey:NAMES_vrHelp]; + } else { + [parameters removeObjectForKey:NAMES_vrHelp]; + } +} + +-(NSMutableArray*) vrHelp { + NSMutableArray* array = [parameters objectForKey:NAMES_vrHelp]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLVrHelpItem.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSDictionary* dict in array) { + [newList addObject:[[SDLVrHelpItem alloc] initWithDictionary:(NSMutableDictionary*)dict]]; + } + return newList; + } +} + +-(void) setInteractionLayout:(SDLLayoutMode*) interactionLayout { + if (interactionLayout != nil) { + [parameters setObject:interactionLayout forKey:NAMES_interactionLayout]; + } else { + [parameters removeObjectForKey:NAMES_interactionLayout]; + } +} + +-(SDLLayoutMode*) interactionLayout { + NSObject* obj = [parameters objectForKey:NAMES_interactionLayout]; + if ([obj isKindOfClass:SDLLayoutMode.class]) { + return (SDLLayoutMode*)obj; + } else { + return [SDLLayoutMode valueOf:(NSString*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteractionResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteractionResponse.h new file mode 100644 index 000000000..abfa1569d --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteractionResponse.h @@ -0,0 +1,19 @@ +// SDLPerformInteractionResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +#import "SDLTriggerSource.h" + +@interface SDLPerformInteractionResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* choiceID; +@property(strong) NSString* manualTextEntry; +@property(strong) SDLTriggerSource* triggerSource; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteractionResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteractionResponse.m new file mode 100644 index 000000000..a6c772a6b --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteractionResponse.m @@ -0,0 +1,62 @@ +// SDLPerformInteractionResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLPerformInteractionResponse.h" + +#import "SDLNames.h" + +@implementation SDLPerformInteractionResponse + +-(id) init { + if (self = [super initWithName:NAMES_PerformInteraction]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setChoiceID:(NSNumber*) choiceID { + if (choiceID != nil) { + [parameters setObject:choiceID forKey:NAMES_choiceID]; + } else { + [parameters removeObjectForKey:NAMES_choiceID]; + } +} + +-(NSNumber*) choiceID { + return [parameters objectForKey:NAMES_choiceID]; +} + +-(void) setManualTextEntry:(NSString*) manualTextEntry { + if (manualTextEntry != nil) { + [parameters setObject:manualTextEntry forKey:NAMES_manualTextEntry]; + } else { + [parameters removeObjectForKey:NAMES_manualTextEntry]; + } +} + +-(NSString*) manualTextEntry { + return [parameters objectForKey:NAMES_manualTextEntry]; +} + +-(void) setTriggerSource:(SDLTriggerSource*) triggerSource { + if (triggerSource != nil) { + [parameters setObject:triggerSource forKey:NAMES_triggerSource]; + } else { + [parameters removeObjectForKey:NAMES_triggerSource]; + } +} + +-(SDLTriggerSource*) triggerSource { + NSObject* obj = [parameters objectForKey:NAMES_triggerSource]; + if ([obj isKindOfClass:SDLTriggerSource.class]) { + return (SDLTriggerSource*)obj; + } else { + return [SDLTriggerSource valueOf:(NSString*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionItem.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionItem.h new file mode 100644 index 000000000..d07b5bce4 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionItem.h @@ -0,0 +1,20 @@ +// SDLPermissionItem.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +#import "SDLHMIPermissions.h" +#import "SDLParameterPermissions.h" + +@interface SDLPermissionItem : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSString* rpcName; +@property(strong) SDLHMIPermissions* hmiPermissions; +@property(strong) SDLParameterPermissions* parameterPermissions; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionItem.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionItem.m new file mode 100644 index 000000000..9aeb7d129 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionItem.m @@ -0,0 +1,67 @@ +// SDLPermissionItem.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLPermissionItem.h" + +#import "SDLNames.h" + +@implementation SDLPermissionItem + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setRpcName:(NSString*) rpcName { + if (rpcName != nil) { + [store setObject:rpcName forKey:NAMES_rpcName]; + } else { + [store removeObjectForKey:NAMES_rpcName]; + } +} + +-(NSString*) rpcName { + return [store objectForKey:NAMES_rpcName]; +} + +-(void) setHmiPermissions:(SDLHMIPermissions*) hmiPermissions { + if (hmiPermissions != nil) { + [store setObject:hmiPermissions forKey:NAMES_hmiPermissions]; + } else { + [store removeObjectForKey:NAMES_hmiPermissions]; + } +} + +-(SDLHMIPermissions*) hmiPermissions { + NSObject* obj = [store objectForKey:NAMES_hmiPermissions]; + if ([obj isKindOfClass:SDLHMIPermissions.class]) { + return (SDLHMIPermissions*)obj; + } else { + return [[SDLHMIPermissions alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setParameterPermissions:(SDLParameterPermissions*) parameterPermissions { + if (parameterPermissions != nil) { + [store setObject:parameterPermissions forKey:NAMES_parameterPermissions]; + } else { + [store removeObjectForKey:NAMES_parameterPermissions]; + } +} + +-(SDLParameterPermissions*) parameterPermissions { + NSObject* obj = [store objectForKey:NAMES_parameterPermissions]; + if ([obj isKindOfClass:SDLParameterPermissions.class]) { + return (SDLParameterPermissions*)obj; + } else { + return [[SDLParameterPermissions alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionStatus.h new file mode 100644 index 000000000..7c8155a06 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionStatus.h @@ -0,0 +1,18 @@ +// SDLPermissionStatus.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLPermissionStatus : SDLEnum {} + ++(SDLPermissionStatus*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLPermissionStatus*) ALLOWED; ++(SDLPermissionStatus*) DISALLOWED; ++(SDLPermissionStatus*) USER_DISALLOWED; ++(SDLPermissionStatus*) USER_CONSENT_PENDING; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionStatus.m new file mode 100644 index 000000000..edf6f85bb --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionStatus.m @@ -0,0 +1,65 @@ +// SDLPermissionStatus.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLPermissionStatus.h" + +SDLPermissionStatus* SDLPermissionStatus_ALLOWED = nil; +SDLPermissionStatus* SDLPermissionStatus_DISALLOWED = nil; +SDLPermissionStatus* SDLPermissionStatus_USER_DISALLOWED = nil; +SDLPermissionStatus* SDLPermissionStatus_USER_CONSENT_PENDING = nil; + +NSMutableArray* SDLPermissionStatus_values = nil; + +@implementation SDLPermissionStatus + ++(SDLPermissionStatus*) valueOf:(NSString*) value { + for (SDLPermissionStatus* item in SDLPermissionStatus.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLPermissionStatus_values == nil) { + SDLPermissionStatus_values = [[NSMutableArray alloc] initWithObjects: + SDLPermissionStatus.ALLOWED, + SDLPermissionStatus.DISALLOWED, + SDLPermissionStatus.USER_DISALLOWED, + SDLPermissionStatus.USER_CONSENT_PENDING, + nil]; + } + return SDLPermissionStatus_values; +} + ++(SDLPermissionStatus*) ALLOWED { + if (SDLPermissionStatus_ALLOWED == nil) { + SDLPermissionStatus_ALLOWED = [[SDLPermissionStatus alloc] initWithValue:@"ALLOWED"]; + } + return SDLPermissionStatus_ALLOWED; +} + ++(SDLPermissionStatus*) DISALLOWED { + if (SDLPermissionStatus_DISALLOWED == nil) { + SDLPermissionStatus_DISALLOWED = [[SDLPermissionStatus alloc] initWithValue:@"DISALLOWED"]; + } + return SDLPermissionStatus_DISALLOWED; +} + ++(SDLPermissionStatus*) USER_DISALLOWED { + if (SDLPermissionStatus_USER_DISALLOWED == nil) { + SDLPermissionStatus_USER_DISALLOWED = [[SDLPermissionStatus alloc] initWithValue:@"USER_DISALLOWED"]; + } + return SDLPermissionStatus_USER_DISALLOWED; +} + ++(SDLPermissionStatus*) USER_CONSENT_PENDING { + if (SDLPermissionStatus_USER_CONSENT_PENDING == nil) { + SDLPermissionStatus_USER_CONSENT_PENDING = [[SDLPermissionStatus alloc] initWithValue:@"USER_CONSENT_PENDING"]; + } + return SDLPermissionStatus_USER_CONSENT_PENDING; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPolicyDataParser.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPolicyDataParser.h new file mode 100644 index 000000000..f29ed812c --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPolicyDataParser.h @@ -0,0 +1,31 @@ +// +// PolicyDataParser.h +// + +@import Foundation; + +@interface SDLPolicyDataParser : NSObject + +@property (assign) Byte protocolVersion; +@property (assign) BOOL isResponseRequired; +@property (assign) BOOL isHighBandwidth; +@property (assign) BOOL isSigned; +@property (assign) BOOL isEncrypted; +@property (assign) BOOL hasESN; +@property (assign) Byte serviceType; +@property (assign) Byte commandType; +@property (assign) BOOL CPUDestination; +@property (assign) Byte encryptionKeyIndex; +@property (assign) UInt32 payloadSize; +@property (strong) NSData *ESN; +@property (assign) UInt32 moduleMessageId; +@property (assign) UInt32 serverMessageId; +@property (assign) Byte messageStatus; +@property (strong) NSData *initializationVector; +@property (strong) NSData *payload; +@property (strong) NSData *signatureTag; + +- (NSData *)unwrap:(NSData *)wrappedData; +- (void)parsePolicyData:(NSData *)data; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPolicyDataParser.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPolicyDataParser.m new file mode 100644 index 000000000..e25818d5a --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPolicyDataParser.m @@ -0,0 +1,125 @@ +// +// PolicyDataParser.m +// + +#import "SDLPolicyDataParser.h" + + +@implementation SDLPolicyDataParser + +- (NSData *)unwrap:(NSData *)wrappedData { + + NSData *decodedData = nil; + + @try { + NSError *errorJSONSerialization = nil; + NSDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:wrappedData options:kNilOptions error:&errorJSONSerialization]; + NSArray *array = dictionary[@"data"]; + NSString *base64EncodedString = array[0]; + decodedData = [[NSData alloc] initWithBase64EncodedString:base64EncodedString options:0]; + } + @catch (NSException *exception) { + decodedData = nil; + NSLog(@"Error in PolicyDataParser::unwrap()"); + } + + return decodedData; + +} + +- (void)parsePolicyData:(NSData *)data { + @try { + + Byte *bytes = (Byte*)data.bytes; + + Byte firstByte = bytes[0]; + self.protocolVersion = (firstByte & 0b11100000) >> 5; + self.isResponseRequired = (firstByte & 0b00010000) != 0; + self.isHighBandwidth = (firstByte & 0b00001000) != 0; + self.isSigned = (firstByte & 0b00000100) != 0; + self.isEncrypted = (firstByte & 0b00000010) != 0; + self.hasESN = (firstByte & 0b00000001) != 0; + + self.serviceType = bytes[1]; + + Byte thirdByte = bytes[2]; + self.commandType = (thirdByte & 0b11110000) >> 4; + self.CPUDestination = (thirdByte & 0b00001000) != 0; + self.encryptionKeyIndex = (thirdByte & 0b00000111); + + const int payloadSizeOffset = 3; + if (self.isHighBandwidth) { + self.payloadSize = ntohl(*(UInt32*)(bytes+payloadSizeOffset)); + } else { + self.payloadSize = ntohs(*(UInt16*)(bytes+payloadSizeOffset)); + } + + if (self.hasESN) { + int esnOffset = self.isHighBandwidth?7:5; + self.ESN = [NSData dataWithBytes:(bytes+esnOffset) length:8]; + } + + if (self.isHighBandwidth) { + int moduleMessageIdOffset = 7; + if (self.hasESN) moduleMessageIdOffset += self.ESN.length; + self.moduleMessageId = ntohl(*(UInt32*)(bytes+moduleMessageIdOffset)); + + int serverMessageIdOffset = 11; + if (self.hasESN) serverMessageIdOffset += self.ESN.length; + self.serverMessageId = ntohl(*(UInt32*)(bytes+serverMessageIdOffset)); + + int messageStatusOffset = 15; + if (self.hasESN) messageStatusOffset += self.ESN.length; + self.messageStatus = bytes[messageStatusOffset]; + } + + if (self.isEncrypted) { + int ivOffset = 5; + if (self.isHighBandwidth) ivOffset += 11; + if (self.hasESN) ivOffset += self.ESN.length; + self.initializationVector = [NSData dataWithBytes:(bytes+ivOffset) length:16]; + } + + int payloadOffset = 5; + if (self.isHighBandwidth) payloadOffset += 11; + if (self.hasESN) payloadOffset += self.ESN.length; + if (self.isEncrypted) payloadOffset += self.initializationVector.length; + self.payload = [NSData dataWithBytes:(bytes+payloadOffset) length:self.payloadSize]; + + if (self.isSigned) { + int signatureTagOffset = (int)data.length - 16; + self.signatureTag = [NSData dataWithBytes:(bytes+signatureTagOffset) length:16]; + } + + } + @catch (NSException *exception) { + NSLog(@"Error in PolicyDataParser::parsePolicyData()"); + } + +} + +- (NSString *)description { + + NSString *esnString = [[NSString alloc] initWithData:self.ESN encoding:NSUTF8StringEncoding]; + + NSMutableString *descriptionString = [NSMutableString stringWithFormat:@"Ver:%u; ", self.protocolVersion]; + [descriptionString appendFormat:@"RespReq:%u; ", self.isResponseRequired]; + [descriptionString appendFormat:@"HiBnd:%u; ", self.isHighBandwidth]; + [descriptionString appendFormat:@"Sign:%u; ", self.isSigned]; + [descriptionString appendFormat:@"Enc:%u; ", self.isEncrypted]; + [descriptionString appendFormat:@"HasESN:%u; ", self.hasESN]; + [descriptionString appendFormat:@"Svc:%u; ", self.serviceType]; + [descriptionString appendFormat:@"Cmd:%u; ", self.commandType]; + [descriptionString appendFormat:@"CPU:%u; ", self.CPUDestination]; + [descriptionString appendFormat:@"EncKey:%u; ", self.encryptionKeyIndex]; + [descriptionString appendFormat:@"sz:%u; ", (unsigned int)self.payloadSize]; + [descriptionString appendFormat:@"ESN:%@; ", esnString]; + [descriptionString appendFormat:@"mmid:%u; ", (unsigned int)self.moduleMessageId]; + [descriptionString appendFormat:@"smid:%u; ", (unsigned int)self.serverMessageId]; + [descriptionString appendFormat:@"status:%u; ", self.messageStatus]; + [descriptionString appendFormat:@"iv:%@; ", self.initializationVector]; + [descriptionString appendFormat:@"hmac:%@", self.signatureTag]; + return descriptionString; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeQualificationStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeQualificationStatus.h new file mode 100644 index 000000000..be3ca43a7 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeQualificationStatus.h @@ -0,0 +1,18 @@ +// SDLPowerModeQualificationStatus.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLPowerModeQualificationStatus : SDLEnum {} + ++(SDLPowerModeQualificationStatus*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLPowerModeQualificationStatus*) POWER_MODE_UNDEFINED; ++(SDLPowerModeQualificationStatus*) POWER_MODE_EVALUATION_IN_PROGRESS; ++(SDLPowerModeQualificationStatus*) NOT_DEFINED; ++(SDLPowerModeQualificationStatus*) POWER_MODE_OK; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeQualificationStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeQualificationStatus.m new file mode 100644 index 000000000..a810415ab --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeQualificationStatus.m @@ -0,0 +1,65 @@ +// SDLPowerModeQualificationStatus.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLPowerModeQualificationStatus.h" + +SDLPowerModeQualificationStatus* SDLPowerModeQualificationStatus_POWER_MODE_UNDEFINED = nil; +SDLPowerModeQualificationStatus* SDLPowerModeQualificationStatus_POWER_MODE_EVALUATION_IN_PROGRESS = nil; +SDLPowerModeQualificationStatus* SDLPowerModeQualificationStatus_NOT_DEFINED = nil; +SDLPowerModeQualificationStatus* SDLPowerModeQualificationStatus_POWER_MODE_OK = nil; + +NSMutableArray* SDLPowerModeQualificationStatus_values = nil; + +@implementation SDLPowerModeQualificationStatus + ++(SDLPowerModeQualificationStatus*) valueOf:(NSString*) value { + for (SDLPowerModeQualificationStatus* item in SDLPowerModeQualificationStatus.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLPowerModeQualificationStatus_values == nil) { + SDLPowerModeQualificationStatus_values = [[NSMutableArray alloc] initWithObjects: + SDLPowerModeQualificationStatus.POWER_MODE_UNDEFINED, + SDLPowerModeQualificationStatus.POWER_MODE_EVALUATION_IN_PROGRESS, + SDLPowerModeQualificationStatus.NOT_DEFINED, + SDLPowerModeQualificationStatus.POWER_MODE_OK, + nil]; + } + return SDLPowerModeQualificationStatus_values; +} + ++(SDLPowerModeQualificationStatus*) POWER_MODE_UNDEFINED { + if (SDLPowerModeQualificationStatus_POWER_MODE_UNDEFINED == nil) { + SDLPowerModeQualificationStatus_POWER_MODE_UNDEFINED = [[SDLPowerModeQualificationStatus alloc] initWithValue:@"POWER_MODE_UNDEFINED"]; + } + return SDLPowerModeQualificationStatus_POWER_MODE_UNDEFINED; +} + ++(SDLPowerModeQualificationStatus*) POWER_MODE_EVALUATION_IN_PROGRESS { + if (SDLPowerModeQualificationStatus_POWER_MODE_EVALUATION_IN_PROGRESS == nil) { + SDLPowerModeQualificationStatus_POWER_MODE_EVALUATION_IN_PROGRESS = [[SDLPowerModeQualificationStatus alloc] initWithValue:@"POWER_MODE_EVALUATION_IN_PROGRESS"]; + } + return SDLPowerModeQualificationStatus_POWER_MODE_EVALUATION_IN_PROGRESS; +} + ++(SDLPowerModeQualificationStatus*) NOT_DEFINED { + if (SDLPowerModeQualificationStatus_NOT_DEFINED == nil) { + SDLPowerModeQualificationStatus_NOT_DEFINED = [[SDLPowerModeQualificationStatus alloc] initWithValue:@"NOT_DEFINED"]; + } + return SDLPowerModeQualificationStatus_NOT_DEFINED; +} + ++(SDLPowerModeQualificationStatus*) POWER_MODE_OK { + if (SDLPowerModeQualificationStatus_POWER_MODE_OK == nil) { + SDLPowerModeQualificationStatus_POWER_MODE_OK = [[SDLPowerModeQualificationStatus alloc] initWithValue:@"POWER_MODE_OK"]; + } + return SDLPowerModeQualificationStatus_POWER_MODE_OK; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeStatus.h new file mode 100644 index 000000000..9f587531a --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeStatus.h @@ -0,0 +1,23 @@ +// SDLPowerModeStatus.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLPowerModeStatus : SDLEnum {} + ++(SDLPowerModeStatus*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLPowerModeStatus*) KEY_OUT; ++(SDLPowerModeStatus*) KEY_RECENTLY_OUT; ++(SDLPowerModeStatus*) KEY_APPROVED_0; ++(SDLPowerModeStatus*) POST_ACCESORY_0; ++(SDLPowerModeStatus*) ACCESORY_1; ++(SDLPowerModeStatus*) POST_IGNITION_1; ++(SDLPowerModeStatus*) IGNITION_ON_2; ++(SDLPowerModeStatus*) RUNNING_2; ++(SDLPowerModeStatus*) CRANK_3; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeStatus.m new file mode 100644 index 000000000..9c6a61fd4 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeStatus.m @@ -0,0 +1,110 @@ +// SDLPowerModeStatus.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLPowerModeStatus.h" + +SDLPowerModeStatus* SDLPowerModeStatus_KEY_OUT = nil; +SDLPowerModeStatus* SDLPowerModeStatus_KEY_RECENTLY_OUT = nil; +SDLPowerModeStatus* SDLPowerModeStatus_KEY_APPROVED_0 = nil; +SDLPowerModeStatus* SDLPowerModeStatus_POST_ACCESORY_0 = nil; +SDLPowerModeStatus* SDLPowerModeStatus_ACCESORY_1 = nil; +SDLPowerModeStatus* SDLPowerModeStatus_POST_IGNITION_1 = nil; +SDLPowerModeStatus* SDLPowerModeStatus_IGNITION_ON_2 = nil; +SDLPowerModeStatus* SDLPowerModeStatus_RUNNING_2 = nil; +SDLPowerModeStatus* SDLPowerModeStatus_CRANK_3 = nil; + +NSMutableArray* SDLPowerModeStatus_values = nil; + +@implementation SDLPowerModeStatus + ++(SDLPowerModeStatus*) valueOf:(NSString*) value { + for (SDLPowerModeStatus* item in SDLPowerModeStatus.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLPowerModeStatus_values == nil) { + SDLPowerModeStatus_values = [[NSMutableArray alloc] initWithObjects: + SDLPowerModeStatus.KEY_OUT, + SDLPowerModeStatus.KEY_RECENTLY_OUT, + SDLPowerModeStatus.KEY_APPROVED_0, + SDLPowerModeStatus.POST_ACCESORY_0, + SDLPowerModeStatus.ACCESORY_1, + SDLPowerModeStatus.POST_IGNITION_1, + SDLPowerModeStatus.IGNITION_ON_2, + SDLPowerModeStatus.RUNNING_2, + SDLPowerModeStatus.CRANK_3, + nil]; + } + return SDLPowerModeStatus_values; +} + ++(SDLPowerModeStatus*) KEY_OUT { + if (SDLPowerModeStatus_KEY_OUT == nil) { + SDLPowerModeStatus_KEY_OUT = [[SDLPowerModeStatus alloc] initWithValue:@"KEY_OUT"]; + } + return SDLPowerModeStatus_KEY_OUT; +} + ++(SDLPowerModeStatus*) KEY_RECENTLY_OUT { + if (SDLPowerModeStatus_KEY_RECENTLY_OUT == nil) { + SDLPowerModeStatus_KEY_RECENTLY_OUT = [[SDLPowerModeStatus alloc] initWithValue:@"KEY_RECENTLY_OUT"]; + } + return SDLPowerModeStatus_KEY_RECENTLY_OUT; +} + ++(SDLPowerModeStatus*) KEY_APPROVED_0 { + if (SDLPowerModeStatus_KEY_APPROVED_0 == nil) { + SDLPowerModeStatus_KEY_APPROVED_0 = [[SDLPowerModeStatus alloc] initWithValue:@"KEY_APPROVED_0"]; + } + return SDLPowerModeStatus_KEY_APPROVED_0; +} + ++(SDLPowerModeStatus*) POST_ACCESORY_0 { + if (SDLPowerModeStatus_POST_ACCESORY_0 == nil) { + SDLPowerModeStatus_POST_ACCESORY_0 = [[SDLPowerModeStatus alloc] initWithValue:@"POST_ACCESORY_0"]; + } + return SDLPowerModeStatus_POST_ACCESORY_0; +} + ++(SDLPowerModeStatus*) ACCESORY_1 { + if (SDLPowerModeStatus_ACCESORY_1 == nil) { + SDLPowerModeStatus_ACCESORY_1 = [[SDLPowerModeStatus alloc] initWithValue:@"ACCESORY_1"]; + } + return SDLPowerModeStatus_ACCESORY_1; +} + ++(SDLPowerModeStatus*) POST_IGNITION_1 { + if (SDLPowerModeStatus_POST_IGNITION_1 == nil) { + SDLPowerModeStatus_POST_IGNITION_1 = [[SDLPowerModeStatus alloc] initWithValue:@"POST_IGNITION_1"]; + } + return SDLPowerModeStatus_POST_IGNITION_1; +} + ++(SDLPowerModeStatus*) IGNITION_ON_2 { + if (SDLPowerModeStatus_IGNITION_ON_2 == nil) { + SDLPowerModeStatus_IGNITION_ON_2 = [[SDLPowerModeStatus alloc] initWithValue:@"IGNITION_ON_2"]; + } + return SDLPowerModeStatus_IGNITION_ON_2; +} + ++(SDLPowerModeStatus*) RUNNING_2 { + if (SDLPowerModeStatus_RUNNING_2 == nil) { + SDLPowerModeStatus_RUNNING_2 = [[SDLPowerModeStatus alloc] initWithValue:@"RUNNING_2"]; + } + return SDLPowerModeStatus_RUNNING_2; +} + ++(SDLPowerModeStatus*) CRANK_3 { + if (SDLPowerModeStatus_CRANK_3 == nil) { + SDLPowerModeStatus_CRANK_3 = [[SDLPowerModeStatus alloc] initWithValue:@"CRANK_3"]; + } + return SDLPowerModeStatus_CRANK_3; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPredefinedLayout.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPredefinedLayout.h new file mode 100644 index 000000000..44a726a28 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPredefinedLayout.h @@ -0,0 +1,34 @@ +// SDLPredefinedLayout.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLPredefinedLayout : SDLEnum {} + ++(SDLPredefinedLayout*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLPredefinedLayout*) DEFAULT; ++(SDLPredefinedLayout*) MEDIA; ++(SDLPredefinedLayout*) NON_MEDIA; ++(SDLPredefinedLayout*) ONSCREEN_PRESETS; ++(SDLPredefinedLayout*) NAV_FULLSCREEN_MAP; ++(SDLPredefinedLayout*) NAV_LIST; ++(SDLPredefinedLayout*) NAV_KEYBOARD; ++(SDLPredefinedLayout*) GRAPHIC_WITH_TEXT; ++(SDLPredefinedLayout*) TEXT_WITH_GRAPHIC; ++(SDLPredefinedLayout*) TILES_ONLY; ++(SDLPredefinedLayout*) TEXTBUTTONS_ONLY; ++(SDLPredefinedLayout*) GRAPHIC_WITH_TILES; ++(SDLPredefinedLayout*) TILES_WITH_GRAPHIC; ++(SDLPredefinedLayout*) GRAPHIC_WITH_TEXT_AND_SOFTBUTTONS; ++(SDLPredefinedLayout*) TEXT_AND_SOFTBUTTONS_WITH_GRAPHIC; ++(SDLPredefinedLayout*) GRAPHIC_WITH_TEXTBUTTONS; ++(SDLPredefinedLayout*) TEXTBUTTONS_WITH_GRAPHIC; ++(SDLPredefinedLayout*) LARGE_GRAPHIC_WITH_SOFTBUTTONS; ++(SDLPredefinedLayout*) DOUBLE_GRAPHIC_WITH_SOFTBUTTONS; ++(SDLPredefinedLayout*) LARGE_GRAPHIC_ONLY; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPredefinedLayout.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPredefinedLayout.m new file mode 100644 index 000000000..2f6b86a08 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPredefinedLayout.m @@ -0,0 +1,209 @@ +// SDLPredefinedLayout.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLPredefinedLayout.h" + +SDLPredefinedLayout* SDLPredefinedLayout_DEFAULT = nil; +SDLPredefinedLayout* SDLPredefinedLayout_MEDIA = nil; +SDLPredefinedLayout* SDLPredefinedLayout_NON_MEDIA = nil; +SDLPredefinedLayout* SDLPredefinedLayout_ONSCREEN_PRESETS = nil; +SDLPredefinedLayout* SDLPredefinedLayout_NAV_FULLSCREEN_MAP = nil; +SDLPredefinedLayout* SDLPredefinedLayout_NAV_LIST = nil; +SDLPredefinedLayout* SDLPredefinedLayout_NAV_KEYBOARD = nil; +SDLPredefinedLayout* SDLPredefinedLayout_GRAPHIC_WITH_TEXT = nil; +SDLPredefinedLayout* SDLPredefinedLayout_TEXT_WITH_GRAPHIC = nil; +SDLPredefinedLayout* SDLPredefinedLayout_TILES_ONLY = nil; +SDLPredefinedLayout* SDLPredefinedLayout_TEXTBUTTONS_ONLY = nil; +SDLPredefinedLayout* SDLPredefinedLayout_GRAPHIC_WITH_TILES = nil; +SDLPredefinedLayout* SDLPredefinedLayout_TILES_WITH_GRAPHIC = nil; +SDLPredefinedLayout* SDLPredefinedLayout_GRAPHIC_WITH_TEXT_AND_SOFTBUTTONS = nil; +SDLPredefinedLayout* SDLPredefinedLayout_TEXT_AND_SOFTBUTTONS_WITH_GRAPHIC = nil; +SDLPredefinedLayout* SDLPredefinedLayout_GRAPHIC_WITH_TEXTBUTTONS = nil; +SDLPredefinedLayout* SDLPredefinedLayout_TEXTBUTTONS_WITH_GRAPHIC = nil; +SDLPredefinedLayout* SDLPredefinedLayout_LARGE_GRAPHIC_WITH_SOFTBUTTONS = nil; +SDLPredefinedLayout* SDLPredefinedLayout_DOUBLE_GRAPHIC_WITH_SOFTBUTTONS = nil; +SDLPredefinedLayout* SDLPredefinedLayout_LARGE_GRAPHIC_ONLY = nil; + +NSMutableArray* SDLPredefinedLayout_values = nil; + +@implementation SDLPredefinedLayout + ++(SDLPredefinedLayout*) valueOf:(NSString*) value { + for (SDLPredefinedLayout* item in SDLPredefinedLayout.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLPredefinedLayout_values == nil) { + SDLPredefinedLayout_values = [[NSMutableArray alloc] initWithObjects: + SDLPredefinedLayout.DEFAULT, + SDLPredefinedLayout.MEDIA, + SDLPredefinedLayout.NON_MEDIA, + SDLPredefinedLayout.ONSCREEN_PRESETS, + SDLPredefinedLayout.NAV_FULLSCREEN_MAP, + SDLPredefinedLayout.NAV_LIST, + SDLPredefinedLayout.NAV_KEYBOARD, + SDLPredefinedLayout.GRAPHIC_WITH_TEXT, + SDLPredefinedLayout.TEXT_WITH_GRAPHIC, + SDLPredefinedLayout.TILES_ONLY, + SDLPredefinedLayout.TEXTBUTTONS_ONLY, + SDLPredefinedLayout.GRAPHIC_WITH_TILES, + SDLPredefinedLayout.TILES_WITH_GRAPHIC, + SDLPredefinedLayout.GRAPHIC_WITH_TEXT_AND_SOFTBUTTONS, + SDLPredefinedLayout.TEXT_AND_SOFTBUTTONS_WITH_GRAPHIC, + SDLPredefinedLayout.GRAPHIC_WITH_TEXTBUTTONS, + SDLPredefinedLayout.TEXTBUTTONS_WITH_GRAPHIC, + SDLPredefinedLayout.LARGE_GRAPHIC_WITH_SOFTBUTTONS, + SDLPredefinedLayout.DOUBLE_GRAPHIC_WITH_SOFTBUTTONS, + SDLPredefinedLayout.LARGE_GRAPHIC_ONLY, + nil]; + } + return SDLPredefinedLayout_values; +} + ++(SDLPredefinedLayout*) DEFAULT { + if (SDLPredefinedLayout_DEFAULT == nil) { + SDLPredefinedLayout_DEFAULT = [[SDLPredefinedLayout alloc] initWithValue:@"DEFAULT"]; + } + return SDLPredefinedLayout_DEFAULT; +} + ++(SDLPredefinedLayout*) MEDIA { + if (SDLPredefinedLayout_MEDIA == nil) { + SDLPredefinedLayout_MEDIA = [[SDLPredefinedLayout alloc] initWithValue:@"MEDIA"]; + } + return SDLPredefinedLayout_MEDIA; +} + ++(SDLPredefinedLayout*) NON_MEDIA { + if (SDLPredefinedLayout_NON_MEDIA == nil) { + SDLPredefinedLayout_NON_MEDIA = [[SDLPredefinedLayout alloc] initWithValue:@"NON-MEDIA"]; + } + return SDLPredefinedLayout_NON_MEDIA; +} + ++(SDLPredefinedLayout*) ONSCREEN_PRESETS { + if (SDLPredefinedLayout_ONSCREEN_PRESETS == nil) { + SDLPredefinedLayout_ONSCREEN_PRESETS = [[SDLPredefinedLayout alloc] initWithValue:@"ONSCREEN_PRESETS"]; + } + return SDLPredefinedLayout_ONSCREEN_PRESETS; +} + ++(SDLPredefinedLayout*) NAV_FULLSCREEN_MAP { + if (SDLPredefinedLayout_NAV_FULLSCREEN_MAP == nil) { + SDLPredefinedLayout_NAV_FULLSCREEN_MAP = [[SDLPredefinedLayout alloc] initWithValue:@"NAV_FULLSCREEN_MAP"]; + } + return SDLPredefinedLayout_NAV_FULLSCREEN_MAP; +} + ++(SDLPredefinedLayout*) NAV_LIST { + if (SDLPredefinedLayout_NAV_LIST == nil) { + SDLPredefinedLayout_NAV_LIST = [[SDLPredefinedLayout alloc] initWithValue:@"NAV_LIST"]; + } + return SDLPredefinedLayout_NAV_LIST; +} + ++(SDLPredefinedLayout*) NAV_KEYBOARD { + if (SDLPredefinedLayout_NAV_KEYBOARD == nil) { + SDLPredefinedLayout_NAV_KEYBOARD = [[SDLPredefinedLayout alloc] initWithValue:@"NAV_KEYBOARD"]; + } + return SDLPredefinedLayout_NAV_KEYBOARD; +} + ++(SDLPredefinedLayout*) GRAPHIC_WITH_TEXT { + if (SDLPredefinedLayout_GRAPHIC_WITH_TEXT == nil) { + SDLPredefinedLayout_GRAPHIC_WITH_TEXT = [[SDLPredefinedLayout alloc] initWithValue:@"GRAPHIC_WITH_TEXT"]; + } + return SDLPredefinedLayout_GRAPHIC_WITH_TEXT; +} + ++(SDLPredefinedLayout*) TEXT_WITH_GRAPHIC { + if (SDLPredefinedLayout_TEXT_WITH_GRAPHIC == nil) { + SDLPredefinedLayout_TEXT_WITH_GRAPHIC = [[SDLPredefinedLayout alloc] initWithValue:@"TEXT_WITH_GRAPHIC"]; + } + return SDLPredefinedLayout_TEXT_WITH_GRAPHIC; +} + ++(SDLPredefinedLayout*) TILES_ONLY { + if (SDLPredefinedLayout_TILES_ONLY == nil) { + SDLPredefinedLayout_TILES_ONLY = [[SDLPredefinedLayout alloc] initWithValue:@"TILES_ONLY"]; + } + return SDLPredefinedLayout_TILES_ONLY; +} + ++(SDLPredefinedLayout*) TEXTBUTTONS_ONLY { + if (SDLPredefinedLayout_TEXTBUTTONS_ONLY == nil) { + SDLPredefinedLayout_TEXTBUTTONS_ONLY = [[SDLPredefinedLayout alloc] initWithValue:@"TEXTBUTTONS_ONLY"]; + } + return SDLPredefinedLayout_TEXTBUTTONS_ONLY; +} + ++(SDLPredefinedLayout*) GRAPHIC_WITH_TILES { + if (SDLPredefinedLayout_GRAPHIC_WITH_TILES == nil) { + SDLPredefinedLayout_GRAPHIC_WITH_TILES = [[SDLPredefinedLayout alloc] initWithValue:@"GRAPHIC_WITH_TILES"]; + } + return SDLPredefinedLayout_GRAPHIC_WITH_TILES; +} + ++(SDLPredefinedLayout*) TILES_WITH_GRAPHIC { + if (SDLPredefinedLayout_TILES_WITH_GRAPHIC == nil) { + SDLPredefinedLayout_TILES_WITH_GRAPHIC = [[SDLPredefinedLayout alloc] initWithValue:@"TILES_WITH_GRAPHIC"]; + } + return SDLPredefinedLayout_TILES_WITH_GRAPHIC; +} + ++(SDLPredefinedLayout*) GRAPHIC_WITH_TEXT_AND_SOFTBUTTONS { + if (SDLPredefinedLayout_GRAPHIC_WITH_TEXT_AND_SOFTBUTTONS == nil) { + SDLPredefinedLayout_GRAPHIC_WITH_TEXT_AND_SOFTBUTTONS = [[SDLPredefinedLayout alloc] initWithValue:@"GRAPHIC_WITH_TEXT_AND_SOFTBUTTONS"]; + } + return SDLPredefinedLayout_GRAPHIC_WITH_TEXT_AND_SOFTBUTTONS; +} + ++(SDLPredefinedLayout*) TEXT_AND_SOFTBUTTONS_WITH_GRAPHIC { + if (SDLPredefinedLayout_TEXT_AND_SOFTBUTTONS_WITH_GRAPHIC == nil) { + SDLPredefinedLayout_TEXT_AND_SOFTBUTTONS_WITH_GRAPHIC = [[SDLPredefinedLayout alloc] initWithValue:@"TEXT_AND_SOFTBUTTONS_WITH_GRAPHIC"]; + } + return SDLPredefinedLayout_TEXT_AND_SOFTBUTTONS_WITH_GRAPHIC; +} + ++(SDLPredefinedLayout*) GRAPHIC_WITH_TEXTBUTTONS { + if (SDLPredefinedLayout_GRAPHIC_WITH_TEXTBUTTONS == nil) { + SDLPredefinedLayout_GRAPHIC_WITH_TEXTBUTTONS = [[SDLPredefinedLayout alloc] initWithValue:@"GRAPHIC_WITH_TEXTBUTTONS"]; + } + return SDLPredefinedLayout_GRAPHIC_WITH_TEXTBUTTONS; +} + ++(SDLPredefinedLayout*) TEXTBUTTONS_WITH_GRAPHIC { + if (SDLPredefinedLayout_TEXTBUTTONS_WITH_GRAPHIC == nil) { + SDLPredefinedLayout_TEXTBUTTONS_WITH_GRAPHIC = [[SDLPredefinedLayout alloc] initWithValue:@"TEXTBUTTONS_WITH_GRAPHIC"]; + } + return SDLPredefinedLayout_TEXTBUTTONS_WITH_GRAPHIC; +} + ++(SDLPredefinedLayout*) LARGE_GRAPHIC_WITH_SOFTBUTTONS { + if (SDLPredefinedLayout_LARGE_GRAPHIC_WITH_SOFTBUTTONS == nil) { + SDLPredefinedLayout_LARGE_GRAPHIC_WITH_SOFTBUTTONS = [[SDLPredefinedLayout alloc] initWithValue:@"LARGE_GRAPHIC_WITH_SOFTBUTTONS"]; + } + return SDLPredefinedLayout_LARGE_GRAPHIC_WITH_SOFTBUTTONS; +} + ++(SDLPredefinedLayout*) DOUBLE_GRAPHIC_WITH_SOFTBUTTONS { + if (SDLPredefinedLayout_DOUBLE_GRAPHIC_WITH_SOFTBUTTONS == nil) { + SDLPredefinedLayout_DOUBLE_GRAPHIC_WITH_SOFTBUTTONS = [[SDLPredefinedLayout alloc] initWithValue:@"DOUBLE_GRAPHIC_WITH_SOFTBUTTONS"]; + } + return SDLPredefinedLayout_DOUBLE_GRAPHIC_WITH_SOFTBUTTONS; +} + ++(SDLPredefinedLayout*) LARGE_GRAPHIC_ONLY { + if (SDLPredefinedLayout_LARGE_GRAPHIC_ONLY == nil) { + SDLPredefinedLayout_LARGE_GRAPHIC_ONLY = [[SDLPredefinedLayout alloc] initWithValue:@"LARGE_GRAPHIC_ONLY"]; + } + return SDLPredefinedLayout_LARGE_GRAPHIC_ONLY; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrerecordedSpeech.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrerecordedSpeech.h new file mode 100644 index 000000000..efd91959e --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrerecordedSpeech.h @@ -0,0 +1,19 @@ +// SDLPrerecordedSpeech.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLPrerecordedSpeech : SDLEnum {} + ++(SDLPrerecordedSpeech*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLPrerecordedSpeech*) HELP_JINGLE; ++(SDLPrerecordedSpeech*) INITIAL_JINGLE; ++(SDLPrerecordedSpeech*) LISTEN_JINGLE; ++(SDLPrerecordedSpeech*) POSITIVE_JINGLE; ++(SDLPrerecordedSpeech*) NEGATIVE_JINGLE; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrerecordedSpeech.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrerecordedSpeech.m new file mode 100644 index 000000000..f7f4bfabd --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrerecordedSpeech.m @@ -0,0 +1,74 @@ +// SDLPrerecordedSpeech.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLPrerecordedSpeech.h" + +SDLPrerecordedSpeech* SDLPrerecordedSpeech_HELP_JINGLE = nil; +SDLPrerecordedSpeech* SDLPrerecordedSpeech_INITIAL_JINGLE = nil; +SDLPrerecordedSpeech* SDLPrerecordedSpeech_LISTEN_JINGLE = nil; +SDLPrerecordedSpeech* SDLPrerecordedSpeech_POSITIVE_JINGLE = nil; +SDLPrerecordedSpeech* SDLPrerecordedSpeech_NEGATIVE_JINGLE = nil; + +NSMutableArray* SDLPrerecordedSpeech_values = nil; + +@implementation SDLPrerecordedSpeech + ++(SDLPrerecordedSpeech*) valueOf:(NSString*) value { + for (SDLPrerecordedSpeech* item in SDLPrerecordedSpeech.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLPrerecordedSpeech_values == nil) { + SDLPrerecordedSpeech_values = [[NSMutableArray alloc] initWithObjects: + SDLPrerecordedSpeech.HELP_JINGLE, + SDLPrerecordedSpeech.INITIAL_JINGLE, + SDLPrerecordedSpeech.LISTEN_JINGLE, + SDLPrerecordedSpeech.POSITIVE_JINGLE, + SDLPrerecordedSpeech.NEGATIVE_JINGLE, + nil]; + } + return SDLPrerecordedSpeech_values; +} + ++(SDLPrerecordedSpeech*) HELP_JINGLE { + if (SDLPrerecordedSpeech_HELP_JINGLE == nil) { + SDLPrerecordedSpeech_HELP_JINGLE = [[SDLPrerecordedSpeech alloc] initWithValue:@"HELP_JINGLE"]; + } + return SDLPrerecordedSpeech_HELP_JINGLE; +} + ++(SDLPrerecordedSpeech*) INITIAL_JINGLE { + if (SDLPrerecordedSpeech_INITIAL_JINGLE == nil) { + SDLPrerecordedSpeech_INITIAL_JINGLE = [[SDLPrerecordedSpeech alloc] initWithValue:@"INITIAL_JINGLE"]; + } + return SDLPrerecordedSpeech_INITIAL_JINGLE; +} + ++(SDLPrerecordedSpeech*) LISTEN_JINGLE { + if (SDLPrerecordedSpeech_LISTEN_JINGLE == nil) { + SDLPrerecordedSpeech_LISTEN_JINGLE = [[SDLPrerecordedSpeech alloc] initWithValue:@"LISTEN_JINGLE"]; + } + return SDLPrerecordedSpeech_LISTEN_JINGLE; +} + ++(SDLPrerecordedSpeech*) POSITIVE_JINGLE { + if (SDLPrerecordedSpeech_POSITIVE_JINGLE == nil) { + SDLPrerecordedSpeech_POSITIVE_JINGLE = [[SDLPrerecordedSpeech alloc] initWithValue:@"POSITIVE_JINGLE"]; + } + return SDLPrerecordedSpeech_POSITIVE_JINGLE; +} + ++(SDLPrerecordedSpeech*) NEGATIVE_JINGLE { + if (SDLPrerecordedSpeech_NEGATIVE_JINGLE == nil) { + SDLPrerecordedSpeech_NEGATIVE_JINGLE = [[SDLPrerecordedSpeech alloc] initWithValue:@"NEGATIVE_JINGLE"]; + } + return SDLPrerecordedSpeech_NEGATIVE_JINGLE; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPresetBankCapabilities.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPresetBankCapabilities.h new file mode 100644 index 000000000..7c9078d4b --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPresetBankCapabilities.h @@ -0,0 +1,15 @@ +// SDLPresetBankCapabilities.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +@interface SDLPresetBankCapabilities : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* onScreenPresetsAvailable; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPresetBankCapabilities.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPresetBankCapabilities.m new file mode 100644 index 000000000..7475a22ca --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPresetBankCapabilities.m @@ -0,0 +1,33 @@ +// SDLPresetBankCapabilities.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLPresetBankCapabilities.h" + +#import "SDLNames.h" + +@implementation SDLPresetBankCapabilities + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setOnScreenPresetsAvailable:(NSNumber*) onScreenPresetsAvailable { + if (onScreenPresetsAvailable != nil) { + [store setObject:onScreenPresetsAvailable forKey:NAMES_onScreenPresetsAvailable]; + } else { + [store removeObjectForKey:NAMES_onScreenPresetsAvailable]; + } +} + +-(NSNumber*) onScreenPresetsAvailable { + return [store objectForKey:NAMES_onScreenPresetsAvailable]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrimaryAudioSource.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrimaryAudioSource.h new file mode 100644 index 000000000..23deff690 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrimaryAudioSource.h @@ -0,0 +1,21 @@ +// SDLPrimaryAudioSource.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLPrimaryAudioSource : SDLEnum {} + ++(SDLPrimaryAudioSource*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLPrimaryAudioSource*) NO_SOURCE_SELECTED; ++(SDLPrimaryAudioSource*) USB; ++(SDLPrimaryAudioSource*) USB2; ++(SDLPrimaryAudioSource*) BLUETOOTH_STEREO_BTST; ++(SDLPrimaryAudioSource*) LINE_IN; ++(SDLPrimaryAudioSource*) IPOD; ++(SDLPrimaryAudioSource*) MOBILE_APP; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrimaryAudioSource.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrimaryAudioSource.m new file mode 100644 index 000000000..16eb48873 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrimaryAudioSource.m @@ -0,0 +1,92 @@ +// SDLPrimaryAudioSource.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLPrimaryAudioSource.h" + +SDLPrimaryAudioSource* SDLPrimaryAudioSource_NO_SOURCE_SELECTED = nil; +SDLPrimaryAudioSource* SDLPrimaryAudioSource_USB = nil; +SDLPrimaryAudioSource* SDLPrimaryAudioSource_USB2 = nil; +SDLPrimaryAudioSource* SDLPrimaryAudioSource_BLUETOOTH_STEREO_BTST = nil; +SDLPrimaryAudioSource* SDLPrimaryAudioSource_LINE_IN = nil; +SDLPrimaryAudioSource* SDLPrimaryAudioSource_IPOD = nil; +SDLPrimaryAudioSource* SDLPrimaryAudioSource_MOBILE_APP = nil; + +NSMutableArray* SDLPrimaryAudioSource_values = nil; + +@implementation SDLPrimaryAudioSource + ++(SDLPrimaryAudioSource*) valueOf:(NSString*) value { + for (SDLPrimaryAudioSource* item in SDLPrimaryAudioSource.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLPrimaryAudioSource_values == nil) { + SDLPrimaryAudioSource_values = [[NSMutableArray alloc] initWithObjects: + SDLPrimaryAudioSource.NO_SOURCE_SELECTED, + SDLPrimaryAudioSource.USB, + SDLPrimaryAudioSource.USB2, + SDLPrimaryAudioSource.BLUETOOTH_STEREO_BTST, + SDLPrimaryAudioSource.LINE_IN, + SDLPrimaryAudioSource.IPOD, + SDLPrimaryAudioSource.MOBILE_APP, + nil]; + } + return SDLPrimaryAudioSource_values; +} + ++(SDLPrimaryAudioSource*) NO_SOURCE_SELECTED { + if (SDLPrimaryAudioSource_NO_SOURCE_SELECTED == nil) { + SDLPrimaryAudioSource_NO_SOURCE_SELECTED = [[SDLPrimaryAudioSource alloc] initWithValue:@"NO_SOURCE_SELECTED"]; + } + return SDLPrimaryAudioSource_NO_SOURCE_SELECTED; +} + ++(SDLPrimaryAudioSource*) USB { + if (SDLPrimaryAudioSource_USB == nil) { + SDLPrimaryAudioSource_USB = [[SDLPrimaryAudioSource alloc] initWithValue:@"USB"]; + } + return SDLPrimaryAudioSource_USB; +} + ++(SDLPrimaryAudioSource*) USB2 { + if (SDLPrimaryAudioSource_USB2 == nil) { + SDLPrimaryAudioSource_USB2 = [[SDLPrimaryAudioSource alloc] initWithValue:@"USB2"]; + } + return SDLPrimaryAudioSource_USB2; +} + ++(SDLPrimaryAudioSource*) BLUETOOTH_STEREO_BTST { + if (SDLPrimaryAudioSource_BLUETOOTH_STEREO_BTST == nil) { + SDLPrimaryAudioSource_BLUETOOTH_STEREO_BTST = [[SDLPrimaryAudioSource alloc] initWithValue:@"BLUETOOTH_STEREO_BTST"]; + } + return SDLPrimaryAudioSource_BLUETOOTH_STEREO_BTST; +} + ++(SDLPrimaryAudioSource*) LINE_IN { + if (SDLPrimaryAudioSource_LINE_IN == nil) { + SDLPrimaryAudioSource_LINE_IN = [[SDLPrimaryAudioSource alloc] initWithValue:@"LINE_IN"]; + } + return SDLPrimaryAudioSource_LINE_IN; +} + ++(SDLPrimaryAudioSource*) IPOD { + if (SDLPrimaryAudioSource_IPOD == nil) { + SDLPrimaryAudioSource_IPOD = [[SDLPrimaryAudioSource alloc] initWithValue:@"IPOD"]; + } + return SDLPrimaryAudioSource_IPOD; +} + ++(SDLPrimaryAudioSource*) MOBILE_APP { + if (SDLPrimaryAudioSource_MOBILE_APP == nil) { + SDLPrimaryAudioSource_MOBILE_APP = [[SDLPrimaryAudioSource alloc] initWithValue:@"MOBILE_APP"]; + } + return SDLPrimaryAudioSource_MOBILE_APP; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrioritizedObjectCollection.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrioritizedObjectCollection.h new file mode 100644 index 000000000..b3f100e1e --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrioritizedObjectCollection.h @@ -0,0 +1,13 @@ +// +// SDLPrioritizedOutputCollection.h +// SmartDeviceLink +// + +@import Foundation; + +@interface SDLPrioritizedObjectCollection : NSObject + +- (void)addObject:(id)object withPriority:(NSInteger)priority; +- (id)nextObject; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrioritizedObjectCollection.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrioritizedObjectCollection.m new file mode 100644 index 000000000..f9398fd52 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrioritizedObjectCollection.m @@ -0,0 +1,76 @@ +// +// SDLPrioritizedOutputCollection.m +// SmartDeviceLink +// + +#import "SDLPrioritizedObjectCollection.h" +#import "SDLObjectWithPriority.h" +#import "SDLDebugTool.h"//fortesting + +@interface SDLPrioritizedObjectCollection () +{ + NSMutableArray *privateArray; +} +@end + + +@implementation SDLPrioritizedObjectCollection + +- (instancetype)init +{ + self = [super init]; + if (self) { + privateArray = [NSMutableArray new]; + } + return self; +} + +- (void)addObject:(id)object withPriority:(NSInteger)priority +{ + if (object == nil || [[NSNull null] isEqual:object]) { + return; + } + + SDLObjectWithPriority *newWrapper = [SDLObjectWithPriority new]; + newWrapper.object = object; + newWrapper.priority = priority; + + @synchronized(privateArray) + { + // Find correct place to insert. + // Sorted in descending order. + BOOL lowerPriorityFound = NO; + NSInteger currentCount = privateArray.count; + for (int x = 0; x < currentCount; x++) { + SDLObjectWithPriority *o = privateArray[x]; + if (o.priority <= priority) { + lowerPriorityFound = YES; + [privateArray insertObject:newWrapper atIndex:x]; + break; + } + } + if (!lowerPriorityFound) { + [privateArray addObject:newWrapper]; + } + + } + +} + +- (id)nextObject +{ + if (privateArray.count == 0) { + return nil; + } + + SDLObjectWithPriority *obj = nil; + @synchronized(privateArray) + { + obj = (SDLObjectWithPriority *)[privateArray lastObject]; + [privateArray removeLastObject]; + } + + return obj.object; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocol.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocol.h new file mode 100644 index 000000000..165f6df8a --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocol.h @@ -0,0 +1,16 @@ +// SDLSmartDeviceLinkProtocol.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLAbstractProtocol.h" + + +@interface SDLProtocol : SDLAbstractProtocol <SDLProtocolListener> + +- (void)sendStartSessionWithType:(SDLServiceType)serviceType; +- (void)sendEndSessionWithType:(SDLServiceType)serviceType sessionID:(Byte)sessionID; +- (void)sendRPCRequest:(SDLRPCRequest *)rpcRequest; +- (void)handleBytesFromTransport:(NSData *)receivedData; +- (void)sendHeartbeat; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocol.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocol.m new file mode 100644 index 000000000..8a51702f6 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocol.m @@ -0,0 +1,283 @@ +// SDLSmartDeviceLinkProtocol.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLJsonEncoder.h" +#import "SDLFunctionID.h" + +#import "SDLRPCRequest.h" +#import "SDLProtocol.h" +#import "SDLProtocolHeader.h" +#import "SDLV2ProtocolHeader.h" +#import "SDLProtocolMessageDisassembler.h" +#import "SDLProtocolRecievedMessageRouter.h" +#import "SDLRPCPayload.h" +#import "SDLDebugTool.h" +#import "SDLPrioritizedObjectCollection.h" + + +const NSUInteger MAX_TRANSMISSION_SIZE = 512; +const UInt8 MAX_VERSION_TO_SEND = 3; + +@interface SDLProtocol () { + UInt32 _messageID; + dispatch_queue_t _recieveQueue; + dispatch_queue_t _sendQueue; + SDLPrioritizedObjectCollection *prioritizedCollection; +} + +@property (assign) UInt8 version; +@property (assign) UInt8 maxVersionSupportedByHeadUnit; +@property (assign) UInt8 sessionID; +@property (strong) NSMutableData *recieveBuffer; +@property (strong) SDLProtocolRecievedMessageRouter *messageRouter; + +- (void)sendDataToTransport:(NSData *)data withPriority:(NSInteger)priority; +- (void)logRPCSend:(SDLProtocolMessage *)message; + +@end + + +@implementation SDLProtocol + +- (id)init { + if (self = [super init]) { + _version = 1; + _messageID = 0; + _sessionID = 0; + _recieveQueue = dispatch_queue_create("com.sdl.recieve", DISPATCH_QUEUE_SERIAL); + _sendQueue = dispatch_queue_create("com.sdl.send.defaultpriority", DISPATCH_QUEUE_SERIAL); + prioritizedCollection = [SDLPrioritizedObjectCollection new]; + + self.messageRouter = [[SDLProtocolRecievedMessageRouter alloc] init]; + self.messageRouter.delegate = self; + } + return self; +} + + +- (void)sendStartSessionWithType:(SDLServiceType)serviceType { + + SDLProtocolHeader *header = [SDLProtocolHeader headerForVersion:1]; + header.frameType = SDLFrameType_Control; + header.serviceType = serviceType; + header.frameData = SDLFrameData_StartSession; + + SDLProtocolMessage *message = [SDLProtocolMessage messageWithHeader:header andPayload:nil]; + + [self sendDataToTransport:message.data withPriority:serviceType]; +} + +- (void)sendEndSessionWithType:(SDLServiceType)serviceType sessionID:(Byte)sessionID { + + SDLProtocolHeader *header = [SDLProtocolHeader headerForVersion:self.version]; + header.frameType = SDLFrameType_Control; + header.serviceType = serviceType; + header.frameData = SDLFrameData_StartSession; + header.sessionID = self.sessionID; + + SDLProtocolMessage *message = [SDLProtocolMessage messageWithHeader:header andPayload:nil]; + + [self sendDataToTransport:message.data withPriority:serviceType]; + +} + +// SDLRPCRequest in from app -> SDLProtocolMessage out to transport layer. +- (void)sendRPCRequest:(SDLRPCRequest *)rpcRequest { + + NSData *jsonData = [[SDLJsonEncoder instance] encodeDictionary:[rpcRequest serializeAsDictionary:self.version]]; + NSData* messagePayload = nil; + + NSString *logMessage = [NSString stringWithFormat:@"%@", rpcRequest]; + [SDLDebugTool logInfo:logMessage withType:SDLDebugType_RPC toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + + + if(self.version == 1) { + messagePayload = jsonData; + } else if (self.version == 2) { + // Serialize the RPC data into an NSData + SDLRPCPayload *rpcPayload = [[SDLRPCPayload alloc] init]; + rpcPayload.rpcType = 0; + rpcPayload.functionID = [[[[SDLFunctionID alloc] init] getFunctionID:[rpcRequest getFunctionName]] intValue]; + rpcPayload.correlationID = [rpcRequest.correlationID intValue]; + rpcPayload.jsonData = jsonData; + rpcPayload.binaryData = rpcRequest.bulkData; + messagePayload = rpcPayload.data; + } + + // + // Build the protocol level header & message + // + SDLProtocolHeader *header = [SDLProtocolHeader headerForVersion:self.version]; + header.frameType = SDLFrameType_Single; + header.serviceType = SDLServiceType_RPC; + header.frameData = SDLFrameData_SingleFrame; + header.sessionID = self.sessionID; + header.bytesInPayload = (UInt32)messagePayload.length; + + // V2+ messages need to have message ID property set. + if (self.version >= 2) { + [((SDLV2ProtocolHeader*)header) setMessageID:++_messageID]; + } + + + SDLProtocolMessage *message = [SDLProtocolMessage messageWithHeader:header andPayload:messagePayload]; + + + // + // See if the message is small enough to send in one transmission. + // If not, break it up into smaller messages and send. + // + if (message.size < MAX_TRANSMISSION_SIZE) + { + [self logRPCSend:message]; + [self sendDataToTransport:message.data withPriority:SDLServiceType_RPC]; + } + else + { + NSArray *messages = [SDLProtocolMessageDisassembler disassemble:message withLimit:MAX_TRANSMISSION_SIZE]; + for (SDLProtocolMessage *smallerMessage in messages) { + [self logRPCSend:smallerMessage]; + [self sendDataToTransport:smallerMessage.data withPriority:SDLServiceType_RPC]; + } + + } + +} + +- (void)logRPCSend:(SDLProtocolMessage *)message { + NSString *logMessage = [NSString stringWithFormat:@"Sending : %@", message]; + [SDLDebugTool logInfo:logMessage withType:SDLDebugType_Protocol toOutput:SDLDebugOutput_File|SDLDebugOutput_DeviceConsole toGroup:self.debugConsoleGroupName]; +} + +// Use for normal messages +- (void)sendDataToTransport:(NSData *)data withPriority:(NSInteger)priority { + + [prioritizedCollection addObject:data withPriority:priority]; + + dispatch_async(_sendQueue, ^{ + + NSData *dataToTransmit = nil; + while(dataToTransmit = (NSData *)[prioritizedCollection nextObject]) + { + [self.transport sendData:dataToTransmit]; + }; + + }); + +} + +// +// Turn recieved bytes into message objects. +// +- (void)handleBytesFromTransport:(NSData *)recievedData { + + NSMutableString *logMessage = [[NSMutableString alloc]init];// + [logMessage appendFormat:@"Received: %ld", (long)recievedData.length]; + + // Initialize the recieve buffer which will contain bytes while messages are constructed. + if (self.recieveBuffer == nil) { + self.recieveBuffer = [NSMutableData dataWithCapacity:(4 * MAX_TRANSMISSION_SIZE)]; + } + + // Save the data + [self.recieveBuffer appendData:recievedData]; + [logMessage appendFormat:@"(%ld) ", (long)self.recieveBuffer.length]; + + [self processMessages]; +} + +- (void)processMessages { + NSMutableString *logMessage = [[NSMutableString alloc]init]; + + // Get the version + UInt8 incomingVersion = [SDLProtocolMessage determineVersion:self.recieveBuffer]; + + // If we have enough bytes, create the header. + SDLProtocolHeader* header = [SDLProtocolHeader headerForVersion:incomingVersion]; + NSUInteger headerSize = header.size; + if (self.recieveBuffer.length >= headerSize) { + [header parse:self.recieveBuffer]; + } else { + // Need to wait for more bytes. + [logMessage appendString:@"header incomplete, waiting for more bytes."]; + [SDLDebugTool logInfo:logMessage withType:SDLDebugType_Protocol toOutput:SDLDebugOutput_File|SDLDebugOutput_DeviceConsole toGroup:self.debugConsoleGroupName]; + return; + } + + // If we have enough bytes, finish building the message. + SDLProtocolMessage *message = nil; + NSUInteger payloadSize = header.bytesInPayload; + NSUInteger messageSize = headerSize + payloadSize; + if (self.recieveBuffer.length >= messageSize) { + NSUInteger payloadOffset = headerSize; + NSUInteger payloadLength = payloadSize; + NSData *payload = [self.recieveBuffer subdataWithRange:NSMakeRange(payloadOffset, payloadLength)]; + message = [SDLProtocolMessage messageWithHeader:header andPayload:payload]; + [logMessage appendFormat:@"message complete. %@", message]; + [SDLDebugTool logInfo:logMessage withType:SDLDebugType_Protocol toOutput:SDLDebugOutput_File|SDLDebugOutput_DeviceConsole toGroup:self.debugConsoleGroupName]; + } else { + // Need to wait for more bytes. + [logMessage appendFormat:@"header complete. message incomplete, waiting for %ld more bytes. Header:%@", (long)(messageSize - self.recieveBuffer.length), header]; + [SDLDebugTool logInfo:logMessage withType:SDLDebugType_Protocol toOutput:SDLDebugOutput_File|SDLDebugOutput_DeviceConsole toGroup:self.debugConsoleGroupName]; + return; + } + + // Need to maintain the recieveBuffer, remove the bytes from it which we just processed. + self.recieveBuffer = [[self.recieveBuffer subdataWithRange:NSMakeRange(messageSize, self.recieveBuffer.length - messageSize)] mutableCopy]; + + // Pass on ultimate disposition of the message to the message router. + dispatch_async(_recieveQueue, ^{ + [self.messageRouter handleRecievedMessage:message]; + }); + + // Call recursively until the buffer is empty or incomplete message is encountered + if (self.recieveBuffer.length > 0) + [self processMessages]; +} + +- (void)sendHeartbeat { + SDLProtocolHeader *header = [SDLProtocolHeader headerForVersion:self.version]; + header.frameType = SDLFrameType_Control; + header.serviceType = 0; + header.frameData = SDLFrameData_Heartbeat; + header.sessionID = self.sessionID; + + SDLProtocolMessage *message = [SDLProtocolMessage messageWithHeader:header andPayload:nil]; + + [self sendDataToTransport:message.data withPriority:header.serviceType]; + +} + + +#pragma mark - SDLProtocolListener Implementation +- (void)handleProtocolSessionStarted:(SDLServiceType)serviceType sessionID:(Byte)sessionID version:(Byte)version { + self.sessionID = sessionID; + self.maxVersionSupportedByHeadUnit = version; + self.version = MIN(self.maxVersionSupportedByHeadUnit, MAX_VERSION_TO_SEND); + + if (self.version >= 3) { + // start hearbeat + } + + [self.protocolDelegate handleProtocolSessionStarted:serviceType sessionID:sessionID version:version]; +} + +- (void)onProtocolMessageReceived:(SDLProtocolMessage *)msg { + [self.protocolDelegate onProtocolMessageReceived:msg]; +} + +- (void)onProtocolOpened { + [self.protocolDelegate onProtocolOpened]; +} + +- (void)onProtocolClosed { + [self.protocolDelegate onProtocolClosed]; +} + +- (void)onError:(NSString *)info exception:(NSException *)e { + [self.protocolDelegate onError:info exception:e]; +} + + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolHeader.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolHeader.h new file mode 100644 index 000000000..25bc166ac --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolHeader.h @@ -0,0 +1,53 @@ +// SDLSmartDeviceLinkProtocolHeader.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +@import Foundation; + + +typedef NS_ENUM(UInt8, SDLFrameType) { + SDLFrameType_Control = 0, + SDLFrameType_Single = 1, + SDLFrameType_First = 2, + SDLFrameType_Consecutive = 3 +}; + +typedef NS_ENUM(UInt8, SDLServiceType) { + SDLServiceType_RPC = 7, + SDLServiceType_BulkData = 0xF, +}; + +typedef NS_ENUM(UInt8, SDLFrameData) { + SDLFrameData_Heartbeat = 0, + SDLFrameData_StartSession = 1, + SDLFrameData_StartSessionACK = 2, + SDLFrameData_StartSessionNACK = 3, + SDLFrameData_EndSession = 4, + SDLFrameData_SingleFrame = 0, + SDLFrameData_FirstFrame = 0, + SDLFrameData_ConsecutiveLastFrame = 0 +}; + + +@interface SDLProtocolHeader : NSObject <NSCopying> { + UInt8 _version; + NSUInteger _size; +} + +@property (assign, readonly) UInt8 version; +@property (assign, readonly) NSUInteger size; +@property (assign) BOOL compressed; +@property (assign) SDLFrameType frameType; +@property (assign) SDLServiceType serviceType; +@property (assign) SDLFrameData frameData; +@property (assign) UInt8 sessionID; +@property (assign) UInt32 bytesInPayload; + +- (id)init; +- (id)copyWithZone:(NSZone *)zone; +- (NSData *)data; +- (void)parse:(NSData *)data; +- (NSString *)description; ++ (SDLProtocolHeader *)headerForVersion:(UInt8)version; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolHeader.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolHeader.m new file mode 100644 index 000000000..64534e316 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolHeader.m @@ -0,0 +1,57 @@ +// SDLSmartDeviceLinkProtocolHeader.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLProtocolHeader.h" +#import "SDLV1ProtocolHeader.h" +#import "SDLV2ProtocolHeader.h" + +@implementation SDLProtocolHeader + +@synthesize version = _version; +@synthesize size = _size; + +- (id)init { + if (self = [super init]) { + _version = 0; + _size = 0; + } + return self; +} + +- (id)copyWithZone:(NSZone *)zone { + [self doesNotRecognizeSelector:_cmd]; + return 0; +} + +- (NSData *)data { + [self doesNotRecognizeSelector:_cmd]; + return nil; +} + +- (void)parse:(NSData *)data { + [self doesNotRecognizeSelector:_cmd]; +} + +- (NSString *)description { + NSString* description = [NSString stringWithFormat:@"<%@: %p>", NSStringFromClass([self class]), self]; + return description; +} + + ++ (SDLProtocolHeader *)headerForVersion:(UInt8)version { + if (version == 1) { + return [[SDLV1ProtocolHeader alloc] init]; + } + + if (version == 2) { + return [[SDLV2ProtocolHeader alloc] init]; + } + + // TODO: some error handling here if unknown version is asked for, + // but that needs to be balanced against future proofing. i.e. V3. + // Requirements around V3 are as yet undefined so give a V2 header + return [[SDLV2ProtocolHeader alloc] init]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolListener.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolListener.h new file mode 100644 index 000000000..4d7988948 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolListener.h @@ -0,0 +1,20 @@ +// SDLProtocolListener.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + + +#import "SDLProtocolHeader.h" +@class SDLProtocolMessage; + +@protocol SDLProtocolListener + +- (void)handleProtocolSessionStarted:(SDLServiceType)serviceType sessionID:(Byte)sessionID version:(Byte)version; +- (void)onProtocolMessageReceived:(SDLProtocolMessage *)msg; + +- (void)onProtocolOpened; +- (void)onProtocolClosed; +- (void)onError:(NSString *)info exception:(NSException *)e; + +@end + diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessage.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessage.h new file mode 100644 index 000000000..2a1e82f94 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessage.h @@ -0,0 +1,24 @@ +// SDLSmartDeviceLinkProtocolMessage.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLProtocolHeader.h" + + +@interface SDLProtocolMessage : NSObject + +@property (strong) SDLProtocolHeader *header; +@property (strong) NSData *payload; +@property (strong, readonly) NSData *data; + +- (id)init; ++ (id)messageWithHeader:(SDLProtocolHeader*)header andPayload:(NSData *)payload; // Returns a V1 or V2 object + +- (NSUInteger)size; +- (NSString *)description; +- (NSDictionary *)rpcDictionary; // Use for RPC type messages to obtain the data in a dictionary + ++ (UInt8)determineVersion:(NSData *)data; + + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessage.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessage.m new file mode 100644 index 000000000..36af04241 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessage.m @@ -0,0 +1,100 @@ +// SDLProtocolMessage.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLProtocolMessage.h" +#import "SDLV1ProtocolMessage.h" +#import "SDLV2ProtocolMessage.h" +#import "SDLRPCPayload.h" +#import "SDLFunctionID.h" + +@interface SDLProtocolMessage () + +@property (strong) NSMutableData *internalBuffer; + +@end + +@implementation SDLProtocolMessage + +// For use in decoding a stream of bytes. +// Pass in bytes representing message (or beginning of message) +// Looks at and parses first byte to determine version. ++ (UInt8)determineVersion:(NSData *)data { + UInt8 firstByte = ((UInt8*)data.bytes)[0]; + UInt8 version = firstByte >> 4; + return version; +} + +- (id)init { + if (self = [super init]) { + + } + return self; +} + +- (NSDictionary *)rpcDictionary { + [self doesNotRecognizeSelector:_cmd]; + return nil; +} + +- (NSUInteger)size { + return (self.header.size + self.payload.length); +} + +- (NSData *)data { + NSMutableData *dataOut = [NSMutableData dataWithCapacity:[self size]]; + [dataOut appendData:self.header.data]; + [dataOut appendData:self.payload]; + + return dataOut; +} + +- (NSString *)description { + // Print the header data. + NSMutableString* description = [[NSMutableString alloc] init]; + [description appendString:self.header.description]; + + // If it's an RPC, provide greater detail + if (self.header.serviceType == SDLServiceType_RPC && (self.header.frameType == SDLFrameType_Single)) { + // version of RPC Message determines how we access the info. + if (self.header.version == 2) { + SDLRPCPayload *rpcPayload = [SDLRPCPayload rpcPayloadWithData:self.payload]; + if (rpcPayload) { + NSString *functionName = [[[SDLFunctionID alloc] init] getFunctionName:rpcPayload.functionID]; + + UInt8 rpcType = rpcPayload.rpcType; + NSArray *rpcTypeNames = @[@"Request", @"Response", @"Notification"]; + NSString *rpcTypeString = nil; + if(rpcType >= 0 && rpcType < rpcTypeNames.count) { + rpcTypeString = rpcTypeNames[rpcType]; + } + [description appendFormat:@" RPC Info: %@ %@", functionName, rpcTypeString]; + } + } else { + // version == 1 + // turn payload (which is JSON string) into dictionary and extract fields of interest. + + } + } else { + // Not an RPC, provide generic info. + [description appendFormat:@" Payload: %lu bytes.", (unsigned long)self.payload.length]; + } + + return description; +} + +// Returns a V1 or V2 object ++ (id)messageWithHeader:(SDLProtocolHeader*)header andPayload:(NSData *)payload { + SDLProtocolMessage *newMessage = nil; + + UInt8 version = header.version; + if (version == 1) { + newMessage = [[SDLV1ProtocolMessage alloc] initWithHeader:(SDLProtocolHeader*)header andPayload:(NSData *)payload]; + } else if (version >= 2) { + newMessage = [[SDLV2ProtocolMessage alloc] initWithHeader:(SDLProtocolHeader*)header andPayload:(NSData *)payload]; + } + + return newMessage; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageAssembler.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageAssembler.h new file mode 100644 index 000000000..3f45baef2 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageAssembler.h @@ -0,0 +1,21 @@ +// SDLSmartDeviceLinkProtocolMessageAssembler.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLProtocolMessage.h" + +typedef void(^SDLMessageAssemblyCompletionHandler)(BOOL done, SDLProtocolMessage *assembledMessage); + + +@interface SDLProtocolMessageAssembler : NSObject + +@property (assign, readonly) UInt8 sessionID; +@property (assign) UInt32 frameCount; // number of consecutive frames required for reassembly +@property (assign) UInt32 expectedBytes; +@property (strong) NSMutableDictionary *parts; + +- (id)initWithSessionID:(UInt8)sessionID; +- (void)handleMessage:(SDLProtocolMessage *)message withCompletionHandler:(SDLMessageAssemblyCompletionHandler)completionHandler; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageAssembler.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageAssembler.m new file mode 100644 index 000000000..5f9fa837c --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageAssembler.m @@ -0,0 +1,95 @@ +// SDLSmartDeviceLinkProtocolMessageAssembler.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLProtocolMessageAssembler.h" +#import "SDLProtocolHeader.h" + +@implementation SDLProtocolMessageAssembler + +- (id)initWithSessionID:(UInt8)sessionID { + if (self = [super init]) { + _sessionID = sessionID; + } + return self; +} + +- (void)handleMessage:(SDLProtocolMessage *)message withCompletionHandler:(SDLMessageAssemblyCompletionHandler)completionHandler { + + // Validate input + if (message.header.sessionID != self.sessionID) { + NSLog(@"Error: message part sent to wrong assembler."); + return; + } + + if (self.parts == nil) { + self.parts = [NSMutableDictionary new]; + } + + + // Determine which frame it is and save it. + // Note: frames are numbered 1,2,3, ..., 0 + // Always 0 for last frame. + if (message.header.frameType == SDLFrameType_First) { + // If it's the first-frame, extract the meta-data + self.expectedBytes = NSSwapBigIntToHost(((UInt32 *)message.payload.bytes)[0]); + self.frameCount = NSSwapBigIntToHost(((UInt32 *)message.payload.bytes)[1]); + self.parts[@"firstframe"] = message.payload; + } else if (message.header.frameType == SDLFrameType_Consecutive) { + // Save the frame w/ frame# as the key + NSInteger frameNumber = message.header.frameData; + NSNumber *frameNumberObj = [NSNumber numberWithUnsignedInteger:frameNumber]; + self.parts[frameNumberObj] = message.payload; + } + + + // + // If we have all the parts, assemble it and execute the completion handler. + // + SDLProtocolMessage *assembledMessage = nil; + if (self.parts.count == self.frameCount + 1) { // +1 since we also require the first-frame + + // Create the header + SDLProtocolHeader *header = message.header.copy; + header.frameType = SDLFrameType_Single; + header.frameData = SDLFrameData_SingleFrame; + + + // Create the payload + NSMutableData *payload = [[NSMutableData alloc] init]; + for (unsigned int i = 1; i < self.frameCount; i++) { + NSData* dataToAppend = [self.parts objectForKey:[NSNumber numberWithUnsignedInt:i]]; + [payload appendData:dataToAppend]; + } + // Append the last frame, it has a frame # of 0. + NSData* dataToAppend = [self.parts objectForKey:[NSNumber numberWithUnsignedInt:0]]; + [payload appendData:dataToAppend]; + + // Validation + header.bytesInPayload = (UInt32)payload.length; + if (payload.length != self.expectedBytes) { + NSLog(@"Warning: collected bytes size of %lu not equal to expected size of %i.", (unsigned long)payload.length, (unsigned int)self.expectedBytes); + } + + // Create the message. + assembledMessage = [SDLProtocolMessage messageWithHeader:header andPayload:payload]; + + + // Execute completion handler. + if (completionHandler != nil) { + completionHandler(YES, assembledMessage); + } + + // Done with this data, release it. + self.parts = nil; + + } + + // Not done, let caller know + if (completionHandler != nil) { + completionHandler(NO, nil); + } + +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageDisassembler.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageDisassembler.h new file mode 100644 index 000000000..cbb02a1a0 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageDisassembler.h @@ -0,0 +1,12 @@ +// SDLSmartDeviceLinkProtocolMessageDisassembler.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLProtocolMessage.h" + +@interface SDLProtocolMessageDisassembler : NSObject + ++ (NSArray *)disassemble:(SDLProtocolMessage *)protocolMessage withLimit:(NSUInteger)mtu; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageDisassembler.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageDisassembler.m new file mode 100644 index 000000000..380cda59e --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageDisassembler.m @@ -0,0 +1,86 @@ +// SDLProtocolMessageDisassembler.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLProtocolMessageDisassembler.h" + +@implementation SDLProtocolMessageDisassembler + + +// Use to break up a large message into a sequence of smaller messages, +// each of which is less than 'mtu' number of bytes total size. ++ (NSArray *)disassemble:(SDLProtocolMessage *)incomingMessage withLimit:(NSUInteger)mtu { + // Questions: + // What message IDs does the current system use? Same messageIDs? Same CorrelationIDs? + // What gets simply copied from incoming header to created headers; and what needs adjustment? + + // How big is the message header? + NSUInteger headerSize = incomingMessage.header.size; + + // The size of the message is too big to send in one chunk. + // So lets break it up. + // Just how big IS this message? + NSUInteger incomingPayloadSize = (incomingMessage.data.length - headerSize); + + // How many messages do we need to create to hold that many bytes? + // Note: this does NOT count the special first message which acts as a descriptor. + NSUInteger numberOfMessagesRequired = ceil((float)incomingPayloadSize/(float)(mtu - headerSize)); + + // And how many data bytes go in each message? + NSUInteger numberOfDataBytesPerMessage = mtu - headerSize; + + // Create the outgoing array to hold the messages we will create. + NSMutableArray *outgoingMessages = [NSMutableArray arrayWithCapacity:numberOfMessagesRequired+1]; + + + + // Create the first message + SDLProtocolHeader *firstFrameHeader = [incomingMessage.header copy]; + firstFrameHeader.frameType = SDLFrameType_First; + + UInt32 payloadData[2]; + payloadData[0] = CFSwapInt32HostToBig((UInt32)incomingMessage.payload.length); + payloadData[1] = CFSwapInt32HostToBig((UInt32)numberOfMessagesRequired); + NSMutableData *firstFramePayload = [NSMutableData dataWithBytes:payloadData length:sizeof(payloadData)]; + firstFrameHeader.bytesInPayload = (UInt32)firstFramePayload.length; + + SDLProtocolMessage *firstMessage = [SDLProtocolMessage messageWithHeader:firstFrameHeader andPayload:firstFramePayload]; + outgoingMessages[0] = firstMessage; + + + + // Create the middle messages (the ones carrying the actual data). + for (int n = 0; n < numberOfMessagesRequired - 1; n++) { + SDLProtocolHeader *nextFrameHeader = [incomingMessage.header copy]; + nextFrameHeader.frameType = SDLFrameType_Consecutive; + nextFrameHeader.frameData = n+1; + + NSUInteger offsetOfDataForThisFrame = headerSize + (n * numberOfDataBytesPerMessage); + NSData *nextFramePayload = [incomingMessage.data subdataWithRange:NSMakeRange(offsetOfDataForThisFrame, numberOfDataBytesPerMessage)]; + nextFrameHeader.bytesInPayload = (UInt32)nextFramePayload.length; + + SDLProtocolMessage *nextMessage = [SDLProtocolMessage messageWithHeader:nextFrameHeader andPayload:nextFramePayload]; + outgoingMessages[n+1] = nextMessage; + } + + + + // Create the last message + SDLProtocolHeader *lastFrameHeader = [incomingMessage.header copy]; + lastFrameHeader.frameType = SDLFrameType_Consecutive; + lastFrameHeader.frameData = SDLFrameData_ConsecutiveLastFrame; + + NSUInteger numberOfMessagesCreatedSoFar = numberOfMessagesRequired - 1; + NSUInteger numberOfDataBytesSentSoFar = numberOfMessagesCreatedSoFar * numberOfDataBytesPerMessage; + NSUInteger numberOfDataBytesInLastMessage = incomingPayloadSize - numberOfDataBytesSentSoFar; + NSUInteger offsetOfDataForLastFrame = headerSize + numberOfDataBytesSentSoFar; + NSData *lastFramePayload = [incomingMessage.data subdataWithRange:NSMakeRange(offsetOfDataForLastFrame, numberOfDataBytesInLastMessage)]; + lastFrameHeader.bytesInPayload = (UInt32)lastFramePayload.length; + + SDLProtocolMessage *lastMessage = [SDLProtocolMessage messageWithHeader:lastFrameHeader andPayload:lastFramePayload]; + outgoingMessages[numberOfMessagesRequired] = lastMessage; + + return outgoingMessages; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolRecievedMessageRouter.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolRecievedMessageRouter.h new file mode 100644 index 000000000..9b85e7c77 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolRecievedMessageRouter.h @@ -0,0 +1,16 @@ +// SDLProtocolRecievedMessageRouter.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLProtocolListener.h" +@class SDLProtocolMessage; + + +@interface SDLProtocolRecievedMessageRouter : NSObject + +@property (weak) id<SDLProtocolListener> delegate; + +- (void)handleRecievedMessage:(SDLProtocolMessage *)message; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolRecievedMessageRouter.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolRecievedMessageRouter.m new file mode 100644 index 000000000..661acd7d8 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolRecievedMessageRouter.m @@ -0,0 +1,93 @@ +// SDLProtocolRecievedMessageRouter.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. +// +// This class gets handed the SDLProtocol messages as they are recieved +// and decides what happens to them and where they are sent on to. + +#import "SDLProtocolRecievedMessageRouter.h" +#import "SDLProtocolMessage.h" +#import "SDLProtocolMessageAssembler.h" +#import "SDLDebugTool.h" + + + +@interface SDLProtocolRecievedMessageRouter () + +@property (strong) NSMutableDictionary *messageAssemblers; + +- (void)dispatchProtocolMessage:(SDLProtocolMessage *)message; +- (void)dispatchControlMessage:(SDLProtocolMessage *)message; +- (void)dispatchMultiPartMessage:(SDLProtocolMessage *)message; + +@end + + +@implementation SDLProtocolRecievedMessageRouter + +- (id)init { + if (self = [super init]) { + self.messageAssemblers = [NSMutableDictionary dictionaryWithCapacity:2]; + } + return self; +} + +- (void)handleRecievedMessage:(SDLProtocolMessage *)message { + + SDLFrameType frameType = message.header.frameType; + + switch (frameType) { + case SDLFrameType_Single: + [self dispatchProtocolMessage:message]; + break; + + case SDLFrameType_Control: + [self dispatchControlMessage:message]; + break; + + case SDLFrameType_First: + case SDLFrameType_Consecutive: + [self dispatchMultiPartMessage:message]; + break; + + default: + break; + } + +} + +- (void)dispatchProtocolMessage:(SDLProtocolMessage *)message { + [self.delegate onProtocolMessageReceived:message]; +} + +- (void)dispatchControlMessage:(SDLProtocolMessage *)message { + + if (message.header.frameData == SDLFrameData_StartSessionACK) { + [self.delegate handleProtocolSessionStarted:message.header.serviceType + sessionID:message.header.sessionID + version:message.header.version]; + } +} + +- (void)dispatchMultiPartMessage:(SDLProtocolMessage *)message { + + // Pass multipart messages to an assembler and call delegate when done. + NSNumber *sessionID = [NSNumber numberWithUnsignedChar:message.header.sessionID]; + + SDLProtocolMessageAssembler *assembler = self.messageAssemblers[sessionID]; + if (assembler == nil) { + assembler = [[SDLProtocolMessageAssembler alloc] initWithSessionID:message.header.sessionID]; + self.messageAssemblers[sessionID] = assembler; + } + + SDLMessageAssemblyCompletionHandler completionHandler = ^void(BOOL done, SDLProtocolMessage *assembledMessage) { + if (done) { + [self dispatchProtocolMessage:assembledMessage]; + } + }; + [assembler handleMessage:message withCompletionHandler:completionHandler]; + +} + + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxy.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxy.h new file mode 100644 index 000000000..d224536bc --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxy.h @@ -0,0 +1,49 @@ +// SDLProxy.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. +// Version: ##Version## + + +#import "SDLProtocol.h" +#import "SDLProxyListener.h" +#import "SDLRPCRequestFactory.h" +#import "SDLTransport.h" + +@interface SDLProxy : NSObject<SDLProtocolListener, NSStreamDelegate> { + Byte _version; + Byte rpcSessionID; + Byte bulkSessionID; + BOOL isConnected; + BOOL alreadyDestructed; + +} + +@property (strong) NSObject<SDLInterfaceProtocol>* protocol; +@property (strong) NSObject<SDLTransport>* transport; +@property (strong) NSMutableArray* proxyListeners; +@property (strong) NSTimer* handshakeTimer; +@property (strong) NSString *debugConsoleGroupName; + +-(id) initWithTransport:(NSObject<SDLTransport>*) transport protocol:(NSObject<SDLInterfaceProtocol>*) protocol delegate:(NSObject<SDLProxyListener>*) delegate; + +-(void) dispose; +-(void) addDelegate:(NSObject<SDLProxyListener>*) delegate; + +-(void) sendRPCRequest:(SDLRPCMessage*) msg; +-(void) handleRpcMessage:(NSDictionary*) msg; + +-(NSString*) getProxyVersion; + +-(void) destroyHandshakeTimer; +-(void) handleProtocolMessage:(SDLProtocolMessage*) msgData; + ++(void)enableSiphonDebug; ++(void)disableSiphonDebug; + +-(NSObject<SDLTransport>*)getTransport; +-(NSObject<SDLInterfaceProtocol>*)getProtocol; + +- (void)putFileStream:(NSInputStream*)inputStream :(SDLPutFile*)putFileRPCRequest __deprecated_msg("use -putFileStream:withRequest: instead"); +- (void)putFileStream:(NSInputStream*)inputStream withRequest:(SDLPutFile*)putFileRPCRequest; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxy.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxy.m new file mode 100644 index 000000000..91d8fd448 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxy.m @@ -0,0 +1,594 @@ +// SDLProxy.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import <ExternalAccessory/ExternalAccessory.h> +#import <objc/runtime.h> +#import "SDLDebugTool.h" +#import "SDLEncodedSyncPData.h" +#import "SDLFunctionID.h" +#import "SDLJsonDecoder.h" +#import "SDLJsonEncoder.h" +#import "SDLLanguage.h" +#import "SDLNames.h" +#import "SDLSiphonServer.h" +#import "SDLProxy.h" +#import "SDLSystemRequest.h" +#import "SDLRPCPayload.h" +#import "SDLPolicyDataParser.h" +#import "SDLLockScreenManager.h" + + +#define VERSION_STRING @"SmartDeviceLink-20140929-090241-LOCAL-iOS" +typedef void(^SDLCustomTaskCompletionHandler)(NSData *data, NSURLResponse *response, NSError *error); + + +@interface SDLProxy () + +{ + SDLLockScreenManager *lsm; +} +- (void)invokeMethodOnDelegates:(SEL)aSelector withObject:(id)object; +- (void)notifyProxyClosed; +- (void)handleProtocolMessage:(SDLProtocolMessage *)msgData; +- (void)OESPHTTPRequestCompletionHandler:(NSData *)data response:(NSURLResponse *)response error:(NSError *)error; +- (void)OSRHTTPRequestCompletionHandler:(NSData *)data response:(NSURLResponse *)response error:(NSError *)error; + +@end + + + +@implementation SDLProxy + +const float handshakeTime = 30.0; +const float notifyProxyClosedDelay = 0.1; +const int POLICIES_CORRELATION_ID = 65535; + + +#pragma mark - Object lifecycle +- (id)initWithTransport:(NSObject<SDLTransport> *)theTransport protocol:(NSObject<SDLInterfaceProtocol> *)theProtocol delegate:(NSObject<SDLProxyListener> *)theDelegate { + if (self = [super init]) { + _debugConsoleGroupName = @"default"; + + + lsm = [SDLLockScreenManager new]; + + rpcSessionID = 0; + alreadyDestructed = NO; + + self.proxyListeners = [[NSMutableArray alloc] initWithObjects:theDelegate, nil]; + self.protocol = theProtocol; + self.transport = theTransport; + self.transport.delegate = self.protocol; + self.protocol.protocolDelegate = self; + self.protocol.transport = self.transport; + [self.transport connect]; + + [[EAAccessoryManager sharedAccessoryManager] registerForLocalNotifications]; + + } + + return self; +} + +-(void) destructObjects { + if(!alreadyDestructed) { + alreadyDestructed = YES; + + [[EAAccessoryManager sharedAccessoryManager] unregisterForLocalNotifications]; + + self.transport = nil; + self.protocol = nil; + self.proxyListeners = nil; + + [self destroyHandshakeTimer]; + } +} + +-(void) dispose { + [self destructObjects]; +} + +-(void) dealloc { + [self destructObjects]; +} + +-(void) notifyProxyClosed { + if (isConnected) { + isConnected = NO; + [self invokeMethodOnDelegates:@selector(onProxyClosed) withObject:nil]; + } +} + + +#pragma mark - Pseudo properties +- (NSObject<SDLTransport> *)getTransport { + return self.transport;// not needed except for backwards compatability? +} + +- (NSObject<SDLInterfaceProtocol> *)getProtocol { + return self.protocol;// not needed except for backwards compatability? +} + +- (NSString *)getProxyVersion { + return VERSION_STRING; +} + +- (NSString *)proxyVersion { // How it should have been named. + return VERSION_STRING; +} + + +#pragma mark - Handshake Timer +- (void)handshakeTimerFired { + [SDLDebugTool logInfo:@"RPC Initial Handshake Timeout" withType:SDLDebugType_RPC toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + + [self destroyHandshakeTimer]; + [self performSelector:@selector(notifyProxyClosed) withObject:nil afterDelay:notifyProxyClosedDelay]; +} + +-(void)destroyHandshakeTimer { + if (self.handshakeTimer != nil) { + [self.handshakeTimer invalidate]; + self.handshakeTimer = nil; + } +} + + +#pragma mark - SDLProtocolListener Implementation +- (void) onProtocolOpened { + isConnected = YES; + [SDLDebugTool logInfo:@"StartSession (request)" withType:SDLDebugType_RPC toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + + [self.protocol sendStartSessionWithType:SDLServiceType_RPC]; + + [self destroyHandshakeTimer]; + self.handshakeTimer = [NSTimer scheduledTimerWithTimeInterval:handshakeTime target:self selector:@selector(handshakeTimerFired) userInfo:nil repeats:NO]; +} + +-(void) onProtocolClosed { + [self notifyProxyClosed]; +} + +-(void) onError:(NSString*) info exception:(NSException*) e { + [self invokeMethodOnDelegates:@selector(onError:) withObject:e]; +} + +- (void)handleProtocolSessionStarted:(SDLServiceType)sessionType sessionID:(Byte)sessionID version:(Byte)maxVersionForModule { + NSString *logMessage = [NSString stringWithFormat:@"StartSession (response)\nSessionId: %d", sessionID]; + [SDLDebugTool logInfo:logMessage withType:SDLDebugType_RPC toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + + if (_version <= 1) { + if (maxVersionForModule == 2) { + _version = maxVersionForModule; + } + } + + if (sessionType == SDLServiceType_RPC || _version == 2) { + rpcSessionID = sessionID; + [self invokeMethodOnDelegates:@selector(onProxyOpened) withObject:nil]; + } +} + +- (void) onProtocolMessageReceived:(SDLProtocolMessage*) msgData { + @try { + [self handleProtocolMessage:msgData]; + } + @catch (NSException * e) { + NSString *logMessage = [NSString stringWithFormat:@"Proxy: Failed to handle protocol message %@", e]; + [SDLDebugTool logInfo:logMessage withType:SDLDebugType_Debug toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + } +} + + +#pragma mark - Message sending and recieving +-(void) sendRPCRequest:(SDLRPCMessage*) msg { + if ([msg isKindOfClass:SDLRPCRequest.class]) { + [self sendRPCRequestPrivate:(SDLRPCRequest *)msg]; + } +} + +- (void)sendRPCRequestPrivate:(SDLRPCRequest *)rpcRequest { + @try { + [self.protocol sendRPCRequest:rpcRequest]; + } @catch (NSException * e) { + NSString *logMessage = [NSString stringWithFormat:@"Proxy: Failed to send RPC request: %@", rpcRequest.name]; + [SDLDebugTool logInfo:logMessage withType:SDLDebugType_Debug toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + } +} + +- (void)handleProtocolMessage:(SDLProtocolMessage *)incomingMessage { + // Convert protocol message to dictionary + NSDictionary* rpcMessageAsDictionary = [incomingMessage rpcDictionary]; + [self handleRpcMessage:rpcMessageAsDictionary]; +} + + +// NOTE: This is getting rather large, excellent candidate for refactoring. +-(void) handleRpcMessage:(NSDictionary*) msg { + NSString *logMessage = nil; + + SDLRPCMessage* rpcMsg = [[SDLRPCMessage alloc] initWithDictionary:(NSMutableDictionary*) msg]; + NSString* functionName = [rpcMsg getFunctionName]; + NSString* messageType = [rpcMsg messageType]; + + if ([functionName isEqualToString:NAMES_OnAppInterfaceUnregistered] + || [functionName isEqualToString:NAMES_UnregisterAppInterface]) { + logMessage = [NSString stringWithFormat:@"Unregistration forced by module. %@", msg]; + [SDLDebugTool logInfo:logMessage withType:SDLDebugType_RPC toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + [self notifyProxyClosed]; + return; + } + + if ([messageType isEqualToString:NAMES_response]) { + bool notGenericResponseMessage = ![functionName isEqualToString:@"GenericResponse"]; + if(notGenericResponseMessage) functionName = [NSString stringWithFormat:@"%@Response", functionName]; + } + + + if ([functionName isEqualToString:@"RegisterAppInterfaceResponse"]) { + // Turn off the timer, the handshake has succeeded + [self destroyHandshakeTimer]; + + //Print Proxy Version To Console + logMessage = [NSString stringWithFormat:@"Framework Version: %@", [self getProxyVersion]]; + [SDLDebugTool logInfo:logMessage withType:SDLDebugType_RPC toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + } + + + if ([functionName isEqualToString:@"EncodedSyncPDataResponse"]) { + [SDLDebugTool logInfo:@"EncodedSyncPData (response)" withType:SDLDebugType_RPC toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + } + + + // Intercept OnEncodedSyncPData. If URL != nil, perform HTTP Post and don't pass the notification to FMProxyListeners + if ([functionName isEqualToString:@"OnEncodedSyncPData"]) { + logMessage = [NSString stringWithFormat:@"OnEncodedSyncPData (notification)\n%@", msg]; + [SDLDebugTool logInfo:logMessage withType:SDLDebugType_RPC toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + + NSString *urlString = (NSString *) [rpcMsg getParameters:@"URL"]; + NSDictionary *encodedSyncPData = (NSDictionary *)[rpcMsg getParameters:@"data"]; + NSNumber *encodedSyncPTimeout = (NSNumber *) [rpcMsg getParameters:@"Timeout"]; + + if (urlString && encodedSyncPData && encodedSyncPTimeout) { + [self sendEncodedSyncPData:encodedSyncPData toURL:urlString withTimeout:encodedSyncPTimeout]; + } + + return; + } + + // Intercept OnSystemRequest. + if ([functionName isEqualToString:@"OnSystemRequest"]) { + + [SDLDebugTool logInfo:@"OnSystemRequest (notification)" withType:SDLDebugType_RPC toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + + SDLOnSystemRequest* sysRpcMsg = [[SDLOnSystemRequest alloc] initWithDictionary:(NSMutableDictionary*) msg]; + SDLRequestType *requestType = sysRpcMsg.requestType; + NSString *urlString = sysRpcMsg.url; + SDLFileType *fileType = sysRpcMsg.fileType; + + if (requestType == [SDLRequestType PROPRIETARY]) + { + // Validate input + if (urlString == nil) + { + [SDLDebugTool logInfo:@"OnSystemRequest (notification) failure: url is nil" withType:SDLDebugType_RPC toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + return; + } + if (fileType != [SDLFileType JSON]) + { + [SDLDebugTool logInfo:@"OnSystemRequest (notification) failure: file type is not JSON" withType:SDLDebugType_RPC toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + return; + } + + // Get data dictionary from the bulkData + NSDictionary *notificationDictionary = nil; + @try { + NSError *errorJSONSerializeNotification = nil; + notificationDictionary = [NSJSONSerialization JSONObjectWithData:sysRpcMsg.bulkData options:kNilOptions error:&errorJSONSerializeNotification]; + if (errorJSONSerializeNotification) { + [SDLDebugTool logInfo:@"OnSystemRequest failure: notification data is not valid JSON." withType:SDLDebugType_RPC toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + return; + } + } + @catch (NSException *exception) { + logMessage = [NSString stringWithFormat:@"Exception converting bulk data to NSDictionary. Data:\n%@", [[NSString alloc] initWithData:sysRpcMsg.bulkData encoding:NSUTF8StringEncoding]]; + [SDLDebugTool logInfo:logMessage withType:SDLDebugType_RPC toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + + [exception raise]; // rethrow + } + + + // Extract data from the dictionary + NSDictionary *requestData = notificationDictionary[@"HTTPRequest"]; + NSDictionary *headers = requestData[@"headers"]; + NSString *contentType = headers[@"ContentType"]; + NSTimeInterval timeout = [headers[@"ConnectTimeout"] doubleValue]; + NSString *method = headers[@"RequestMethod"]; + NSString *bodyString = requestData[@"body"]; + NSData *bodyData = [bodyString dataUsingEncoding:NSUTF8StringEncoding]; + + + // Parse and display the policy data. + SDLPolicyDataParser *pdp = [[SDLPolicyDataParser alloc] init]; + NSData *policyData = [pdp unwrap:bodyData]; + if (policyData) { + [pdp parsePolicyData:policyData]; + logMessage = [NSString stringWithFormat:@"Policy Data from Module\n%@", pdp]; + [SDLDebugTool logInfo:logMessage withType:SDLDebugType_RPC toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + } + + + // HTTP Request configuration + NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration]; + NSURLSession *session = [NSURLSession sessionWithConfiguration:config]; + NSURL *url = [NSURL URLWithString:urlString]; + NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; + [request setValue:contentType forHTTPHeaderField:@"content-type"]; + request.timeoutInterval = timeout; + request.HTTPMethod = method; + + + // Logging + logMessage = [NSString stringWithFormat:@"OnSystemRequest (HTTP Request) to URL %@", urlString]; + [SDLDebugTool logInfo:logMessage withType:SDLDebugType_RPC toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + + + // Send the HTTP Request + SDLCustomTaskCompletionHandler handler = ^void(NSData *data, NSURLResponse *response, NSError *error) + { + [self OSRHTTPRequestCompletionHandler:data response:response error:error]; + }; + NSURLSessionUploadTask *uploadTask = [session uploadTaskWithRequest:request fromData:bodyData completionHandler:handler]; + [uploadTask resume]; + + return; + } + + } // End of OnSystemRequest + + if ([functionName isEqualToString:@"SystemRequestResponse"]) { + logMessage = [NSString stringWithFormat:@"SystemRequest (response)\n%@", msg]; + [SDLDebugTool logInfo:logMessage withType:SDLDebugType_RPC toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + return; + } + + + + // From the function name, create the corresponding RPCObject and initialize it + NSString* functionClassName = [NSString stringWithFormat:@"SDL%@", functionName]; + SDLRPCMessage *functionObject = [[NSClassFromString(functionClassName) alloc] initWithDictionary:msg]; +// SDLRPCMessage *functionObject = [[NSClassFromString(functionClassName) alloc] init]; +// NSObject* rpcCallbackObject = [functionObject initWithDictionary:[msg mutableCopy]]; + + logMessage = [NSString stringWithFormat:@"%@", functionObject]; + [SDLDebugTool logInfo:logMessage withType:SDLDebugType_RPC toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + + // Formulate the name of the method to call on the listeners and call it, passing the RPC Object + NSString* handlerName = [NSString stringWithFormat:@"on%@:", functionName]; + SEL handlerSelector = NSSelectorFromString(handlerName); + [self invokeMethodOnDelegates:handlerSelector withObject:functionObject]; + + + // When an OnHMIStatus notification comes in, after passing it on (above), generate an "OnLockScreenNotification" + if ([functionName isEqualToString:@"OnHMIStatus"]) { + NSString *statusString = (NSString *)[rpcMsg getParameters:NAMES_hmiLevel]; + SDLHMILevel *hmiLevel = [SDLHMILevel valueOf:statusString]; + lsm.hmiLevel = hmiLevel; + + SEL callbackSelector = NSSelectorFromString(@"onOnLockScreenNotification:"); + [self invokeMethodOnDelegates:callbackSelector withObject:lsm.lockScreenStatusNotification]; + } + + // When an OnDriverDistraction notification comes in, after passing it on (above), generate an "OnLockScreenNotification" + if ([functionName isEqualToString:@"OnDriverDistraction"]) { + NSString *stateString = (NSString *)[rpcMsg getParameters:NAMES_state]; + BOOL bState = [stateString isEqualToString:@"DD_ON"]?YES:NO; + lsm.bDriverDistractionStatus = bState; + + SEL callbackSelector = NSSelectorFromString(@"onOnLockScreenNotification:"); + [self invokeMethodOnDelegates:callbackSelector withObject:lsm.lockScreenStatusNotification]; + } + +} + + +#pragma mark - Delegate management +-(void) addDelegate:(NSObject<SDLProxyListener>*) delegate { + @synchronized(self.proxyListeners) { + [self.proxyListeners addObject:delegate]; + } +} + +- (void)invokeMethodOnDelegates:(SEL)aSelector withObject:(id)object { + [self.proxyListeners enumerateObjectsUsingBlock:^(id listener, NSUInteger idx, BOOL *stop) { + if ([(NSObject *)listener respondsToSelector:aSelector]) { + [(NSObject *)listener performSelectorOnMainThread:aSelector withObject:object waitUntilDone:NO]; + } + }]; +} + + +#pragma mark - System Request and SyncP handling +-(void)sendEncodedSyncPData:(NSDictionary*)encodedSyncPData toURL:(NSString*)urlString withTimeout:(NSNumber*) timeout{ + + // Configure HTTP URL & Request + NSURL *url = [NSURL URLWithString:urlString]; + NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; + request.HTTPMethod = @"POST"; + + // Configure HTTP Session + NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration]; + config.HTTPAdditionalHeaders = @{@"Content-Type": @"application/json"}; + config.timeoutIntervalForRequest = 60; + NSURLSession *session = [NSURLSession sessionWithConfiguration:config]; + + // Prepare the data in the required format + NSString *encodedSyncPDataString = [[NSString stringWithFormat:@"%@", encodedSyncPData] componentsSeparatedByString:@"\""][1]; + NSArray *array = [NSArray arrayWithObject:encodedSyncPDataString]; + NSDictionary *dictionary = @{@"data": array}; + NSError *JSONSerializationError = nil; + NSData *data = [NSJSONSerialization dataWithJSONObject:dictionary options:kNilOptions error:&JSONSerializationError]; + if (JSONSerializationError) { + NSString *logMessage = [NSString stringWithFormat:@"Error formatting data for HTTP Request. %@", JSONSerializationError]; + [SDLDebugTool logInfo:logMessage withType:SDLDebugType_RPC toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + return; + } + + // Create the completion handler to be executed upon response + SDLCustomTaskCompletionHandler handler = ^void(NSData *data, NSURLResponse *response, NSError *error) + { + [self OESPHTTPRequestCompletionHandler:data response:response error:error]; + }; + + // Send the HTTP Request + [SDLDebugTool logInfo:@"OnEncodedSyncPData (HTTP request)" withType:SDLDebugType_RPC toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + NSURLSessionUploadTask *uploadTask = [session uploadTaskWithRequest:request fromData:data completionHandler:handler]; + [uploadTask resume]; + +} + +// Handle the OnEncodedSyncPData HTTP Response +- (void)OESPHTTPRequestCompletionHandler:(NSData *)data response:(NSURLResponse *)response error:(NSError *)error { + // Sample of response: {"data":["SDLKGLSDKFJLKSjdslkfjslkJLKDSGLKSDJFLKSDJF"]} + [SDLDebugTool logInfo:@"OnEncodedSyncPData (HTTP response)" withType:SDLDebugType_RPC toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + + // Validate response data. + if (data == nil || data.length == 0) { + [SDLDebugTool logInfo:@"OnEncodedSyncPData (HTTP response) failure: no data returned" withType:SDLDebugType_RPC toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + return; + } + + // Convert data to RPCRequest + NSError *JSONConversionError = nil; + NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&JSONConversionError]; + if (!JSONConversionError) { + SDLEncodedSyncPData *request = [[SDLEncodedSyncPData alloc] init]; + request.correlationID = [NSNumber numberWithInt:POLICIES_CORRELATION_ID]; + request.data = [responseDictionary objectForKey:@"data"]; + + [self sendRPCRequestPrivate:request]; + } + +} + +// Handle the OnSystemRequest HTTP Response +- (void)OSRHTTPRequestCompletionHandler:(NSData *)data response:(NSURLResponse *)response error:(NSError *)error { + + NSString *logMessage = nil; + + if (error) { + logMessage = [NSString stringWithFormat:@"OnSystemRequest (HTTP response) = ERROR: %@", error]; + [SDLDebugTool logInfo:logMessage withType:SDLDebugType_RPC toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + return; + } + + if (data == nil || data.length == 0) { + [SDLDebugTool logInfo:@"OnSystemRequest (HTTP response) failure: no data returned" withType:SDLDebugType_RPC toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + return; + } + + // Show the HTTP response + [SDLDebugTool logInfo:@"OnSystemRequest (HTTP response)" withType:SDLDebugType_RPC toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + + // Create the SystemRequest RPC to send to module. + SDLSystemRequest *request = [[SDLSystemRequest alloc] init]; + request.correlationID = [NSNumber numberWithInt:POLICIES_CORRELATION_ID]; + request.requestType = [SDLRequestType PROPRIETARY]; + request.bulkData = data; + + // Parse and display the policy data. + SDLPolicyDataParser *pdp = [[SDLPolicyDataParser alloc] init]; + NSData *policyData = [pdp unwrap:data]; + if (policyData) { + [pdp parsePolicyData:policyData]; + logMessage = [NSString stringWithFormat:@"Policy Data from Cloud\n%@", pdp]; + [SDLDebugTool logInfo:logMessage withType:SDLDebugType_RPC toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + } + + // Send and log RPC Request + logMessage = [NSString stringWithFormat:@"SystemRequest (request)\n%@\nData length=%lu", [request serializeAsDictionary:2], (unsigned long)data.length ]; + [SDLDebugTool logInfo:logMessage withType:SDLDebugType_RPC toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + [self sendRPCRequestPrivate:request]; + +} + + +#pragma mark - PutFile Streaming +- (void)putFileStream:(NSInputStream*)inputStream :(SDLPutFile*)putFileRPCRequest +{ + [self putFileStream:inputStream withRequest:putFileRPCRequest]; +} + +- (void)putFileStream:(NSInputStream *)inputStream withRequest:(SDLPutFile *)putFileRPCRequest +{ + inputStream.delegate = self; + objc_setAssociatedObject(inputStream, @"SDLPutFile", putFileRPCRequest, OBJC_ASSOCIATION_RETAIN); + objc_setAssociatedObject(inputStream, @"BaseOffset", [putFileRPCRequest offset], OBJC_ASSOCIATION_RETAIN); + + [inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode]; + [inputStream open]; +} + +- (void)stream:(NSStream *)stream handleEvent:(NSStreamEvent)eventCode +{ + + switch(eventCode) + { + case NSStreamEventHasBytesAvailable: + { + // Grab some bytes from the stream and send them in a SDLPutFile RPC Request + NSUInteger currentStreamOffset = [[stream propertyForKey:NSStreamFileCurrentOffsetKey] unsignedIntegerValue]; + + const int bufferSize = 1024; + uint8_t buf[bufferSize]; + NSUInteger len = [(NSInputStream *)stream read:buf maxLength:bufferSize]; + if(len > 0) + { + NSData* data = [NSData dataWithBytes:buf length:len]; + NSUInteger baseOffset = [(NSNumber*)objc_getAssociatedObject(stream, @"BaseOffset") unsignedIntegerValue]; + NSUInteger newOffset = baseOffset + currentStreamOffset; + + SDLPutFile* putFileRPCRequest = (SDLPutFile*)objc_getAssociatedObject(stream, @"SDLPutFile"); + [putFileRPCRequest setOffset:[NSNumber numberWithUnsignedInteger:newOffset]]; + [putFileRPCRequest setLength:[NSNumber numberWithUnsignedInteger:len]]; + [putFileRPCRequest setBulkData:data]; + + [self sendRPCRequest:putFileRPCRequest]; + + } + + break; + } + case NSStreamEventEndEncountered: + { + // Cleanup the stream + [stream close]; + [stream removeFromRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode]; + + break; + } + case NSStreamEventErrorOccurred: + { + [SDLDebugTool logInfo:@"Stream Event: Error" withType:SDLDebugType_RPC toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName]; + break; + } + default: + { + break; + } + } +} + + +#pragma mark - Siphon management ++(void)enableSiphonDebug { + [SDLSiphonServer enableSiphonDebug]; +} + ++(void)disableSiphonDebug { + [SDLSiphonServer disableSiphonDebug]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxyFactory.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxyFactory.h new file mode 100644 index 000000000..d26d6d0ba --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxyFactory.h @@ -0,0 +1,15 @@ +// SDLSyncProxyFactory.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLProxy.h" + +@interface SDLProxyFactory : NSObject {} + ++(SDLProxy*) buildSDLProxyWithListener:(NSObject<SDLProxyListener>*) listener; + ++(SDLProxy*) buildSDLProxyWithListener:(NSObject<SDLProxyListener>*) listener + tcpIPAddress: (NSString*) ipaddress + tcpPort: (NSString*) port; +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxyFactory.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxyFactory.m new file mode 100644 index 000000000..24bd520ac --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxyFactory.m @@ -0,0 +1,33 @@ +// SDLSyncProxyFactory.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLProxyFactory.h" + +#import "SDLDebugTool.h" +#import "SDLIAPTransport.h" +#import "SDLTCPTransport.h" +#import "SDLProtocol.h" + +@implementation SDLProxyFactory + ++(SDLProxy*) buildSDLProxyWithListener:(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 { + + SDLTCPTransport* transport = [[SDLTCPTransport alloc] initWithEndpoint:ipaddress endpointParam:port]; + SDLProtocol* protocol = [[SDLProtocol alloc] init]; + SDLProxy *ret = [[SDLProxy alloc] initWithTransport:transport protocol:protocol delegate:delegate]; + + return ret; +} + +@end
\ No newline at end of file diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxyListener.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxyListener.h new file mode 100644 index 000000000..1975abf46 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxyListener.h @@ -0,0 +1,129 @@ +// SDLProxyListener.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLAddCommandResponse.h" +#import "SDLAddSubMenuResponse.h" +#import "SDLAlertResponse.h" +#import "SDLChangeRegistrationResponse.h" +#import "SDLCreateInteractionChoiceSetResponse.h" +#import "SDLDeleteCommandResponse.h" +#import "SDLDeleteFileResponse.h" +#import "SDLDeleteInteractionChoiceSetResponse.h" +#import "SDLDeleteSubMenuResponse.h" +#import "SDLDiagnosticMessageResponse.h" +#import "SDLEncodedSyncPDataResponse.h" +#import "SDLEndAudioPassThruResponse.h" +#import "SDLGenericResponse.h" +#import "SDLGetDTCsResponse.h" +#import "SDLGetVehicleDataResponse.h" +#import "SDLListFilesResponse.h" +#import "SDLLockScreenStatus.h" +#import "SDLOnAppInterfaceUnregistered.h" +#import "SDLOnAudioPassThru.h" +#import "SDLOnButtonEvent.h" +#import "SDLOnButtonPress.h" +#import "SDLOnCommand.h" +#import "SDLOnDriverDistraction.h" +#import "SDLOnEncodedSyncPData.h" +#import "SDLOnHashChange.h" +#import "SDLOnHMIStatus.h" +#import "SDLOnLanguageChange.h" +#import "SDLOnPermissionsChange.h" +#import "SDLOnSyncPData.h" +#import "SDLOnSystemRequest.h" +#import "SDLOnVehicleData.h" +#import "SDLOnTBTClientState.h" +#import "SDLOnTouchEvent.h" +#import "SDLOnVehicleData.h" +#import "SDLPerformAudioPassThruResponse.h" +#import "SDLPerformInteractionResponse.h" +#import "SDLPutFileResponse.h" +#import "SDLReadDIDResponse.h" +#import "SDLRegisterAppInterfaceResponse.h" +#import "SDLResetGlobalPropertiesResponse.h" +#import "SDLScrollableMessageResponse.h" +#import "SDLSetAppIconResponse.h" +#import "SDLSetDisplayLayoutResponse.h" +#import "SDLSetGlobalPropertiesResponse.h" +#import "SDLSetMediaClockTimerResponse.h" +#import "SDLShowConstantTBTResponse.h" +#import "SDLShowResponse.h" +#import "SDLSliderResponse.h" +#import "SDLSpeakResponse.h" +#import "SDLSubscribeButtonResponse.h" +#import "SDLSubscribeVehicleDataResponse.h" +#import "SDLSyncPDataResponse.h" +#import "SDLUpdateTurnListResponse.h" +#import "SDLUnregisterAppInterfaceResponse.h" +#import "SDLUnsubscribeButtonResponse.h" +#import "SDLUnsubscribeVehicleDataResponse.h" + +@protocol SDLProxyListener + +-(void) onOnDriverDistraction:(SDLOnDriverDistraction*) notification; +-(void) onOnHMIStatus:(SDLOnHMIStatus*) notification; +-(void) onProxyClosed; +-(void) onProxyOpened; + +@optional + +-(void) onAddCommandResponse:(SDLAddCommandResponse*) response; +-(void) onAddSubMenuResponse:(SDLAddSubMenuResponse*) response; +-(void) onAlertResponse:(SDLAlertResponse*) response; +-(void) onChangeRegistrationResponse:(SDLChangeRegistrationResponse*) response; +-(void) onCreateInteractionChoiceSetResponse:(SDLCreateInteractionChoiceSetResponse*) response; +-(void) onDeleteCommandResponse:(SDLDeleteCommandResponse*) response; +-(void) onDeleteFileResponse:(SDLDeleteFileResponse*) response; +-(void) onDeleteInteractionChoiceSetResponse:(SDLDeleteInteractionChoiceSetResponse*) response; +-(void) onDeleteSubMenuResponse:(SDLDeleteSubMenuResponse*) response; +-(void) onDiagnosticMessageResponse:(SDLDiagnosticMessageResponse*) response; +-(void) onEncodedSyncPDataRespons:(SDLEncodedSyncPDataResponse*) response; +-(void) onEndAudioPassThruResponse:(SDLEndAudioPassThruResponse*) response; +-(void) onError:(NSException*) e; +-(void) onGenericResponse:(SDLGenericResponse*) response; +-(void) onGetDTCsResponse:(SDLGetDTCsResponse*) response; +-(void) onGetVehicleDataResponse:(SDLGetVehicleDataResponse*) response; +-(void) onListFilesResponse:(SDLListFilesResponse*) response; +-(void) onOnAppInterfaceUnregistered:(SDLOnAppInterfaceUnregistered*) notification; +-(void) onOnAudioPassThru:(SDLOnAudioPassThru*) notification; +-(void) onOnButtonEvent:(SDLOnButtonEvent*) notification; +-(void) onOnButtonPress:(SDLOnButtonPress*) notification; +-(void) onOnCommand:(SDLOnCommand*) notification; +-(void) onOnEncodedSyncPData:(SDLOnEncodedSyncPData*) notification; +-(void) onOnHashChange:(SDLOnHashChange*) notification; +-(void) onOnLanguageChange:(SDLOnLanguageChange*) notification; +-(void) onOnLockScreenNotification:(SDLLockScreenStatus*) notification; +-(void) onOnPermissionsChange:(SDLOnPermissionsChange*) notification; +-(void) onOnSyncPData:(SDLOnSyncPData*) notification; +-(void) onOnSystemRequest:(SDLOnSystemRequest*) notification; +-(void) onOnTBTClientState:(SDLOnTBTClientState*) notification; +-(void) onOnTouchEvent:(SDLOnTouchEvent*) notification; +-(void) onOnVehicleData:(SDLOnVehicleData*) notification; +-(void) onPerformAudioPassThruResponse:(SDLPerformAudioPassThruResponse*) response; +-(void) onPerformInteractionResponse:(SDLPerformInteractionResponse*) response; +-(void) onPutFileResponse:(SDLPutFileResponse*) response; +-(void) onReadDIDResponse:(SDLReadDIDResponse*) response; +-(void) onRegisterAppInterfaceResponse:(SDLRegisterAppInterfaceResponse*) response; +-(void) onResetGlobalPropertiesResponse:(SDLResetGlobalPropertiesResponse*) response; +-(void) onScrollableMessageResponse:(SDLScrollableMessageResponse*) response; +-(void) onSetAppIconResponse:(SDLSetAppIconResponse*) response; +-(void) onSetDisplayLayoutResponse:(SDLSetDisplayLayoutResponse*) response; +-(void) onSetGlobalPropertiesResponse:(SDLSetGlobalPropertiesResponse*) response; +-(void) onSetMediaClockTimerResponse:(SDLSetMediaClockTimerResponse*) response; +-(void) onShowConstantTBTResponse:(SDLShowConstantTBTResponse*) response; +-(void) onShowResponse:(SDLShowResponse*) response; +-(void) onSliderResponse:(SDLSliderResponse*) response; +-(void) onSpeakResponse:(SDLSpeakResponse*) response; +-(void) onSubscribeButtonResponse:(SDLSubscribeButtonResponse*) response; +-(void) onSubscribeVehicleDataResponse:(SDLSubscribeVehicleDataResponse*) response; +-(void) onSyncPDataResponse:(SDLSyncPDataResponse*) response; +-(void) onUpdateTurnListResponse:(SDLUpdateTurnListResponse*) response; +-(void) onUnregisterAppInterfaceResponse:(SDLUnregisterAppInterfaceResponse*) response; +-(void) onUnsubscribeButtonResponse:(SDLUnsubscribeButtonResponse*) response; +-(void) onUnsubscribeVehicleDataResponse:(SDLUnsubscribeVehicleDataResponse*) response; + + + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFile.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFile.h new file mode 100644 index 000000000..f3695f95b --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFile.h @@ -0,0 +1,22 @@ +// SDLPutFile.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +#import "SDLFileType.h" + +@interface SDLPutFile : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSString* syncFileName; +@property(strong) SDLFileType* fileType; +@property(strong) NSNumber* persistentFile; +@property(strong) NSNumber* systemFile; +@property(strong) NSNumber* offset; +@property(strong) NSNumber* length; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFile.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFile.m new file mode 100644 index 000000000..7ec3d6f47 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFile.m @@ -0,0 +1,98 @@ +// SDLPutFile.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLPutFile.h" + +#import "SDLNames.h" + +@implementation SDLPutFile + +-(id) init { + if (self = [super initWithName:NAMES_PutFile]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setSyncFileName:(NSString*) syncFileName { + if (syncFileName != nil) { + [parameters setObject:syncFileName forKey:NAMES_syncFileName]; + } else { + [parameters removeObjectForKey:NAMES_syncFileName]; + } +} + +-(NSString*) syncFileName { + return [parameters objectForKey:NAMES_syncFileName]; +} + +-(void) setFileType:(SDLFileType*) fileType { + if (fileType != nil) { + [parameters setObject:fileType forKey:NAMES_fileType]; + } else { + [parameters removeObjectForKey:NAMES_fileType]; + } +} + +-(SDLFileType*) fileType { + NSObject* obj = [parameters objectForKey:NAMES_fileType]; + if ([obj isKindOfClass:SDLFileType.class]) { + return (SDLFileType*)obj; + } else { + return [SDLFileType valueOf:(NSString*)obj]; + } +} + +-(void) setPersistentFile:(NSNumber*) persistentFile { + if (persistentFile != nil) { + [parameters setObject:persistentFile forKey:NAMES_persistentFile]; + } else { + [parameters removeObjectForKey:NAMES_persistentFile]; + } +} + +-(NSNumber*) persistentFile { + return [parameters objectForKey:NAMES_persistentFile]; +} + +-(void) setSystemFile:(NSNumber*) systemFile { + if (systemFile != nil) { + [parameters setObject:systemFile forKey:NAMES_systemFile]; + } else { + [parameters removeObjectForKey:NAMES_systemFile]; + } +} + +-(NSNumber*) systemFile { + return [parameters objectForKey:NAMES_systemFile]; +} + +-(void) setOffset:(NSNumber*) offset { + if (offset != nil) { + [parameters setObject:offset forKey:NAMES_offset]; + } else { + [parameters removeObjectForKey:NAMES_offset]; + } +} + +-(NSNumber*) offset { + return [parameters objectForKey:NAMES_offset]; +} + +-(void) setLength:(NSNumber*) length { + if (length != nil) { + [parameters setObject:length forKey:NAMES_length]; + } else { + [parameters removeObjectForKey:NAMES_length]; + } +} + +-(NSNumber*) length { + return [parameters objectForKey:NAMES_length]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFileResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFileResponse.h new file mode 100644 index 000000000..e02fbd80f --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFileResponse.h @@ -0,0 +1,15 @@ +// SDLPutFileResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLPutFileResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* spaceAvailable; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFileResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFileResponse.m new file mode 100644 index 000000000..8c445ebae --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFileResponse.m @@ -0,0 +1,33 @@ +// SDLPutFileResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLPutFileResponse.h" + +#import "SDLNames.h" + +@implementation SDLPutFileResponse + +-(id) init { + if (self = [super initWithName:NAMES_PutFile]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setSpaceAvailable:(NSNumber*) spaceAvailable { + if (spaceAvailable != nil) { + [parameters setObject:spaceAvailable forKey:NAMES_spaceAvailable]; + } else { + [parameters removeObjectForKey:NAMES_spaceAvailable]; + } +} + +-(NSNumber*) spaceAvailable { + return [parameters objectForKey:NAMES_spaceAvailable]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessage.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessage.h new file mode 100644 index 000000000..eaf584505 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessage.h @@ -0,0 +1,36 @@ +// SDLRPCMessage.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLRPCStruct : NSObject { + NSMutableDictionary* store; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict; +-(id) init; + +-(NSMutableDictionary*) serializeAsDictionary:(Byte) version; + +@end + +@interface SDLRPCMessage : SDLRPCStruct { + NSMutableDictionary* function; + NSMutableDictionary* parameters; + NSString* messageType; +} + +-(id) initWithName:(NSString*) name; +-(id) initWithDictionary:(NSMutableDictionary*) dict; +-(NSString*) getFunctionName; +-(void) setFunctionName:(NSString*) functionName; +-(NSObject*) getParameters:(NSString*) functionName; +-(void) setParameters:(NSString*) functionName value:(NSObject*) value; + +@property(strong) NSData* bulkData; +@property(strong, readonly) NSString* name; +@property(strong, readonly) NSString* messageType; + +@end
\ No newline at end of file diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessage.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessage.m new file mode 100644 index 000000000..bde14c65d --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessage.m @@ -0,0 +1,156 @@ +// SDLRPCMessage.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLRPCMessage.h" + +#import "SDLNames.h" + +@implementation SDLRPCStruct + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super init]) { + store = dict; + } + return self; +} + +-(id) init { + if (self = [super init]) { + store = [[NSMutableDictionary alloc] init]; + } + return self; +} + +-(NSMutableDictionary*) serializeDictionary:(NSDictionary*) dict version:(Byte) version { + + NSMutableDictionary* ret = [NSMutableDictionary dictionaryWithCapacity:dict.count]; + for (NSString* key in [dict keyEnumerator]) { + NSObject* value = [dict objectForKey:key]; + if ([value isKindOfClass:SDLRPCStruct.class]) { + [ret setObject:[(SDLRPCStruct*)value serializeAsDictionary:version] forKey:key]; + } else if ([value isKindOfClass:NSDictionary.class]) { + [ret setObject:[self serializeDictionary:(NSDictionary*)value version:version] forKey:key]; + } else if ([value isKindOfClass:NSArray.class]) { + NSArray* arrayVal = (NSArray*) value; + + if (arrayVal.count > 0 + && ([[arrayVal objectAtIndex:0] isKindOfClass:SDLRPCStruct.class])) { + NSMutableArray* serializedList = [NSMutableArray arrayWithCapacity:arrayVal.count]; + for (SDLRPCStruct* serializeable in arrayVal) { + [serializedList addObject:[serializeable serializeAsDictionary:version]]; + } + [ret setObject:serializedList forKey:key]; + } else if (arrayVal.count > 0 + && ([[arrayVal objectAtIndex:0] isKindOfClass:SDLEnum.class])) { + NSMutableArray* serializedList = [NSMutableArray arrayWithCapacity:arrayVal.count]; + for (SDLEnum* anEnum in arrayVal) { + [serializedList addObject:anEnum.value]; + } + [ret setObject:serializedList forKey:key]; + } else { + [ret setObject:value forKey:key]; + } + } else if ([value isKindOfClass:SDLEnum.class]) { + [ret setObject:((SDLEnum*)value).value forKey:key]; + } else { + [ret setObject:value forKey:key]; + } + } + return ret; +} + +-(NSMutableDictionary*) serializeAsDictionary:(Byte) version { + if (version == 2) { + NSString* messageType = [[store keyEnumerator] nextObject]; + NSMutableDictionary* function = [store objectForKey:messageType]; + if ([function isKindOfClass:NSMutableDictionary.class]) { + NSMutableDictionary* parameters = [function objectForKey:NAMES_parameters]; + return [self serializeDictionary:parameters version:version]; + } else { + return [self serializeDictionary:store version:version]; + } + } else { + return [self serializeDictionary:store version:version]; + } +} + +-(void) dealloc { + store = nil; +} + +@end + +@implementation SDLRPCMessage + +@synthesize messageType; + +-(id) initWithName:(NSString*) name { + if (self = [super init]) { + function = [[NSMutableDictionary alloc] initWithCapacity:3]; + parameters = [[NSMutableDictionary alloc] init]; + messageType = NAMES_request; + [store setObject:function forKey:messageType]; + [function setObject:parameters forKey:NAMES_parameters]; + [function setObject:name forKey:NAMES_operation_name]; + } + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) { + + NSEnumerator *enumerator = [store keyEnumerator]; + while (messageType = [enumerator nextObject]) { + if ([messageType isEqualToString:@"bulkData"] == FALSE){ + break; + } + } + + function = [store objectForKey:messageType]; + parameters = [function objectForKey:NAMES_parameters]; + self.bulkData = [dict objectForKey:@"bulkData"]; + } + return self; +} + +-(NSString*) getFunctionName { + return [function objectForKey:NAMES_operation_name]; +} + +-(void) setFunctionName:(NSString*) functionName { + if (functionName != nil) { + [function setObject:functionName forKey:NAMES_operation_name]; + } else { + [function removeObjectForKey:NAMES_operation_name]; + } +} + +-(NSObject*) getParameters:(NSString*) functionName { + return [parameters objectForKey:functionName]; +} + +-(void) setParameters:(NSString*) functionName value:(NSObject*) value { + if (value != nil) { + [parameters setObject:value forKey:functionName]; + } else { + [parameters removeObjectForKey:functionName]; + } +} + +-(void) dealloc { + function = nil; + parameters = nil; +} + +-(NSString*) name { + return [function objectForKey:NAMES_operation_name]; +} + +- (NSString *)description { + NSMutableString *description = [NSMutableString stringWithFormat:@"%@ %@\n%@", self.name, self.messageType, self->parameters]; + + return description; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessageType.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessageType.h new file mode 100644 index 000000000..b4e427b78 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessageType.h @@ -0,0 +1,17 @@ +// SDLRPCMessageType.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLRPCMessageType : SDLEnum {} + ++(SDLRPCMessageType*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLRPCMessageType*) request; ++(SDLRPCMessageType*) response; ++(SDLRPCMessageType*) notification; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessageType.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessageType.m new file mode 100644 index 000000000..0c53963fb --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessageType.m @@ -0,0 +1,55 @@ +// SDLRPCMessageType.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLRPCMessageType.h" + +SDLRPCMessageType* SDLRPCMessageType_request = nil; +SDLRPCMessageType* SDLRPCMessageType_response = nil; +SDLRPCMessageType* SDLRPCMessageType_notification = nil; + +NSMutableArray* SDLRPCMessageType_values = nil; +@implementation SDLRPCMessageType + ++(SDLRPCMessageType*) valueOf:(NSString*) value { + for (SDLRPCMessageType* item in SDLRPCMessageType.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLRPCMessageType_values == nil) { + SDLRPCMessageType_values = [[NSMutableArray alloc] initWithObjects: + SDLRPCMessageType_request, + SDLRPCMessageType_response, + SDLRPCMessageType_notification, + nil]; + } + return SDLRPCMessageType_values; +} + ++(SDLRPCMessageType*) request { + if (SDLRPCMessageType_request == nil) { + SDLRPCMessageType_request = [[SDLRPCMessageType alloc] initWithValue:@"request"]; + } + return SDLRPCMessageType_request; +} + ++(SDLRPCMessageType*) response { + if (SDLRPCMessageType_response == nil) { + SDLRPCMessageType_response = [[SDLRPCMessageType alloc] initWithValue:@"response"]; + } + return SDLRPCMessageType_response; +} + ++(SDLRPCMessageType*) notification { + if (SDLRPCMessageType_notification == nil) { + SDLRPCMessageType_notification = [[SDLRPCMessageType alloc] initWithValue:@"notification"]; + } + return SDLRPCMessageType_notification; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCNotification.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCNotification.h new file mode 100644 index 000000000..84c19c3b0 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCNotification.h @@ -0,0 +1,10 @@ +// SDLRPCNotification.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +@interface SDLRPCNotification : SDLRPCMessage {} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCNotification.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCNotification.m new file mode 100644 index 000000000..239e0f9c3 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCNotification.m @@ -0,0 +1,9 @@ +// SDLRPCNotification.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLRPCNotification.h" + +@implementation SDLRPCNotification + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCPayload.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCPayload.h new file mode 100644 index 000000000..0b87632d1 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCPayload.h @@ -0,0 +1,18 @@ +// SDLRPCPayload.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +@import Foundation; + +@interface SDLRPCPayload : NSObject + +@property (assign) Byte rpcType; +@property (assign) UInt32 functionID; +@property (assign) UInt32 correlationID; +@property (strong) NSData *jsonData; +@property (strong) NSData *binaryData; + +- (NSData *)data; ++ (id)rpcPayloadWithData:(NSData *)data; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCPayload.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCPayload.m new file mode 100644 index 000000000..2dae348f8 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCPayload.m @@ -0,0 +1,123 @@ +// SDLRPCPayload.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLRPCPayload.h" + +const NSUInteger RPC_HEADER_SIZE = 12; + +@implementation SDLRPCPayload + +-(id) init { + if (self = [super init]) { + + } + return self; +} + +-(id) initWithData:(NSData *)data { + unsigned long dataLength = data.length; + + if (data == nil || dataLength == 0) { + NSLog(@"Error: data is nil."); + return nil; + } + + if (dataLength < RPC_HEADER_SIZE) { + NSLog(@"Error: insfficient data to form RPC header."); + return nil; + } + + if (self = [self init]) { + @try { + // Setup our pointers for data access + UInt8 *bytePointer = (UInt8 *)data.bytes; + UInt32 *ui32Pointer = (UInt32 *)data.bytes; + + // Extract the parts + UInt8 rpcType = (bytePointer[0] & 0xF0) >> 4; + + self.rpcType = rpcType; + + UInt32 functionID = ui32Pointer[0]; + functionID = CFSwapInt32BigToHost(functionID) & 0x0FFFFFFF; + self.functionID = functionID; + + UInt32 correlationID = ui32Pointer[1]; + correlationID = CFSwapInt32BigToHost(correlationID); + self.correlationID = correlationID; + + UInt32 jsonDataSize = ui32Pointer[2]; + jsonDataSize = CFSwapInt32BigToHost(jsonDataSize); + + NSData *jsonData = nil; + NSUInteger offsetOfJSONData = RPC_HEADER_SIZE; + if (jsonDataSize > 0 && jsonDataSize <= dataLength-RPC_HEADER_SIZE ) { + jsonData = [data subdataWithRange:NSMakeRange(offsetOfJSONData, jsonDataSize)]; + } + self.jsonData = jsonData; + + NSData *binaryData = nil; + NSUInteger offsetOfBinaryData = RPC_HEADER_SIZE + jsonDataSize; + NSInteger binaryDataSize = data.length - jsonDataSize - RPC_HEADER_SIZE; + if (binaryDataSize > 0) { + binaryData = [data subdataWithRange:NSMakeRange(offsetOfBinaryData, binaryDataSize)]; + } + self.binaryData = binaryData; + + } @catch (NSException *e) { + // Print exception information + NSLog( @"NSException caught in SDLRPCPayload::initWithData" ); + NSLog( @"Name: %@", e.name); + NSLog( @"Reason: %@", e.reason ); + NSLog( @"Data: %@", data.debugDescription ); + return nil; + + } + } + + return self; +} + +- (NSData *)data { + // Header is: + // RPC Type - first 4 bits + // RPC Function ID - next 28 bits + // Correlation ID - next 32 bits + // JSON size - next 32 bits + UInt8 headerBuffer[RPC_HEADER_SIZE]; + *(UInt32 *)&headerBuffer[0] = CFSwapInt32HostToBig(self.functionID); + *(UInt32 *)&headerBuffer[4] = CFSwapInt32HostToBig(self.correlationID); + *(UInt32 *)&headerBuffer[8] = CFSwapInt32HostToBig((UInt32)self.jsonData.length); + UInt8 rpcType = (self.rpcType & 0x0F) << 4; + headerBuffer[0] &= 0x0F; + headerBuffer[0] |= rpcType; + + // Serialize the header, the json data then the binary data + NSMutableData *dataOut = [NSMutableData dataWithCapacity:[self size]]; + [dataOut appendBytes:&headerBuffer length:12]; + [dataOut appendData:self.jsonData]; + [dataOut appendData:self.binaryData]; + + return dataOut; +} + +- (NSUInteger)size { + NSUInteger headerSize = RPC_HEADER_SIZE; + NSUInteger jsonDataSize = self.jsonData.length; + NSUInteger binaryDataSize = self.binaryData.length; + + return (headerSize + jsonDataSize + binaryDataSize); +} + +- (NSString *)description { + NSMutableString *description = [[NSMutableString alloc] init]; + [description appendFormat:@" rpcType:%i, functionID:%i, correlationID:%i, json:%lu bytes, binary:%lu bytes", self.rpcType, (unsigned int)self.functionID, (unsigned int)self.correlationID, (unsigned long)self.jsonData.length, (unsigned long)self.binaryData.length]; + + return description; +} + ++ (id)rpcPayloadWithData:(NSData *)data { + return [[SDLRPCPayload alloc] initWithData:data]; +} +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCRequest.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCRequest.h new file mode 100644 index 000000000..64e458fec --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCRequest.h @@ -0,0 +1,12 @@ +// SDLRPCRequest.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +@interface SDLRPCRequest : SDLRPCMessage {} + +@property(strong) NSNumber* correlationID; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCRequest.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCRequest.m new file mode 100644 index 000000000..7be72a152 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCRequest.m @@ -0,0 +1,23 @@ +// SDLRPCRequest.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLRPCRequest.h" + +#import "SDLNames.h" + +@implementation SDLRPCRequest + +-(NSNumber*) correlationID { + return [function objectForKey:NAMES_correlationID]; +} + +-(void) setCorrelationID:(NSNumber *)corrID { + if (corrID != nil) { + [function setObject:corrID forKey:NAMES_correlationID]; + } else { + [function removeObjectForKey:NAMES_correlationID]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCRequestFactory.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCRequestFactory.h new file mode 100644 index 000000000..b1c6626da --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCRequestFactory.h @@ -0,0 +1,188 @@ +// SDLRPCRequestFactory.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + + +#import "SDLAddCommand.h" +#import "SDLAddSubMenu.h" +#import "SDLAlert.h" +#import "SDLAppHMIType.h" +#import "SDLChangeRegistration.h" +#import "SDLCreateInteractionChoiceSet.h" +#import "SDLDeleteCommand.h" +#import "SDLDeleteFile.h" +#import "SDLDeleteInteractionChoiceSet.h" +#import "SDLDeleteSubMenu.h" +#import "SDLEndAudioPassThru.h" +#import "SDLGetDTCs.h" +#import "SDLGetVehicleData.h" +#import "SDLListFiles.h" +#import "SDLPerformAudioPassThru.h" +#import "SDLPerformInteraction.h" +#import "SDLPutFile.h" +#import "SDLReadDID.h" +#import "SDLRegisterAppInterface.h" +#import "SDLResetGlobalProperties.h" +#import "SDLScrollableMessage.h" +#import "SDLSetAppIcon.h" +#import "SDLSetDisplayLayout.h" +#import "SDLSetGlobalProperties.h" +#import "SDLSetMediaClockTimer.h" +#import "SDLShow.h" +#import "SDLSlider.h" +#import "SDLSpeak.h" +#import "SDLSubscribeButton.h" +#import "SDLSubscribeVehicleData.h" +#import "SDLUnregisterAppInterface.h" +#import "SDLUnsubscribeButton.h" +#import "SDLUnsubscribeVehicleData.h" + +@interface SDLRPCRequestFactory : NSObject {} + +//***** AddCommand ***** ++(SDLAddCommand*) buildAddCommandWithID:(NSNumber*) cmdID menuName:(NSString*) menuName parentID:(NSNumber*) parentID position:(NSNumber*) position vrCommands:(NSArray*) vrCommands iconValue:(NSString*) iconValue iconType:(SDLImageType*) iconType correlationID:(NSNumber*) correlationID; + ++(SDLAddCommand*) buildAddCommandWithID:(NSNumber*) cmdID menuName:(NSString*) menuName vrCommands:(NSArray*) vrCommands correlationID:(NSNumber*) correlationID; + ++(SDLAddCommand*) buildAddCommandWithID:(NSNumber*) cmdID vrCommands:(NSArray*) vrCommands correlationID:(NSNumber*) correlationID; +//***** + + +//***** AddSubMenu ***** ++(SDLAddSubMenu*) buildAddSubMenuWithID:(NSNumber*) menuID menuName:(NSString*) menuName position:(NSNumber*) position correlationID:(NSNumber*) correlationID; + ++(SDLAddSubMenu*) buildAddSubMenuWithID:(NSNumber*) menuID menuName:(NSString*) menuName correlationID:(NSNumber*) correlationID; +//***** + + +//***** Alert ***** ++(SDLAlert*) buildAlertWithTTS:(NSString*) ttsText alertText1:(NSString*) alertText1 alertText2:(NSString*) alertText2 alertText3:(NSString*) alertText3 playTone:(NSNumber*) playTone duration:(NSNumber*) duration correlationID:(NSNumber*) correlationID; + ++(SDLAlert*) buildAlertWithTTS:(NSString*) ttsText alertText1:(NSString*) alertText1 alertText2:(NSString*) alertText2 playTone:(NSNumber*) playTone duration:(NSNumber*) duration correlationID:(NSNumber*) correlationID; + ++(SDLAlert*) buildAlertWithTTS:(NSString*) ttsText playTone:(NSNumber*) playTone correlationID:(NSNumber*) +correlationID; + +//*** ++(SDLAlert*) buildAlertWithTTSChunks:(NSArray*) ttsChunks alertText1:(NSString*) alertText1 alertText2:(NSString*) alertText2 alertText3:(NSString*) alertText3 playTone:(NSNumber*) playTone duration:(NSNumber*) duration softButtons:(NSArray*) softButtons correlationID:(NSNumber*) correlationID; + ++(SDLAlert*) buildAlertWithTTSChunks:(NSArray*) ttsChunks playTone:(NSNumber*) playTone correlationID:(NSNumber*) correlationID; + +//*** ++(SDLAlert*) buildAlertWithAlertText1:(NSString*) alertText1 alertText2:(NSString*) alertText2 alertText3:(NSString*) alertText3 duration:(NSNumber*) duration softButtons:(NSArray*) softButtons correlationID:(NSNumber*) correlationID; + ++(SDLAlert*) buildAlertWithAlertText1:(NSString*) alertText1 alertText2:(NSString*) alertText2 alertText3:(NSString*) alertText3 duration:(NSNumber*) duration correlationID:(NSNumber*) correlationID; + ++(SDLAlert*) buildAlertWithAlertText1:(NSString*) alertText1 alertText2:(NSString*) alertText2 duration:(NSNumber*) duration correlationID:(NSNumber*) correlationID; +//***** + + ++(SDLChangeRegistration*) buildChangeRegistrationWithLanguage:(SDLLanguage*) language hmiDisplayLanguage:(SDLLanguage*) hmiDisplayLanguage correlationID:(NSNumber*) correlationID; + ++(SDLCreateInteractionChoiceSet*) buildCreateInteractionChoiceSetWithID:(NSNumber*)interactionChoiceSetID choiceSet:(NSArray*) choices correlationID:(NSNumber*) correlationID; + ++(SDLDeleteCommand*) buildDeleteCommandWithID:(NSNumber*) cmdID correlationID:(NSNumber*) correlationID; + ++(SDLDeleteFile*) buildDeleteFileWithName:(NSString*) syncFileName correlationID:(NSNumber*) correlationID; + ++(SDLListFiles*) buildListFilesWithCorrelationID:(NSNumber*) correlationID; + ++(SDLDeleteInteractionChoiceSet*) buildDeleteInteractionChoiceSetWithID:(NSNumber*)interactionChoiceSetID correlationID:(NSNumber*) correlationID; + ++(SDLDeleteSubMenu*) buildDeleteSubMenuWithID:(NSNumber*) menuID correlationID:(NSNumber*) correlationID; + ++(SDLEndAudioPassThru*) buildEndAudioPassThruWithCorrelationID:(NSNumber*) correlationID; + ++(SDLGetDTCs*) buildGetDTCsWithECUName:(NSNumber*) ecuName correlationID:(NSNumber*) correlationID; + ++(SDLGetVehicleData*) buildGetVehicleDataWithGPS:(NSNumber*) gps speed:(NSNumber*) speed rpm:(NSNumber*) rpm fuelLevel:(NSNumber*) fuelLevel fuelLevelState:(NSNumber*) fuelLevelState instantFuelConsumption:(NSNumber*) instantFuelConsumption externalTemperature:(NSNumber*) externalTemperature vin:(NSNumber*) vin prndl:(NSNumber*) prndl tirePressure:(NSNumber*) tirePressure odometer:(NSNumber*) odometer beltStatus:(NSNumber*) beltStatus bodyInformation:(NSNumber*) bodyInformation deviceStatus:(NSNumber*) deviceStatus driverBraking:(NSNumber*) driverBraking wiperStatus:(NSNumber*) wiperStatus headLampStatus:(NSNumber*) headLampStatus engineTorque:(NSNumber*) engineTorque accPedalPosition:(NSNumber*) accPedalPosition steeringWheelAngle:(NSNumber*) steeringWheelAngle correlationID:(NSNumber*) correlationID; + ++(SDLPerformAudioPassThru*) buildPerformAudioPassThruWithInitialPrompt:(NSString*) initialPrompt audioPassThruDisplayText1:(NSString*) audioPassThruDisplayText1 audioPassThruDisplayText2:(NSString*) audioPassThruDisplayText2 samplingRate:(SDLSamplingRate*) samplingRate maxDuration:(NSNumber*) maxDuration bitsPerSample:(SDLBitsPerSample*) bitsPerSample audioType:(SDLAudioType*) audioType muteAudio:(NSNumber*) muteAudio correlationID:(NSNumber*) correlationID; + + +//***** PerformInteraction ***** ++(SDLPerformInteraction*) buildPerformInteractionWithInitialChunks:(NSArray*)initialChunks initialText:(NSString*)initialText interactionChoiceSetIDList:(NSArray*) interactionChoiceSetIDList helpChunks:(NSArray*)helpChunks timeoutChunks:(NSArray*)timeoutChunks interactionMode:(SDLInteractionMode*) interactionMode timeout:(NSNumber*)timeout vrHelp:(NSArray*) vrHelp correlationID:(NSNumber*) correlationID; + +//*** ++(SDLPerformInteraction*) buildPerformInteractionWithInitialPrompt:(NSString*)initialPrompt initialText:(NSString*)initialText interactionChoiceSetIDList:(NSArray*) interactionChoiceSetIDList helpPrompt:(NSString*)helpPrompt timeoutPrompt:(NSString*)timeoutPrompt interactionMode:(SDLInteractionMode*) interactionMode timeout:(NSNumber*)timeout vrHelp:(NSArray*) vrHelp correlationID:(NSNumber*) correlationID; + ++(SDLPerformInteraction*) buildPerformInteractionWithInitialPrompt:(NSString*)initialPrompt initialText:(NSString*)initialText interactionChoiceSetID:(NSNumber*) interactionChoiceSetID vrHelp:(NSArray*) vrHelp correlationID:(NSNumber*) correlationID; + ++(SDLPerformInteraction*) buildPerformInteractionWithInitialPrompt:(NSString*)initialPrompt initialText:(NSString*)initialText interactionChoiceSetIDList:(NSArray*) interactionChoiceSetIDList helpPrompt:(NSString*)helpPrompt timeoutPrompt:(NSString*)timeoutPrompt interactionMode:(SDLInteractionMode*) interactionMode timeout:(NSNumber*)timeout correlationID:(NSNumber*) correlationID; + ++(SDLPerformInteraction*) buildPerformInteractionWithInitialPrompt:(NSString*)initialPrompt initialText:(NSString*)initialText interactionChoiceSetID:(NSNumber*) interactionChoiceSetID correlationID:(NSNumber*) correlationID; +//***** + + ++(SDLPutFile*) buildPutFileWithFileName:(NSString*) syncFileName fileType:(SDLFileType*) fileType persisistentFile:(NSNumber*) persistentFile correlationID:(NSNumber*) correlationID; + ++(SDLReadDID*) buildReadDIDWithECUName:(NSNumber*) ecuName didLocation:(NSArray*) didLocation correlationID:(NSNumber*) correlationID; + +//***** RegisterAppInterface ***** ++(SDLRegisterAppInterface*) buildRegisterAppInterfaceWithAppName:(NSString*) appName ttsName:(NSMutableArray*) ttsName vrSynonyms:(NSMutableArray*) vrSynonyms isMediaApp:(NSNumber*) isMediaApp languageDesired:(SDLLanguage*) languageDesired hmiDisplayLanguageDesired:(SDLLanguage*) hmiDisplayLanguageDesired appID:(NSString*) appID; + ++(SDLRegisterAppInterface*) buildRegisterAppInterfaceWithAppName:(NSString*) appName isMediaApp:(NSNumber*) isMediaApp languageDesired:(SDLLanguage*) languageDesired appID:(NSString*) appID; + ++(SDLRegisterAppInterface*) buildRegisterAppInterfaceWithAppName:(NSString*) appName languageDesired:(SDLLanguage*) laguageDesired appID:(NSString*) appID; +//***** + + ++(SDLResetGlobalProperties*) buildResetGlobalPropertiesWithProperties:(NSArray*) properties correlationID:(NSNumber*) correlationID; + ++(SDLScrollableMessage*) buildScrollableMessage:(NSString*) scrollableMessageBody timeout:(NSNumber*) timeout softButtons:(NSArray*) softButtons correlationID:(NSNumber*) correlationID; + ++(SDLSetAppIcon*) buildSetAppIconWithFileName:(NSString*) syncFileName correlationID:(NSNumber*) correlationID; + ++(SDLSetDisplayLayout*) buildSetDisplayLayout:(NSString*) displayLayout correlationID:(NSNumber*) correlationID; + + +//***** SetGlobalProperties ***** ++(SDLSetGlobalProperties*) buildSetGlobalPropertiesWithHelpText:(NSString*) helpText timeoutText:(NSString*) timeoutText vrHelpTitle:(NSString*) vrHelpTitle vrHelp:(NSArray*) vrHelp correlationID:(NSNumber*) correlationID; + ++(SDLSetGlobalProperties*) buildSetGlobalPropertiesWithHelpText:(NSString*) helpText timeoutText:(NSString*) timeoutText correlationID:(NSNumber*) correlationID; +//***** + + +//***** SetMediaClockTimer ***** ++(SDLSetMediaClockTimer*) buildSetMediaClockTimerWithHours:(NSNumber*) hours minutes:(NSNumber*) minutes seconds:(NSNumber*) seconds updateMode:(SDLUpdateMode*) updateMode correlationID:(NSNumber*) correlationID; + ++(SDLSetMediaClockTimer*) buildSetMediaClockTimerWithUpdateMode:(SDLUpdateMode*) updateMode correlationID:(NSNumber*) correlationID; +//***** + + +//***** Show ***** ++(SDLShow*) buildShowWithMainField1:(NSString*) mainField1 mainField2: (NSString*) mainField2 mainField3: (NSString*) mainField3 mainField4: (NSString*) mainField4 statusBar:(NSString*) statusBar mediaClock:(NSString*) mediaClock mediaTrack:(NSString*) mediaTrack alignment:(SDLTextAlignment*) textAlignment graphic:(SDLImage*) graphic softButtons:(NSArray*) softButtons customPresets:(NSArray*) customPresets correlationID:(NSNumber*) correlationID; + ++(SDLShow*) buildShowWithMainField1:(NSString*) mainField1 mainField2: (NSString*) mainField2 statusBar:(NSString*) statusBar mediaClock:(NSString*) mediaClock mediaTrack:(NSString*) mediaTrack alignment:(SDLTextAlignment*) textAlignment correlationID:(NSNumber*) correlationID; + ++(SDLShow*) buildShowWithMainField1:(NSString*) mainField1 mainField2: (NSString*) mainField2 alignment:(SDLTextAlignment*) alignment correlationID:(NSNumber*) correlationID; +//***** + + +//***** Slider ***** ++(SDLSlider*) buildSliderDynamicFooterWithNumTicks:(NSNumber*) numTicks position:(NSNumber*) position sliderHeader:(NSString*) sliderHeader sliderFooter:(NSArray*) sliderFooter timeout:(NSNumber*) timeout correlationID:(NSNumber*) correlationID; + ++(SDLSlider*) buildSliderStaticFooterWithNumTicks:(NSNumber*) numTicks position:(NSNumber*) position sliderHeader:(NSString*) sliderHeader sliderFooter:(NSString*) sliderFooter timeout:(NSNumber*) timeout correlationID:(NSNumber*) correlationID; +//***** + + +//***** Speak ***** ++(SDLSpeak*) buildSpeakWithTTSChunks:(NSArray*) ttsChunks correlationID:(NSNumber*) correlationID; + +//*** ++(SDLSpeak*) buildSpeakWithTTS:(NSString*) ttsText correlationID:(NSNumber*) correlationID; +//***** + + ++(SDLSubscribeButton*) buildSubscribeButtonWithName:(SDLButtonName*) buttonName correlationID:(NSNumber*) correlationID; + ++(SDLSubscribeVehicleData*) buildSubscribeVehicleDataWithGPS:(NSNumber*) gps speed:(NSNumber*) speed rpm:(NSNumber*) rpm fuelLevel:(NSNumber*) fuelLevel fuelLevelState:(NSNumber*) fuelLevelState instantFuelConsumption:(NSNumber*) instantFuelConsumption externalTemperature:(NSNumber*) externalTemperature prndl:(NSNumber*) prndl tirePressure:(NSNumber*) tirePressure odometer:(NSNumber*) odometer beltStatus:(NSNumber*) beltStatus bodyInformation:(NSNumber*) bodyInformation deviceStatus:(NSNumber*) deviceStatus driverBraking:(NSNumber*) driverBraking wiperStatus:(NSNumber*) wiperStatus headLampStatus:(NSNumber*) headLampStatus engineTorque:(NSNumber*) engineTorque accPedalPosition:(NSNumber*) accPedalPosition steeringWheelAngle:(NSNumber*) steeringWheelAngle correlationID:(NSNumber*) correlationID; + ++(SDLUnregisterAppInterface*) buildUnregisterAppInterfaceWithCorrelationID:(NSNumber*) correlationID; + ++(SDLUnsubscribeButton*) buildUnsubscribeButtonWithName:(SDLButtonName*) buttonName correlationID:(NSNumber*) correlationID; + ++(SDLUnsubscribeVehicleData*) buildUnsubscribeVehicleDataWithGPS:(NSNumber*) gps speed:(NSNumber*) speed rpm:(NSNumber*) rpm fuelLevel:(NSNumber*) fuelLevel fuelLevelState:(NSNumber*) fuelLevelState instantFuelConsumption:(NSNumber*) instantFuelConsumption externalTemperature:(NSNumber*) externalTemperature prndl:(NSNumber*) prndl tirePressure:(NSNumber*) tirePressure odometer:(NSNumber*) odometer beltStatus:(NSNumber*) beltStatus bodyInformation:(NSNumber*) bodyInformation deviceStatus:(NSNumber*) deviceStatus driverBraking:(NSNumber*) driverBraking wiperStatus:(NSNumber*) wiperStatus headLampStatus:(NSNumber*) headLampStatus engineTorque:(NSNumber*) engineTorque accPedalPosition:(NSNumber*) accPedalPosition steeringWheelAngle:(NSNumber*) steeringWheelAngle correlationID:(NSNumber*) correlationID; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCRequestFactory.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCRequestFactory.m new file mode 100644 index 000000000..ed50798d4 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCRequestFactory.m @@ -0,0 +1,623 @@ +// SDLRPCRequestFactory.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLRPCRequestFactory.h" + +#import "SDLMenuParams.h" +#import "SDLTTSChunkFactory.h" + +@implementation SDLRPCRequestFactory + +//***** AddCommand ***** ++(SDLAddCommand*) buildAddCommandWithID:(NSNumber*) cmdID menuName:(NSString*) menuName parentID:(NSNumber*) parentID position:(NSNumber*) position vrCommands:(NSArray*) vrCommands iconValue:(NSString*) iconValue iconType:(SDLImageType*) iconType correlationID:(NSNumber*) correlationID { + + SDLAddCommand* msg = [[SDLAddCommand alloc] init]; + msg.correlationID = correlationID; + + msg.cmdID = cmdID; + + if (menuName != nil || parentID != nil || position != nil) { + SDLMenuParams* menuParams = [[SDLMenuParams alloc] init]; + menuParams.menuName = menuName; + menuParams.parentID = parentID; + menuParams.position = position; + msg.menuParams = menuParams; + } + msg.vrCommands = [vrCommands mutableCopy]; + + if (iconValue != nil || iconType != nil) { + SDLImage* icon = [[SDLImage alloc] init]; + icon.value = iconValue; + icon.imageType = iconType; + msg.cmdIcon = icon; + } + + return msg; +} + ++(SDLAddCommand*) buildAddCommandWithID:(NSNumber*) cmdID menuName:(NSString*) menuName vrCommands:(NSArray*) vrCommands correlationID:(NSNumber*) correlationID { + + return [SDLRPCRequestFactory buildAddCommandWithID:cmdID menuName:menuName parentID:nil position:nil vrCommands:vrCommands iconValue:nil iconType:nil correlationID:correlationID]; +} + ++(SDLAddCommand*) buildAddCommandWithID:(NSNumber*) cmdID vrCommands:(NSArray*) vrCommands correlationID:(NSNumber*) correlationID { + + return [SDLRPCRequestFactory buildAddCommandWithID:cmdID menuName:nil vrCommands:vrCommands correlationID:correlationID]; +} +//***** + + +//***** AddSubMenu ***** ++(SDLAddSubMenu*) buildAddSubMenuWithID:(NSNumber*) menuID menuName:(NSString*) menuName position:(NSNumber*) position correlationID:(NSNumber*) correlationID { + + SDLAddSubMenu* msg = [[SDLAddSubMenu alloc] init]; + msg.correlationID = correlationID; + msg.menuID = menuID; + msg.menuName = menuName; + msg.position = position; + + return msg; +} + ++(SDLAddSubMenu*) buildAddSubMenuWithID:(NSNumber*) menuID menuName:(NSString*) menuName correlationID:(NSNumber*) correlationID { + return [SDLRPCRequestFactory buildAddSubMenuWithID:menuID menuName:menuName position:nil correlationID:correlationID]; +} +//***** + + +//***** Alert ***** ++(SDLAlert*) buildAlertWithTTS:(NSString*) ttsText alertText1:(NSString*) alertText1 alertText2:(NSString*) alertText2 alertText3:(NSString*) alertText3 playTone:(NSNumber*) playTone duration:(NSNumber*) duration correlationID:(NSNumber*) correlationID { + + SDLTTSChunk* simpleChunk = [[SDLTTSChunk alloc] init]; + simpleChunk.text = ttsText; + simpleChunk.type = SDLSpeechCapabilities.TEXT; + NSArray* ttsChunks = [NSArray arrayWithObject:simpleChunk]; + + return [SDLRPCRequestFactory buildAlertWithTTSChunks:ttsChunks alertText1:alertText1 alertText2:alertText2 alertText3:alertText3 playTone:playTone duration:duration softButtons:nil correlationID:correlationID]; +} + ++(SDLAlert*) buildAlertWithTTS:(NSString*) ttsText alertText1:(NSString*) alertText1 alertText2:(NSString*) alertText2 playTone:(NSNumber*) playTone duration:(NSNumber*) duration correlationID:(NSNumber*) correlationID { + + return [SDLRPCRequestFactory buildAlertWithTTS:ttsText alertText1:alertText1 alertText2:alertText2 alertText3:nil playTone:playTone duration:duration correlationID:correlationID]; +} + ++(SDLAlert*) buildAlertWithTTS:(NSString*) ttsText playTone:(NSNumber*) playTone correlationID:(NSNumber*) +correlationID{ + + return [SDLRPCRequestFactory buildAlertWithTTS:ttsText alertText1:nil alertText2:nil alertText3:nil playTone:playTone duration:nil correlationID:correlationID]; +} + +//*** ++(SDLAlert*) buildAlertWithTTSChunks:(NSArray*) ttsChunks alertText1:(NSString*) alertText1 alertText2:(NSString*) alertText2 alertText3:(NSString*) alertText3 playTone:(NSNumber*) playTone duration:(NSNumber*) duration softButtons:(NSArray*) softButtons correlationID:(NSNumber*) correlationID { + + SDLAlert* msg = [[SDLAlert alloc] init]; + msg.correlationID = correlationID; + msg.alertText1 = alertText1; + msg.alertText2 = alertText2; + msg.alertText3 = alertText3; + msg.ttsChunks = [ttsChunks mutableCopy]; + msg.playTone = playTone; + msg.duration = duration; + msg.softButtons = [softButtons mutableCopy]; + return msg; +} + ++(SDLAlert*) buildAlertWithTTSChunks:(NSArray*) ttsChunks playTone:(NSNumber*) playTone correlationID:(NSNumber*) correlationID { + return [SDLRPCRequestFactory buildAlertWithTTSChunks:ttsChunks alertText1:nil alertText2:nil alertText3:nil playTone:playTone duration:nil softButtons:nil correlationID:correlationID]; +} + +//*** ++(SDLAlert*) buildAlertWithAlertText1:(NSString*) alertText1 alertText2:(NSString*) alertText2 alertText3:(NSString*) alertText3 duration:(NSNumber*) duration softButtons:(NSMutableArray*) softButtons correlationID:(NSNumber*) correlationID { + return [SDLRPCRequestFactory buildAlertWithTTSChunks:nil alertText1:alertText1 alertText2:alertText2 alertText3:alertText3 playTone:nil duration:duration softButtons:softButtons correlationID:correlationID]; +} + ++(SDLAlert*) buildAlertWithAlertText1:(NSString*) alertText1 alertText2:(NSString*) alertText2 alertText3:(NSString*) alertText3 duration:(NSNumber*) duration correlationID:(NSNumber*) correlationID { + return [SDLRPCRequestFactory buildAlertWithTTSChunks:nil alertText1: alertText1 alertText2:alertText2 alertText3:alertText3 playTone:nil duration:duration softButtons:nil correlationID:correlationID]; +} + ++(SDLAlert*) buildAlertWithAlertText1:(NSString*) alertText1 alertText2:(NSString*) alertText2 duration:(NSNumber*) duration correlationID:(NSNumber*) correlationID { + return [SDLRPCRequestFactory buildAlertWithTTSChunks:nil alertText1: alertText1 alertText2:alertText2 alertText3:nil playTone:nil duration:duration softButtons:nil correlationID:correlationID]; +} +//***** + + ++(SDLChangeRegistration*) buildChangeRegistrationWithLanguage:(SDLLanguage*) language hmiDisplayLanguage:(SDLLanguage*) hmiDisplayLanguage correlationID:(NSNumber*) correlationID { + + SDLChangeRegistration* msg = [[SDLChangeRegistration alloc] init]; + msg.language = language; + msg.hmiDisplayLanguage = hmiDisplayLanguage; + msg.correlationID = correlationID; + + return msg; +} + ++(SDLCreateInteractionChoiceSet*) buildCreateInteractionChoiceSetWithID:(NSNumber*)interactionChoiceSetID choiceSet:(NSArray*) choices correlationID:(NSNumber*) correlationID { + + SDLCreateInteractionChoiceSet *msg = [[SDLCreateInteractionChoiceSet alloc] init]; + msg.interactionChoiceSetID = interactionChoiceSetID; + msg.choiceSet = [choices mutableCopy]; + msg.correlationID = correlationID; + + return msg; +} + ++(SDLDeleteCommand*) buildDeleteCommandWithID:(NSNumber*) cmdID correlationID:(NSNumber*) correlationID { + + SDLDeleteCommand *msg = [[SDLDeleteCommand alloc] init]; + msg.cmdID = cmdID; + msg.correlationID = correlationID; + + return msg; +} + ++(SDLDeleteFile*) buildDeleteFileWithName:(NSString*) syncFileName correlationID:(NSNumber*) correlationID { + + SDLDeleteFile* msg = [[SDLDeleteFile alloc] init]; + msg.syncFileName = syncFileName; + msg.correlationID = correlationID; + + return msg; +} + ++(SDLListFiles*) buildListFilesWithCorrelationID:(NSNumber*) correlationID { + + SDLListFiles* msg = [[SDLListFiles alloc] init]; + msg.correlationID = correlationID; + + return msg; +} + ++(SDLDeleteInteractionChoiceSet*) buildDeleteInteractionChoiceSetWithID:(NSNumber*)interactionChoiceSetID correlationID:(NSNumber*) correlationID { + + SDLDeleteInteractionChoiceSet *msg = [[SDLDeleteInteractionChoiceSet alloc] init]; + msg.interactionChoiceSetID = interactionChoiceSetID; + msg.correlationID = correlationID; + + return msg; +} + ++(SDLDeleteSubMenu*) buildDeleteSubMenuWithID:(NSNumber*) menuID correlationID:(NSNumber*) correlationID { + + SDLDeleteSubMenu *msg = [[SDLDeleteSubMenu alloc] init]; + msg.menuID = menuID; + msg.correlationID = correlationID; + + return msg; +} + ++(SDLEndAudioPassThru*) buildEndAudioPassThruWithCorrelationID:(NSNumber*) correlationID { + + SDLEndAudioPassThru* msg = [[SDLEndAudioPassThru alloc] init]; + msg.correlationID = correlationID; + + return msg; +} + ++(SDLGetDTCs*) buildGetDTCsWithECUName:(NSNumber*) ecuName correlationID:(NSNumber*) correlationID { + + SDLGetDTCs* msg = [[SDLGetDTCs alloc] init]; + msg.ecuName = ecuName; + msg.correlationID = correlationID; + + return msg; +} + ++(SDLGetVehicleData*) buildGetVehicleDataWithGPS:(NSNumber*) gps speed:(NSNumber*) speed rpm:(NSNumber*) rpm fuelLevel:(NSNumber*) fuelLevel fuelLevelState:(NSNumber*) fuelLevelState instantFuelConsumption:(NSNumber*) instantFuelConsumption externalTemperature:(NSNumber*) externalTemperature vin:(NSNumber*) vin prndl:(NSNumber*) prndl tirePressure:(NSNumber*) tirePressure odometer:(NSNumber*) odometer beltStatus:(NSNumber*) beltStatus bodyInformation:(NSNumber*) bodyInformation deviceStatus:(NSNumber*) deviceStatus driverBraking:(NSNumber*) driverBraking wiperStatus:(NSNumber*) wiperStatus headLampStatus:(NSNumber*) headLampStatus engineTorque:(NSNumber*) engineTorque accPedalPosition:(NSNumber*) accPedalPosition steeringWheelAngle:(NSNumber*) steeringWheelAngle correlationID:(NSNumber*) correlationID { + + SDLGetVehicleData* msg = [[SDLGetVehicleData alloc] init]; + msg.gps = gps; + msg.speed = speed; + msg.rpm = rpm; + msg.fuelLevel = fuelLevel; + msg.fuelLevel_State = fuelLevelState; + msg.instantFuelConsumption = instantFuelConsumption; + msg.externalTemperature = externalTemperature; + msg.vin = vin; + msg.prndl = prndl; + msg.tirePressure = tirePressure; + msg.odometer = odometer; + msg.beltStatus = beltStatus; + msg.bodyInformation = bodyInformation; + msg.deviceStatus = deviceStatus; + msg.driverBraking = driverBraking; + msg.wiperStatus = wiperStatus; + msg.headLampStatus = headLampStatus; + msg.engineTorque = engineTorque; + msg.accPedalPosition = accPedalPosition; + msg.steeringWheelAngle = steeringWheelAngle; + msg.correlationID = correlationID; + + return msg; +} + ++(SDLPerformAudioPassThru*) buildPerformAudioPassThruWithInitialPrompt:(NSString*) initialPrompt audioPassThruDisplayText1:(NSString*) audioPassThruDisplayText1 audioPassThruDisplayText2:(NSString*) audioPassThruDisplayText2 samplingRate:(SDLSamplingRate*) samplingRate maxDuration:(NSNumber*) maxDuration bitsPerSample:(SDLBitsPerSample*) bitsPerSample audioType:(SDLAudioType*) audioType muteAudio:(NSNumber*) muteAudio correlationID:(NSNumber*) correlationID { + + NSArray* initialChunks = [SDLTTSChunkFactory buildTTSChunksFromSimple:initialPrompt]; + + SDLPerformAudioPassThru* msg = [[SDLPerformAudioPassThru alloc] init]; + msg.initialPrompt = [initialChunks mutableCopy]; + msg.audioPassThruDisplayText1 = audioPassThruDisplayText1; + msg.audioPassThruDisplayText2 = audioPassThruDisplayText2; + msg.samplingRate = samplingRate; + msg.maxDuration = maxDuration; + msg.bitsPerSample = bitsPerSample; + msg.audioType = audioType; + msg.muteAudio = muteAudio; + + return msg; +} + + +//***** PerformInteraction ***** ++(SDLPerformInteraction*) buildPerformInteractionWithInitialChunks:(NSArray*)initialChunks initialText:(NSString*)initialText interactionChoiceSetIDList:(NSArray*) interactionChoiceSetIDList helpChunks:(NSArray*)helpChunks timeoutChunks:(NSArray*)timeoutChunks interactionMode:(SDLInteractionMode*) interactionMode timeout:(NSNumber*)timeout vrHelp:(NSArray*) vrHelp correlationID:(NSNumber*) correlationID { + + SDLPerformInteraction *msg = [[SDLPerformInteraction alloc] init]; + msg.initialPrompt = [initialChunks mutableCopy]; + msg.initialText = initialText; + msg.interactionChoiceSetIDList = [interactionChoiceSetIDList mutableCopy]; + msg.helpPrompt = [helpChunks mutableCopy]; + msg.timeoutPrompt = [timeoutChunks mutableCopy]; + msg.interactionMode = interactionMode; + msg.timeout = timeout; + msg.vrHelp = [vrHelp mutableCopy]; + msg.correlationID = correlationID; + + return msg; +} + +//*** ++(SDLPerformInteraction*) buildPerformInteractionWithInitialPrompt:(NSString*)initialPrompt initialText:(NSString*)initialText interactionChoiceSetIDList:(NSArray*) interactionChoiceSetIDList helpPrompt:(NSString*)helpPrompt timeoutPrompt:(NSString*)timeoutPrompt interactionMode:(SDLInteractionMode*) interactionMode timeout:(NSNumber*)timeout vrHelp:(NSArray*) vrHelp correlationID:(NSNumber*) correlationID { + + NSArray* initialChunks = [SDLTTSChunkFactory buildTTSChunksFromSimple:initialPrompt]; + NSArray* helpChunks = [SDLTTSChunkFactory buildTTSChunksFromSimple:helpPrompt]; + NSArray* timeoutChunks = [SDLTTSChunkFactory buildTTSChunksFromSimple:timeoutPrompt]; + + return [SDLRPCRequestFactory buildPerformInteractionWithInitialChunks:initialChunks initialText:initialText interactionChoiceSetIDList:interactionChoiceSetIDList helpChunks:helpChunks timeoutChunks:timeoutChunks interactionMode:interactionMode timeout:timeout vrHelp:vrHelp correlationID:correlationID]; +} + ++(SDLPerformInteraction*) buildPerformInteractionWithInitialPrompt:(NSString*)initialPrompt initialText:(NSString*)initialText interactionChoiceSetID:(NSNumber*) interactionChoiceSetID vrHelp:(NSArray*) vrHelp correlationID:(NSNumber*) correlationID { + + NSArray *interactionChoiceSetIDList = [NSArray arrayWithObject:interactionChoiceSetID]; + NSArray* initialChunks = [SDLTTSChunkFactory buildTTSChunksFromSimple:initialPrompt]; + + return [SDLRPCRequestFactory buildPerformInteractionWithInitialChunks:initialChunks initialText:initialText interactionChoiceSetIDList:interactionChoiceSetIDList helpChunks:nil timeoutChunks:nil interactionMode:SDLInteractionMode.BOTH timeout:nil vrHelp:vrHelp correlationID:correlationID]; +} + ++(SDLPerformInteraction*) buildPerformInteractionWithInitialPrompt:(NSString*)initialPrompt initialText:(NSString*)initialText interactionChoiceSetIDList:(NSArray*) interactionChoiceSetIDList helpPrompt:(NSString*)helpPrompt timeoutPrompt:(NSString*)timeoutPrompt interactionMode:(SDLInteractionMode*) interactionMode timeout:(NSNumber*)timeout correlationID:(NSNumber*) correlationID { + + return [SDLRPCRequestFactory buildPerformInteractionWithInitialPrompt:initialPrompt initialText:initialText interactionChoiceSetIDList:interactionChoiceSetIDList helpPrompt:helpPrompt timeoutPrompt:timeoutPrompt interactionMode:interactionMode timeout:timeout vrHelp:nil correlationID:(NSNumber*) correlationID]; +} + ++(SDLPerformInteraction*) buildPerformInteractionWithInitialPrompt:(NSString*)initialPrompt initialText:(NSString*)initialText interactionChoiceSetID:(NSNumber*) interactionChoiceSetID correlationID:(NSNumber*) correlationID { + + return [SDLRPCRequestFactory buildPerformInteractionWithInitialPrompt:initialPrompt initialText:initialText interactionChoiceSetID:interactionChoiceSetID vrHelp:nil correlationID:correlationID]; +} +//***** + + ++(SDLPutFile*) buildPutFileWithFileName:(NSString*) syncFileName fileType:(SDLFileType*) fileType persisistentFile:(NSNumber*) persistentFile correlationID:(NSNumber*) correlationID { + + //TODO + // +(FMPutFile*) buildPutFile:(NSString*) syncFileName fileType:(SDLFileType*) fileType persisistentFile:(NSNumber*) persistentFile fileData:(NSData*) fileData correlationID:(NSNumber*) correlationID { + + + SDLPutFile* msg = [[SDLPutFile alloc] init]; + msg.syncFileName = syncFileName; + + msg.fileType = [fileType mutableCopy]; + msg.persistentFile = persistentFile; + msg.correlationID = correlationID; + + return msg; +} + ++(SDLReadDID*) buildReadDIDWithECUName:(NSNumber*) ecuName didLocation:(NSArray*) didLocation correlationID:(NSNumber*) correlationID { + + SDLReadDID* msg = [[SDLReadDID alloc] init]; + msg.ecuName = ecuName; + msg.didLocation = [didLocation mutableCopy]; + msg.correlationID = correlationID; + + return msg; +} + +//***** RegisterAppInterface ***** ++(SDLRegisterAppInterface*) buildRegisterAppInterfaceWithAppName:(NSString*) appName ttsName:(NSMutableArray*) ttsName vrSynonyms:(NSMutableArray*) vrSynonyms isMediaApp:(NSNumber*) isMediaApp languageDesired:(SDLLanguage*) languageDesired hmiDisplayLanguageDesired:(SDLLanguage*) hmiDisplayLanguageDesired appID:(NSString*) appID { + + SDLRegisterAppInterface* msg = [[SDLRegisterAppInterface alloc] init]; + SDLSyncMsgVersion* version = [[SDLSyncMsgVersion alloc] init]; + version.majorVersion = [NSNumber numberWithInt:1]; + version.minorVersion = [NSNumber numberWithInt:0]; + msg.syncMsgVersion = version; + msg.appName = appName; + msg.ttsName = ttsName; + msg.ngnMediaScreenAppName = appName; + msg.vrSynonyms = vrSynonyms; + msg.isMediaApplication = isMediaApp; + msg.languageDesired = languageDesired; + msg.hmiDisplayLanguageDesired = hmiDisplayLanguageDesired; + msg.appID = appID; + + msg.correlationID = [NSNumber numberWithInt:1]; + + return msg; +} + ++(SDLRegisterAppInterface*) buildRegisterAppInterfaceWithAppName:(NSString*) appName isMediaApp:(NSNumber*) isMediaApp languageDesired:(SDLLanguage*) languageDesired appID:(NSString*) appID { + + NSMutableArray* syns = [NSMutableArray arrayWithObject:appName]; + + return [SDLRPCRequestFactory buildRegisterAppInterfaceWithAppName:appName ttsName:nil vrSynonyms:syns isMediaApp:isMediaApp languageDesired:languageDesired hmiDisplayLanguageDesired:languageDesired appID:appID]; +} + ++(SDLRegisterAppInterface*) buildRegisterAppInterfaceWithAppName:(NSString*) appName languageDesired:(SDLLanguage*) languageDesired appID:(NSString*) appID{ + + return [SDLRPCRequestFactory buildRegisterAppInterfaceWithAppName:appName isMediaApp:[NSNumber numberWithBool:NO] languageDesired:languageDesired appID: appID]; +} +//***** + + ++(SDLResetGlobalProperties*) buildResetGlobalPropertiesWithProperties:(NSArray*) properties correlationID:(NSNumber*) correlationID { + + SDLResetGlobalProperties* msg = [[SDLResetGlobalProperties alloc] init]; + msg.properties = [properties mutableCopy]; + msg.correlationID = correlationID; + + return msg; +} + ++(SDLScrollableMessage*) buildScrollableMessage:(NSString*) scrollableMessageBody timeout:(NSNumber*) timeout softButtons:(NSArray*) softButtons correlationID:(NSNumber*) correlationID { + + SDLScrollableMessage* msg = [[SDLScrollableMessage alloc] init]; + msg.scrollableMessageBody = scrollableMessageBody; + msg.timeout = timeout; + msg.softButtons = [softButtons mutableCopy]; + msg.correlationID = correlationID; + + return msg; +} + ++(SDLSetAppIcon*) buildSetAppIconWithFileName:(NSString*) syncFileName correlationID:(NSNumber*) correlationID { + + SDLSetAppIcon* msg = [[SDLSetAppIcon alloc] init]; + msg.syncFileName = syncFileName; + msg.correlationID = correlationID; + + return msg; +} + ++(SDLSetDisplayLayout*) buildSetDisplayLayout:(NSString*) displayLayout correlationID:(NSNumber*) correlationID { + + SDLSetDisplayLayout* msg = [[SDLSetDisplayLayout alloc] init]; + msg.displayLayout = displayLayout; + msg.correlationID = correlationID; + + return msg; +} + + +//***** SetGlobalProperties ***** ++(SDLSetGlobalProperties*) buildSetGlobalPropertiesWithHelpText:(NSString*) helpText timeoutText:(NSString*) timeoutText vrHelpTitle:(NSString*) vrHelpTitle vrHelp:(NSArray*) vrHelp correlationID:(NSNumber*) correlationID { + + SDLSetGlobalProperties* msg = [[SDLSetGlobalProperties alloc] init]; + msg.helpPrompt = [SDLTTSChunkFactory buildTTSChunksFromSimple:helpText]; + msg.timeoutPrompt = [SDLTTSChunkFactory buildTTSChunksFromSimple:timeoutText]; + msg.vrHelpTitle = vrHelpTitle; + msg.vrHelp = [vrHelp mutableCopy]; + msg.correlationID = correlationID; + + return msg; +} + ++(SDLSetGlobalProperties*) buildSetGlobalPropertiesWithHelpText:(NSString*) helpText timeoutText:(NSString*) timeoutText correlationID:(NSNumber*) correlationID { + + SDLSetGlobalProperties* msg = [[SDLSetGlobalProperties alloc] init]; + msg.helpPrompt = [SDLTTSChunkFactory buildTTSChunksFromSimple:helpText]; + msg.timeoutPrompt = [SDLTTSChunkFactory buildTTSChunksFromSimple:timeoutText]; + msg.correlationID = correlationID; + + return msg; +} +//***** + + +//***** SetMediaClockTimer ***** ++(SDLSetMediaClockTimer*) buildSetMediaClockTimerWithHours:(NSNumber*) hours minutes:(NSNumber*) minutes seconds:(NSNumber*) seconds updateMode:(SDLUpdateMode*) updateMode correlationID:(NSNumber*) correlationID { + + SDLSetMediaClockTimer* msg = [[SDLSetMediaClockTimer alloc] init]; + SDLStartTime* startTime = [[SDLStartTime alloc] init]; + startTime.hours = hours; + startTime.minutes = minutes; + startTime.seconds = seconds; + msg.startTime = startTime; + msg.updateMode = updateMode; + msg.correlationID = correlationID; + + return msg; +} + ++(SDLSetMediaClockTimer*) buildSetMediaClockTimerWithUpdateMode:(SDLUpdateMode*) updateMode correlationID:(NSNumber*) correlationID { + + SDLSetMediaClockTimer* msg = [[SDLSetMediaClockTimer alloc] init]; + msg.updateMode = updateMode; + msg.correlationID = correlationID; + + return msg; +} +//***** + + +//***** Show ***** ++(SDLShow*) buildShowWithMainField1:(NSString*) mainField1 mainField2: (NSString*) mainField2 mainField3: (NSString*) mainField3 mainField4: (NSString*) mainField4 statusBar:(NSString*) statusBar mediaClock:(NSString*) mediaClock mediaTrack:(NSString*) mediaTrack alignment:(SDLTextAlignment*) textAlignment graphic:(SDLImage*) graphic softButtons:(NSArray*) softButtons customPresets:(NSArray*) customPresets correlationID:(NSNumber*) correlationID { + + SDLShow* msg = [[SDLShow alloc] init]; + msg.correlationID = correlationID; + msg.mainField1 = mainField1; + msg.mainField2 = mainField2; + msg.mainField3 = mainField3; + msg.mainField4 = mainField4; + msg.statusBar = statusBar; + msg.mediaClock = mediaClock; + msg.mediaTrack = mediaTrack; + msg.alignment = textAlignment; + msg.graphic = graphic; + msg.softButtons = [softButtons mutableCopy]; + msg.customPresets = [customPresets mutableCopy]; + + return msg; +} + ++(SDLShow*) buildShowWithMainField1:(NSString*) mainField1 mainField2: (NSString*) mainField2 statusBar:(NSString*) statusBar mediaClock:(NSString*) mediaClock mediaTrack:(NSString*) mediaTrack alignment:(SDLTextAlignment*) textAlignment correlationID:(NSNumber*) correlationID { + + SDLShow* msg = [[SDLShow alloc] init]; + msg.correlationID = correlationID; + msg.mainField1 = mainField1; + msg.mainField2 = mainField2; + msg.statusBar = statusBar; + msg.mediaClock = mediaClock; + msg.mediaTrack = mediaTrack; + msg.alignment = textAlignment; + + return msg; +} + ++(SDLShow*) buildShowWithMainField1:(NSString*) mainField1 mainField2: (NSString*) mainField2 alignment:(SDLTextAlignment*) alignment correlationID:(NSNumber*) correlationID { + + return [SDLRPCRequestFactory buildShowWithMainField1:mainField1 mainField2:mainField2 statusBar:nil mediaClock:nil mediaTrack:nil alignment:alignment correlationID:correlationID]; +} +//***** + + +//***** Slider ***** ++(SDLSlider*) buildSliderDynamicFooterWithNumTicks:(NSNumber*) numTicks position:(NSNumber*) position sliderHeader:(NSString*) sliderHeader sliderFooter:(NSArray*) sliderFooter timeout:(NSNumber*) timeout correlationID:(NSNumber*) correlationID {\ + SDLSlider* msg = [[SDLSlider alloc] init]; + msg.correlationID = correlationID; + msg.numTicks = numTicks; + msg.position = position; + msg.sliderHeader = sliderHeader; + msg.sliderFooter = [sliderFooter mutableCopy]; + msg.timeout = timeout; + + return msg; +} + ++(SDLSlider*) buildSliderStaticFooterWithNumTicks:(NSNumber*) numTicks position:(NSNumber*) position sliderHeader:(NSString*) sliderHeader sliderFooter:(NSString*) sliderFooter timeout:(NSNumber*) timeout correlationID:(NSNumber*) correlationID { + + NSArray* sliderFooters = [NSArray arrayWithObject:sliderFooter]; + + // Populates array with the same footer value for each position + for (UInt32 i = 1; i < numTicks.unsignedIntegerValue; i++) { + sliderFooters = [sliderFooters arrayByAddingObject:sliderFooter]; + } + + return [SDLRPCRequestFactory buildSliderDynamicFooterWithNumTicks:numTicks position:position sliderHeader:sliderHeader sliderFooter:sliderFooters timeout:timeout correlationID:correlationID]; +} +//***** + + +//***** Speak ***** ++(SDLSpeak*) buildSpeakWithTTSChunks:(NSArray*) ttsChunks correlationID:(NSNumber*) correlationID { + + SDLSpeak* msg = [[SDLSpeak alloc] init]; + msg.correlationID = correlationID; + msg.ttsChunks = [ttsChunks mutableCopy]; + + return msg; +} + +//*** ++(SDLSpeak*) buildSpeakWithTTS:(NSString*) ttsText correlationID:(NSNumber*) correlationID { + + SDLTTSChunk* simpleChunk = [[SDLTTSChunk alloc] init]; + simpleChunk.text = ttsText; + simpleChunk.type = SDLSpeechCapabilities.TEXT; + NSArray* ttsChunks = [NSMutableArray arrayWithObject:simpleChunk]; + + return [SDLRPCRequestFactory buildSpeakWithTTSChunks:ttsChunks correlationID:correlationID]; + +} +//***** + + ++(SDLSubscribeButton*) buildSubscribeButtonWithName:(SDLButtonName*) buttonName correlationID:(NSNumber*) correlationID { + + SDLSubscribeButton* msg = [[SDLSubscribeButton alloc] init]; + msg.correlationID = correlationID; + msg.buttonName = buttonName; + + return msg; +} + ++(SDLSubscribeVehicleData*) buildSubscribeVehicleDataWithGPS:(NSNumber*) gps speed:(NSNumber*) speed rpm:(NSNumber*) rpm fuelLevel:(NSNumber*) fuelLevel fuelLevelState:(NSNumber*) fuelLevelState instantFuelConsumption:(NSNumber*) instantFuelConsumption externalTemperature:(NSNumber*) externalTemperature prndl:(NSNumber*) prndl tirePressure:(NSNumber*) tirePressure odometer:(NSNumber*) odometer beltStatus:(NSNumber*) beltStatus bodyInformation:(NSNumber*) bodyInformation deviceStatus:(NSNumber*) deviceStatus driverBraking:(NSNumber*) driverBraking wiperStatus:(NSNumber*) wiperStatus headLampStatus:(NSNumber*) headLampStatus engineTorque:(NSNumber*) engineTorque accPedalPosition:(NSNumber*) accPedalPosition steeringWheelAngle:(NSNumber*) steeringWheelAngle correlationID:(NSNumber*) correlationID { + + SDLSubscribeVehicleData* msg = [[SDLSubscribeVehicleData alloc] init]; + msg.gps = gps; + msg.speed = speed; + msg.rpm = rpm; + msg.fuelLevel = fuelLevel; + msg.fuelLevel_State = fuelLevelState; + msg.instantFuelConsumption = instantFuelConsumption; + msg.externalTemperature = externalTemperature; + msg.prndl = prndl; + msg.tirePressure = tirePressure; + msg.odometer = odometer; + msg.beltStatus = beltStatus; + msg.bodyInformation = bodyInformation; + msg.deviceStatus = deviceStatus; + msg.driverBraking = driverBraking; + msg.wiperStatus = wiperStatus; + msg.headLampStatus = headLampStatus; + msg.engineTorque = engineTorque; + msg.accPedalPosition = accPedalPosition; + msg.steeringWheelAngle = steeringWheelAngle; + msg.correlationID = correlationID; + + return msg; +} + ++(SDLUnregisterAppInterface*) buildUnregisterAppInterfaceWithCorrelationID:(NSNumber*) correlationID { + + SDLUnregisterAppInterface* msg = [[SDLUnregisterAppInterface alloc] init]; + msg.correlationID = correlationID; + + return msg; +} + ++(SDLUnsubscribeButton*) buildUnsubscribeButtonWithName:(SDLButtonName*) buttonName correlationID:(NSNumber*) correlationID { + + SDLUnsubscribeButton *msg = [[SDLUnsubscribeButton alloc] init]; + msg.buttonName = buttonName; + msg.correlationID = correlationID; + + return msg; +} + ++(SDLUnsubscribeVehicleData*) buildUnsubscribeVehicleDataWithGPS:(NSNumber*) gps speed:(NSNumber*) speed rpm:(NSNumber*) rpm fuelLevel:(NSNumber*) fuelLevel fuelLevelState:(NSNumber*) fuelLevelState instantFuelConsumption:(NSNumber*) instantFuelConsumption externalTemperature:(NSNumber*) externalTemperature prndl:(NSNumber*) prndl tirePressure:(NSNumber*) tirePressure odometer:(NSNumber*) odometer beltStatus:(NSNumber*) beltStatus bodyInformation:(NSNumber*) bodyInformation deviceStatus:(NSNumber*) deviceStatus driverBraking:(NSNumber*) driverBraking wiperStatus:(NSNumber*) wiperStatus headLampStatus:(NSNumber*) headLampStatus engineTorque:(NSNumber*) engineTorque accPedalPosition:(NSNumber*) accPedalPosition steeringWheelAngle:(NSNumber*) steeringWheelAngle correlationID:(NSNumber*) correlationID { + + SDLUnsubscribeVehicleData* msg = [[SDLUnsubscribeVehicleData alloc] init]; + msg.gps = gps; + msg.speed = speed; + msg.rpm = rpm; + msg.fuelLevel = fuelLevel; + msg.fuelLevel_State = fuelLevelState; + msg.instantFuelConsumption = instantFuelConsumption; + msg.externalTemperature = externalTemperature; + msg.prndl = prndl; + msg.tirePressure = tirePressure; + msg.odometer = odometer; + msg.beltStatus = beltStatus; + msg.bodyInformation = bodyInformation; + msg.deviceStatus = deviceStatus; + msg.driverBraking = driverBraking; + msg.wiperStatus = wiperStatus; + msg.headLampStatus = headLampStatus; + msg.engineTorque = engineTorque; + msg.accPedalPosition = accPedalPosition; + msg.steeringWheelAngle = steeringWheelAngle; + msg.correlationID = correlationID; + + return msg; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCResponse.h new file mode 100644 index 000000000..a6309a244 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCResponse.h @@ -0,0 +1,17 @@ +// SDLRPCResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +#import "SDLResult.h" + +@interface SDLRPCResponse : SDLRPCMessage {} + +@property(strong) NSNumber* correlationID; +@property(strong) NSNumber* success; +@property(strong) SDLResult* resultCode; +@property(strong) NSString* info; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCResponse.m new file mode 100644 index 000000000..c7f23f62d --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCResponse.m @@ -0,0 +1,64 @@ +// SDLRPCResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLRPCResponse.h" + +#import "SDLNames.h" + +@implementation SDLRPCResponse + +-(NSNumber*) correlationID { + return [function objectForKey:NAMES_correlationID]; +} + +-(void) setCorrelationID:(NSNumber *)corrID { + if (corrID != nil) { + [function setObject:corrID forKey:NAMES_correlationID]; + } else { + [function removeObjectForKey:NAMES_correlationID]; + } +} + +-(void) setSuccess:(NSNumber*) success { + if (success != nil) { + [parameters setObject:success forKey:NAMES_success]; + } else { + [parameters removeObjectForKey:NAMES_success]; + } +} + +-(NSNumber*) success { + return [parameters objectForKey:NAMES_success]; +} + +-(void) setResultCode:(SDLResult*) resultCode { + if (resultCode != nil) { + [parameters setObject:resultCode forKey:NAMES_resultCode]; + } else { + [parameters removeObjectForKey:NAMES_resultCode]; + } +} + +-(SDLResult*) resultCode { + NSObject* obj = [parameters objectForKey:NAMES_resultCode]; + if ([obj isKindOfClass:SDLResult.class]) { + return (SDLResult*)obj; + } else { + return [SDLResult valueOf:(NSString*)obj]; + } +} + +-(void) setInfo:(NSString*) info { + if (info != nil) { + [parameters setObject:info forKey:NAMES_info]; + } else { + [parameters removeObjectForKey:NAMES_info]; + } +} + +-(NSString*) info { + return [parameters objectForKey:NAMES_info]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDID.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDID.h new file mode 100644 index 000000000..cf26df86c --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDID.h @@ -0,0 +1,16 @@ +// SDLReadDID.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +@interface SDLReadDID : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* ecuName; +@property(strong) NSMutableArray* didLocation; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDID.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDID.m new file mode 100644 index 000000000..ec840b752 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDID.m @@ -0,0 +1,45 @@ +// SDLReadDID.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLReadDID.h" + +#import "SDLNames.h" + +@implementation SDLReadDID + +-(id) init { + if (self = [super initWithName:NAMES_ReadDID]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setEcuName:(NSNumber*) ecuName { + if (ecuName != nil) { + [parameters setObject:ecuName forKey:NAMES_ecuName]; + } else { + [parameters removeObjectForKey:NAMES_ecuName]; + } +} + +-(NSNumber*) ecuName { + return [parameters objectForKey:NAMES_ecuName]; +} + +-(void) setDidLocation:(NSMutableArray*) didLocation { + if (didLocation != nil) { + [parameters setObject:didLocation forKey:NAMES_didLocation]; + } else { + [parameters removeObjectForKey:NAMES_didLocation]; + } +} + +-(NSMutableArray*) didLocation { + return [parameters objectForKey:NAMES_didLocation]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDIDResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDIDResponse.h new file mode 100644 index 000000000..90934fd57 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDIDResponse.h @@ -0,0 +1,15 @@ +// SDLReadDIDResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLReadDIDResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSMutableArray* didResult; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDIDResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDIDResponse.m new file mode 100644 index 000000000..875d6b1ec --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDIDResponse.m @@ -0,0 +1,43 @@ +// SDLReadDIDResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLReadDIDResponse.h" + +#import "SDLNames.h" +#import "SDLDIDResult.h" + +@implementation SDLReadDIDResponse + +-(id) init { + if (self = [super initWithName:NAMES_ReadDID]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setDidResult:(NSMutableArray*) didResult { + if (didResult != nil) { + [parameters setObject:didResult forKey:NAMES_didResult]; + } else { + [parameters removeObjectForKey:NAMES_didResult]; + } +} + +-(NSMutableArray*) didResult { + NSMutableArray* array = [parameters objectForKey:NAMES_didResult]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLDIDResult.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSDictionary* dict in array) { + [newList addObject:[[SDLDIDResult alloc] initWithDictionary:(NSMutableDictionary*)dict]]; + } + return newList; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterface.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterface.h new file mode 100644 index 000000000..5ad6df6fd --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterface.h @@ -0,0 +1,30 @@ +// SDLRegisterAppInterface.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +#import "SDLSyncMsgVersion.h" +#import "SDLLanguage.h" +#import "SDLDeviceInfo.h" + +@interface SDLRegisterAppInterface : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLSyncMsgVersion* syncMsgVersion; +@property(strong) NSString* appName; +@property(strong) NSMutableArray* ttsName; +@property(strong) NSString* ngnMediaScreenAppName; +@property(strong) NSMutableArray* vrSynonyms; +@property(strong) NSNumber* isMediaApplication; +@property(strong) SDLLanguage* languageDesired; +@property(strong) SDLLanguage* hmiDisplayLanguageDesired; +@property(strong) NSMutableArray* appHMIType; +@property(strong) NSString* hashID; +@property(strong) SDLDeviceInfo* deviceInfo; +@property(strong) NSString* appID; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterface.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterface.m new file mode 100644 index 000000000..4d68ed2e6 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterface.m @@ -0,0 +1,205 @@ +// SDLRegisterAppInterface.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLRegisterAppInterface.h" + +#import "SDLNames.h" +#import "SDLTTSChunk.h" +#import "SDLAppHMIType.h" + +@implementation SDLRegisterAppInterface + +-(id) init { + if (self = [super initWithName:NAMES_RegisterAppInterface]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setSyncMsgVersion:(SDLSyncMsgVersion*) syncMsgVersion { + if (syncMsgVersion != nil) { + [parameters setObject:syncMsgVersion forKey:NAMES_syncMsgVersion]; + } else { + [parameters removeObjectForKey:NAMES_syncMsgVersion]; + } +} + +-(SDLSyncMsgVersion*) syncMsgVersion { + NSObject* obj = [parameters objectForKey:NAMES_syncMsgVersion]; + if ([obj isKindOfClass:SDLSyncMsgVersion.class]) { + return (SDLSyncMsgVersion*)obj; + } else { + return [[SDLSyncMsgVersion alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setAppName:(NSString*) appName { + if (appName != nil) { + [parameters setObject:appName forKey:NAMES_appName]; + } else { + [parameters removeObjectForKey:NAMES_appName]; + } +} + +-(NSString*) appName { + return [parameters objectForKey:NAMES_appName]; +} + +-(void) setTtsName:(NSMutableArray*) ttsName { + if (ttsName != nil) { + [parameters setObject:ttsName forKey:NAMES_ttsName]; + } else { + [parameters removeObjectForKey:NAMES_ttsName]; + } +} + +-(NSMutableArray*) ttsName { + NSMutableArray* array = [parameters objectForKey:NAMES_ttsName]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLTTSChunk.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSDictionary* dict in array) { + [newList addObject:[[SDLTTSChunk alloc] initWithDictionary:(NSMutableDictionary*)dict]]; + } + return newList; + } +} + +-(void) setNgnMediaScreenAppName:(NSString*) ngnMediaScreenAppName { + if (ngnMediaScreenAppName != nil) { + [parameters setObject:ngnMediaScreenAppName forKey:NAMES_ngnMediaScreenAppName]; + } else { + [parameters removeObjectForKey:NAMES_ngnMediaScreenAppName]; + } +} + +-(NSString*) ngnMediaScreenAppName { + return [parameters objectForKey:NAMES_ngnMediaScreenAppName]; +} + +-(void) setVrSynonyms:(NSMutableArray*) vrSynonyms { + if (vrSynonyms != nil) { + [parameters setObject:vrSynonyms forKey:NAMES_vrSynonyms]; + } else { + [parameters removeObjectForKey:NAMES_vrSynonyms]; + } +} + +-(NSMutableArray*) vrSynonyms { + return [parameters objectForKey:NAMES_vrSynonyms]; +} + +-(void) setIsMediaApplication:(NSNumber*) isMediaApplication { + if (isMediaApplication != nil) { + [parameters setObject:isMediaApplication forKey:NAMES_isMediaApplication]; + } else { + [parameters removeObjectForKey:NAMES_isMediaApplication]; + } +} + +-(NSNumber*) isMediaApplication { + return [parameters objectForKey:NAMES_isMediaApplication]; +} + +-(void) setLanguageDesired:(SDLLanguage*) languageDesired { + if (languageDesired != nil) { + [parameters setObject:languageDesired forKey:NAMES_languageDesired]; + } else { + [parameters removeObjectForKey:NAMES_languageDesired]; + } +} + +-(SDLLanguage*) languageDesired { + NSObject* obj = [parameters objectForKey:NAMES_languageDesired]; + if ([obj isKindOfClass:SDLLanguage.class]) { + return (SDLLanguage*)obj; + } else { + return [SDLLanguage valueOf:(NSString*)obj]; + } +} + +-(void) setHmiDisplayLanguageDesired:(SDLLanguage*) hmiDisplayLanguageDesired { + if (hmiDisplayLanguageDesired != nil) { + [parameters setObject:hmiDisplayLanguageDesired forKey:NAMES_hmiDisplayLanguageDesired]; + } else { + [parameters removeObjectForKey:NAMES_hmiDisplayLanguageDesired]; + } +} + +-(SDLLanguage*) hmiDisplayLanguageDesired { + NSObject* obj = [parameters objectForKey:NAMES_hmiDisplayLanguageDesired]; + if ([obj isKindOfClass:SDLLanguage.class]) { + return (SDLLanguage*)obj; + } else { + return [SDLLanguage valueOf:(NSString*)obj]; + } +} + +-(void) setAppHMIType:(NSMutableArray*) appHMIType { + if (appHMIType != nil) { + [parameters setObject:appHMIType forKey:NAMES_appHMIType]; + } else { + [parameters removeObjectForKey:NAMES_appHMIType]; + } +} + +-(NSMutableArray*) appHMIType { + NSMutableArray* array = [parameters objectForKey:NAMES_appHMIType]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLAppHMIType.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSString* enumString in array) { + [newList addObject:[SDLAppHMIType valueOf:enumString]]; + } + return newList; + } +} + +-(void) setHashID:(NSString*) hashID { + if (hashID != nil) { + [parameters setObject:hashID forKey:NAMES_hashID]; + } else { + [parameters removeObjectForKey:NAMES_hashID]; + } +} + +-(NSString*) hashID { + return [parameters objectForKey:NAMES_hashID]; +} + +-(void) setDeviceInfo:(SDLDeviceInfo*) deviceInfo { + if (deviceInfo != nil) { + [parameters setObject:deviceInfo forKey:NAMES_deviceInfo]; + } else { + [parameters removeObjectForKey:NAMES_deviceInfo]; + } +} + +-(SDLDeviceInfo*) deviceInfo { + NSObject* obj = [parameters objectForKey:NAMES_deviceInfo]; + if ([obj isKindOfClass:SDLDeviceInfo.class]) { + return (SDLDeviceInfo*)obj; + } else { + return [[SDLDeviceInfo alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setAppID:(NSString*) appID { + if (appID != nil) { + [parameters setObject:appID forKey:NAMES_appID]; + } else { + [parameters removeObjectForKey:NAMES_appID]; + } +} + +-(NSString*) appID { + return [parameters objectForKey:NAMES_appID]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterfaceResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterfaceResponse.h new file mode 100644 index 000000000..d82ef06fb --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterfaceResponse.h @@ -0,0 +1,34 @@ +// SDLRegisterAppInterfaceResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +#import "SDLSyncMsgVersion.h" +#import "SDLLanguage.h" +#import "SDLDisplayCapabilities.h" +#import "SDLPresetBankCapabilities.h" +#import "SDLVehicleType.h" + +@interface SDLRegisterAppInterfaceResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLSyncMsgVersion* syncMsgVersion; +@property(strong) SDLLanguage* language; +@property(strong) SDLLanguage* hmiDisplayLanguage; +@property(strong) SDLDisplayCapabilities* displayCapabilities; +@property(strong) NSMutableArray* buttonCapabilities; +@property(strong) NSMutableArray* softButtonCapabilities; +@property(strong) SDLPresetBankCapabilities* presetBankCapabilities; +@property(strong) NSMutableArray* hmiZoneCapabilities; +@property(strong) NSMutableArray* speechCapabilities; +@property(strong) NSMutableArray* prerecordedSpeech; +@property(strong) NSMutableArray* vrCapabilities; +@property(strong) NSMutableArray* audioPassThruCapabilities; +@property(strong) SDLVehicleType* vehicleType; +@property(strong) NSMutableArray* supportedDiagModes; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterfaceResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterfaceResponse.m new file mode 100644 index 000000000..d46db4943 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterfaceResponse.m @@ -0,0 +1,289 @@ +// SDLRegisterAppInterfaceResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLRegisterAppInterfaceResponse.h" + +#import "SDLNames.h" +#import "SDLButtonCapabilities.h" +#import "SDLSoftButtonCapabilities.h" +#import "SDLHmiZoneCapabilities.h" +#import "SDLSpeechCapabilities.h" +#import "SDLPrerecordedSpeech.h" +#import "SDLVrCapabilities.h" +#import "SDLAudioPassThruCapabilities.h" + +@implementation SDLRegisterAppInterfaceResponse + +-(id) init { + if (self = [super initWithName:NAMES_RegisterAppInterface]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setSyncMsgVersion:(SDLSyncMsgVersion*) syncMsgVersion { + if (syncMsgVersion != nil) { + [parameters setObject:syncMsgVersion forKey:NAMES_syncMsgVersion]; + } else { + [parameters removeObjectForKey:NAMES_syncMsgVersion]; + } +} + +-(SDLSyncMsgVersion*) syncMsgVersion { + NSObject* obj = [parameters objectForKey:NAMES_syncMsgVersion]; + if ([obj isKindOfClass:SDLSyncMsgVersion.class]) { + return (SDLSyncMsgVersion*)obj; + } else { + return [[SDLSyncMsgVersion alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setLanguage:(SDLLanguage*) language { + if (language != nil) { + [parameters setObject:language forKey:NAMES_language]; + } else { + [parameters removeObjectForKey:NAMES_language]; + } +} + +-(SDLLanguage*) language { + NSObject* obj = [parameters objectForKey:NAMES_language]; + if ([obj isKindOfClass:SDLLanguage.class]) { + return (SDLLanguage*)obj; + } else { + return [SDLLanguage valueOf:(NSString*)obj]; + } +} + +-(void) setHmiDisplayLanguage:(SDLLanguage*) hmiDisplayLanguage { + if (hmiDisplayLanguage != nil) { + [parameters setObject:hmiDisplayLanguage forKey:NAMES_hmiDisplayLanguage]; + } else { + [parameters removeObjectForKey:NAMES_hmiDisplayLanguage]; + } +} + +-(SDLLanguage*) hmiDisplayLanguage { + NSObject* obj = [parameters objectForKey:NAMES_hmiDisplayLanguage]; + if ([obj isKindOfClass:SDLLanguage.class]) { + return (SDLLanguage*)obj; + } else { + return [SDLLanguage valueOf:(NSString*)obj]; + } +} + +-(void) setDisplayCapabilities:(SDLDisplayCapabilities*) displayCapabilities { + if (displayCapabilities != nil) { + [parameters setObject:displayCapabilities forKey:NAMES_displayCapabilities]; + } else { + [parameters removeObjectForKey:NAMES_displayCapabilities]; + } +} + +-(SDLDisplayCapabilities*) displayCapabilities { + NSObject* obj = [parameters objectForKey:NAMES_displayCapabilities]; + if ([obj isKindOfClass:SDLDisplayCapabilities.class]) { + return (SDLDisplayCapabilities*)obj; + } else { + return [[SDLDisplayCapabilities alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setButtonCapabilities:(NSMutableArray*) buttonCapabilities { + if (buttonCapabilities != nil) { + [parameters setObject:buttonCapabilities forKey:NAMES_buttonCapabilities]; + } else { + [parameters removeObjectForKey:NAMES_buttonCapabilities]; + } +} + +-(NSMutableArray*) buttonCapabilities { + NSMutableArray* array = [parameters objectForKey:NAMES_buttonCapabilities]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLButtonCapabilities.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSDictionary* dict in array) { + [newList addObject:[[SDLButtonCapabilities alloc] initWithDictionary:(NSMutableDictionary*)dict]]; + } + return newList; + } +} + +-(void) setSoftButtonCapabilities:(NSMutableArray*) softButtonCapabilities { + if (softButtonCapabilities != nil) { + [parameters setObject:softButtonCapabilities forKey:NAMES_softButtonCapabilities]; + } else { + [parameters removeObjectForKey:NAMES_softButtonCapabilities]; + } +} + +-(NSMutableArray*) softButtonCapabilities { + NSMutableArray* array = [parameters objectForKey:NAMES_softButtonCapabilities]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLSoftButtonCapabilities.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSDictionary* dict in array) { + [newList addObject:[[SDLSoftButtonCapabilities alloc] initWithDictionary:(NSMutableDictionary*)dict]]; + } + return newList; + } +} + +-(void) setPresetBankCapabilities:(SDLPresetBankCapabilities*) presetBankCapabilities { + if (presetBankCapabilities != nil) { + [parameters setObject:presetBankCapabilities forKey:NAMES_presetBankCapabilities]; + } else { + [parameters removeObjectForKey:NAMES_presetBankCapabilities]; + } +} + +-(SDLPresetBankCapabilities*) presetBankCapabilities { + NSObject* obj = [parameters objectForKey:NAMES_presetBankCapabilities]; + if ([obj isKindOfClass:SDLPresetBankCapabilities.class]) { + return (SDLPresetBankCapabilities*)obj; + } else { + return [[SDLPresetBankCapabilities alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setHmiZoneCapabilities:(NSMutableArray*) hmiZoneCapabilities { + if (hmiZoneCapabilities != nil) { + [parameters setObject:hmiZoneCapabilities forKey:NAMES_hmiZoneCapabilities]; + } else { + [parameters removeObjectForKey:NAMES_hmiZoneCapabilities]; + } +} + +-(NSMutableArray*) hmiZoneCapabilities { + NSMutableArray* array = [parameters objectForKey:NAMES_hmiZoneCapabilities]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLHmiZoneCapabilities.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSString* enumString in array) { + [newList addObject:[SDLHmiZoneCapabilities valueOf:enumString]]; + } + return newList; + } +} + +-(void) setSpeechCapabilities:(NSMutableArray*) speechCapabilities { + if (speechCapabilities != nil) { + [parameters setObject:speechCapabilities forKey:NAMES_speechCapabilities]; + } else { + [parameters removeObjectForKey:NAMES_speechCapabilities]; + } +} + +-(NSMutableArray*) speechCapabilities { + NSMutableArray* array = [parameters objectForKey:NAMES_speechCapabilities]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLSpeechCapabilities.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSString* enumString in array) { + [newList addObject:[SDLSpeechCapabilities valueOf:enumString]]; + } + return newList; + } +} + +-(void) setPrerecordedSpeech:(NSMutableArray*) prerecordedSpeech { + if (prerecordedSpeech != nil) { + [parameters setObject:prerecordedSpeech forKey:NAMES_prerecordedSpeech]; + } else { + [parameters removeObjectForKey:NAMES_prerecordedSpeech]; + } +} + +-(NSMutableArray*) prerecordedSpeech { + NSMutableArray* array = [parameters objectForKey:NAMES_prerecordedSpeech]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLPrerecordedSpeech.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSString* enumString in array) { + [newList addObject:[SDLPrerecordedSpeech valueOf:enumString]]; + } + return newList; + } +} + +-(void) setVrCapabilities:(NSMutableArray*) vrCapabilities { + if (vrCapabilities != nil) { + [parameters setObject:vrCapabilities forKey:NAMES_vrCapabilities]; + } else { + [parameters removeObjectForKey:NAMES_vrCapabilities]; + } +} + +-(NSMutableArray*) vrCapabilities { + NSMutableArray* array = [parameters objectForKey:NAMES_vrCapabilities]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLVrCapabilities.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSString* enumString in array) { + [newList addObject:[SDLVrCapabilities valueOf:enumString]]; + } + return newList; + } +} + +-(void) setAudioPassThruCapabilities:(NSMutableArray*) audioPassThruCapabilities { + if (audioPassThruCapabilities != nil) { + [parameters setObject:audioPassThruCapabilities forKey:NAMES_audioPassThruCapabilities]; + } else { + [parameters removeObjectForKey:NAMES_audioPassThruCapabilities]; + } +} + +-(NSMutableArray*) audioPassThruCapabilities { + NSMutableArray* array = [parameters objectForKey:NAMES_audioPassThruCapabilities]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLAudioPassThruCapabilities.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSDictionary* dict in array) { + [newList addObject:[[SDLAudioPassThruCapabilities alloc] initWithDictionary:(NSMutableDictionary*)dict]]; + } + return newList; + } +} + +-(void) setVehicleType:(SDLVehicleType*) vehicleType { + if (vehicleType != nil) { + [parameters setObject:vehicleType forKey:NAMES_vehicleType]; + } else { + [parameters removeObjectForKey:NAMES_vehicleType]; + } +} + +-(SDLVehicleType*) vehicleType { + NSObject* obj = [parameters objectForKey:NAMES_vehicleType]; + if ([obj isKindOfClass:SDLVehicleType.class]) { + return (SDLVehicleType*)obj; + } else { + return [[SDLVehicleType alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setSupportedDiagModes:(NSMutableArray*) supportedDiagModes { + if (supportedDiagModes != nil) { + [parameters setObject:supportedDiagModes forKey:NAMES_supportedDiagModes]; + } else { + [parameters removeObjectForKey:NAMES_supportedDiagModes]; + } +} + +-(NSMutableArray*) supportedDiagModes { + return [parameters objectForKey:NAMES_supportedDiagModes]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRequestType.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRequestType.h new file mode 100644 index 000000000..35cac457a --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRequestType.h @@ -0,0 +1,20 @@ +// SDLRequestType.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLRequestType : SDLEnum {} + ++(SDLRequestType*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLRequestType*) HTTP; ++(SDLRequestType*) FILE_RESUME; ++(SDLRequestType*) AUTH_REQUEST; ++(SDLRequestType*) AUTH_CHALLENGE; ++(SDLRequestType*) AUTH_ACK; ++(SDLRequestType*) PROPRIETARY; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRequestType.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRequestType.m new file mode 100644 index 000000000..5f5a714d1 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRequestType.m @@ -0,0 +1,83 @@ +// SDLRequestType.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLRequestType.h" + +SDLRequestType* SDLRequestType_HTTP = nil; +SDLRequestType* SDLRequestType_FILE_RESUME = nil; +SDLRequestType* SDLRequestType_AUTH_REQUEST = nil; +SDLRequestType* SDLRequestType_AUTH_CHALLENGE = nil; +SDLRequestType* SDLRequestType_AUTH_ACK = nil; +SDLRequestType* SDLRequestType_PROPRIETARY = nil; + +NSMutableArray* SDLRequestType_values = nil; + +@implementation SDLRequestType + ++(SDLRequestType*) valueOf:(NSString*) value { + for (SDLRequestType* item in SDLRequestType.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLRequestType_values == nil) { + SDLRequestType_values = [[NSMutableArray alloc] initWithObjects: + SDLRequestType.HTTP, + SDLRequestType.FILE_RESUME, + SDLRequestType.AUTH_REQUEST, + SDLRequestType.AUTH_CHALLENGE, + SDLRequestType.AUTH_ACK, + SDLRequestType.PROPRIETARY, + nil]; + } + return SDLRequestType_values; +} + ++(SDLRequestType*) HTTP { + if (SDLRequestType_HTTP == nil) { + SDLRequestType_HTTP = [[SDLRequestType alloc] initWithValue:@"HTTP"]; + } + return SDLRequestType_HTTP; +} + ++(SDLRequestType*) FILE_RESUME { + if (SDLRequestType_FILE_RESUME == nil) { + SDLRequestType_FILE_RESUME = [[SDLRequestType alloc] initWithValue:@"FILE_RESUME"]; + } + return SDLRequestType_FILE_RESUME; +} + ++(SDLRequestType*) AUTH_REQUEST { + if (SDLRequestType_AUTH_REQUEST == nil) { + SDLRequestType_AUTH_REQUEST = [[SDLRequestType alloc] initWithValue:@"AUTH_REQUEST"]; + } + return SDLRequestType_AUTH_REQUEST; +} + ++(SDLRequestType*) AUTH_CHALLENGE { + if (SDLRequestType_AUTH_CHALLENGE == nil) { + SDLRequestType_AUTH_CHALLENGE = [[SDLRequestType alloc] initWithValue:@"AUTH_CHALLENGE"]; + } + return SDLRequestType_AUTH_CHALLENGE; +} + ++(SDLRequestType*) AUTH_ACK { + if (SDLRequestType_AUTH_ACK == nil) { + SDLRequestType_AUTH_ACK = [[SDLRequestType alloc] initWithValue:@"AUTH_ACK"]; + } + return SDLRequestType_AUTH_ACK; +} + ++(SDLRequestType*) PROPRIETARY { + if (SDLRequestType_PROPRIETARY == nil) { + SDLRequestType_PROPRIETARY = [[SDLRequestType alloc] initWithValue:@"PROPRIETARY"]; + } + return SDLRequestType_PROPRIETARY; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalProperties.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalProperties.h new file mode 100644 index 000000000..d2f67d517 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalProperties.h @@ -0,0 +1,15 @@ +// SDLResetGlobalProperties.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +@interface SDLResetGlobalProperties : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSMutableArray* properties; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalProperties.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalProperties.m new file mode 100644 index 000000000..b9522fec1 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalProperties.m @@ -0,0 +1,43 @@ +// SDLResetGlobalProperties.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLResetGlobalProperties.h" + +#import "SDLNames.h" +#import "SDLGlobalProperty.h" + +@implementation SDLResetGlobalProperties + +-(id) init { + if (self = [super initWithName:NAMES_ResetGlobalProperties]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setProperties:(NSMutableArray*) properties { + if (properties != nil) { + [parameters setObject:properties forKey:NAMES_properties]; + } else { + [parameters removeObjectForKey:NAMES_properties]; + } +} + +-(NSMutableArray*) properties { + NSMutableArray* array = [parameters objectForKey:NAMES_properties]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLGlobalProperty.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSString* enumString in array) { + [newList addObject:[SDLGlobalProperty valueOf:enumString]]; + } + return newList; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalPropertiesResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalPropertiesResponse.h new file mode 100644 index 000000000..fc1d4a79d --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalPropertiesResponse.h @@ -0,0 +1,13 @@ +// SDLResetGlobalPropertiesResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLResetGlobalPropertiesResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalPropertiesResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalPropertiesResponse.m new file mode 100644 index 000000000..a2e87c168 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalPropertiesResponse.m @@ -0,0 +1,21 @@ +// SDLResetGlobalPropertiesResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLResetGlobalPropertiesResponse.h" + +#import "SDLNames.h" + +@implementation SDLResetGlobalPropertiesResponse + +-(id) init { + if (self = [super initWithName:NAMES_ResetGlobalProperties]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLResult.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLResult.h new file mode 100644 index 000000000..f93d39fa6 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLResult.h @@ -0,0 +1,46 @@ +// SDLResult.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLResult : SDLEnum {} + ++(SDLResult*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLResult*) SUCCESS; ++(SDLResult*) INVALID_DATA; ++(SDLResult*) UNSUPPORTED_REQUEST; ++(SDLResult*) OUT_OF_MEMORY; ++(SDLResult*) TOO_MANY_PENDING_REQUESTS; ++(SDLResult*) INVALID_ID; ++(SDLResult*) DUPLICATE_NAME; ++(SDLResult*) TOO_MANY_APPLICATIONS; ++(SDLResult*) APPLICATION_REGISTERED_ALREADY; ++(SDLResult*) UNSUPPORTED_VERSION; ++(SDLResult*) WRONG_LANGUAGE; ++(SDLResult*) APPLICATION_NOT_REGISTERED; ++(SDLResult*) IN_USE; ++(SDLResult*) VEHICLE_DATA_NOT_ALLOWED; ++(SDLResult*) VEHICLE_DATA_NOT_AVAILABLE; ++(SDLResult*) REJECTED; ++(SDLResult*) ABORTED; ++(SDLResult*) IGNORED; ++(SDLResult*) UNSUPPORTED_RESOURCE; ++(SDLResult*) FILE_NOT_FOUND; ++(SDLResult*) GENERIC_ERROR; ++(SDLResult*) DISALLOWED; ++(SDLResult*) USER_DISALLOWED; ++(SDLResult*) TIMED_OUT; ++(SDLResult*) CANCEL_ROUTE; ++(SDLResult*) TRUNCATED_DATA; ++(SDLResult*) RETRY; ++(SDLResult*) WARNINGS; ++(SDLResult*) SAVED; ++(SDLResult*) INVALID_CERT; ++(SDLResult*) EXPIRED_CERT; ++(SDLResult*) RESUME_FAILED; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLResult.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLResult.m new file mode 100644 index 000000000..4b655cbbf --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLResult.m @@ -0,0 +1,317 @@ +// SDLResult.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLResult.h" + +SDLResult* SDLResult_SUCCESS = nil; +SDLResult* SDLResult_INVALID_DATA = nil; +SDLResult* SDLResult_UNSUPPORTED_REQUEST = nil; +SDLResult* SDLResult_OUT_OF_MEMORY = nil; +SDLResult* SDLResult_TOO_MANY_PENDING_REQUESTS = nil; +SDLResult* SDLResult_INVALID_ID = nil; +SDLResult* SDLResult_DUPLICATE_NAME = nil; +SDLResult* SDLResult_TOO_MANY_APPLICATIONS = nil; +SDLResult* SDLResult_APPLICATION_REGISTERED_ALREADY = nil; +SDLResult* SDLResult_UNSUPPORTED_VERSION = nil; +SDLResult* SDLResult_WRONG_LANGUAGE = nil; +SDLResult* SDLResult_APPLICATION_NOT_REGISTERED = nil; +SDLResult* SDLResult_IN_USE = nil; +SDLResult* SDLResult_VEHICLE_DATA_NOT_ALLOWED = nil; +SDLResult* SDLResult_VEHICLE_DATA_NOT_AVAILABLE = nil; +SDLResult* SDLResult_REJECTED = nil; +SDLResult* SDLResult_ABORTED = nil; +SDLResult* SDLResult_IGNORED = nil; +SDLResult* SDLResult_UNSUPPORTED_RESOURCE = nil; +SDLResult* SDLResult_FILE_NOT_FOUND = nil; +SDLResult* SDLResult_GENERIC_ERROR = nil; +SDLResult* SDLResult_DISALLOWED = nil; +SDLResult* SDLResult_USER_DISALLOWED = nil; +SDLResult* SDLResult_TIMED_OUT = nil; +SDLResult* SDLResult_CANCEL_ROUTE = nil; +SDLResult* SDLResult_TRUNCATED_DATA = nil; +SDLResult* SDLResult_RETRY = nil; +SDLResult* SDLResult_WARNINGS = nil; +SDLResult* SDLResult_SAVED = nil; +SDLResult* SDLResult_INVALID_CERT = nil; +SDLResult* SDLResult_EXPIRED_CERT = nil; +SDLResult* SDLResult_RESUME_FAILED = nil; + +NSMutableArray* SDLResult_values = nil; + +@implementation SDLResult + ++(SDLResult*) valueOf:(NSString*) value { + for (SDLResult* item in SDLResult.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLResult_values == nil) { + SDLResult_values = [[NSMutableArray alloc] initWithObjects: + SDLResult.SUCCESS, + SDLResult.INVALID_DATA, + SDLResult.UNSUPPORTED_REQUEST, + SDLResult.OUT_OF_MEMORY, + SDLResult.TOO_MANY_PENDING_REQUESTS, + SDLResult.INVALID_ID, + SDLResult.DUPLICATE_NAME, + SDLResult.TOO_MANY_APPLICATIONS, + SDLResult.APPLICATION_REGISTERED_ALREADY, + SDLResult.UNSUPPORTED_VERSION, + SDLResult.WRONG_LANGUAGE, + SDLResult.APPLICATION_NOT_REGISTERED, + SDLResult.IN_USE, + SDLResult.VEHICLE_DATA_NOT_ALLOWED, + SDLResult.VEHICLE_DATA_NOT_AVAILABLE, + SDLResult.REJECTED, + SDLResult.ABORTED, + SDLResult.IGNORED, + SDLResult.UNSUPPORTED_RESOURCE, + SDLResult.FILE_NOT_FOUND, + SDLResult.GENERIC_ERROR, + SDLResult.DISALLOWED, + SDLResult.USER_DISALLOWED, + SDLResult.TIMED_OUT, + SDLResult.CANCEL_ROUTE, + SDLResult.TRUNCATED_DATA, + SDLResult.RETRY, + SDLResult.WARNINGS, + SDLResult.SAVED, + SDLResult.INVALID_CERT, + SDLResult.EXPIRED_CERT, + SDLResult.RESUME_FAILED, + nil]; + } + return SDLResult_values; +} + ++(SDLResult*) SUCCESS { + if (SDLResult_SUCCESS == nil) { + SDLResult_SUCCESS = [[SDLResult alloc] initWithValue:@"SUCCESS"]; + } + return SDLResult_SUCCESS; +} + ++(SDLResult*) INVALID_DATA { + if (SDLResult_INVALID_DATA == nil) { + SDLResult_INVALID_DATA = [[SDLResult alloc] initWithValue:@"INVALID_DATA"]; + } + return SDLResult_INVALID_DATA; +} + ++(SDLResult*) UNSUPPORTED_REQUEST { + if (SDLResult_UNSUPPORTED_REQUEST == nil) { + SDLResult_UNSUPPORTED_REQUEST = [[SDLResult alloc] initWithValue:@"UNSUPPORTED_REQUEST"]; + } + return SDLResult_UNSUPPORTED_REQUEST; +} + ++(SDLResult*) OUT_OF_MEMORY { + if (SDLResult_OUT_OF_MEMORY == nil) { + SDLResult_OUT_OF_MEMORY = [[SDLResult alloc] initWithValue:@"OUT_OF_MEMORY"]; + } + return SDLResult_OUT_OF_MEMORY; +} + ++(SDLResult*) TOO_MANY_PENDING_REQUESTS { + if (SDLResult_TOO_MANY_PENDING_REQUESTS == nil) { + SDLResult_TOO_MANY_PENDING_REQUESTS = [[SDLResult alloc] initWithValue:@"TOO_MANY_PENDING_REQUESTS"]; + } + return SDLResult_TOO_MANY_PENDING_REQUESTS; +} + ++(SDLResult*) INVALID_ID { + if (SDLResult_INVALID_ID == nil) { + SDLResult_INVALID_ID = [[SDLResult alloc] initWithValue:@"INVALID_ID"]; + } + return SDLResult_INVALID_ID; +} + ++(SDLResult*) DUPLICATE_NAME { + if (SDLResult_DUPLICATE_NAME == nil) { + SDLResult_DUPLICATE_NAME = [[SDLResult alloc] initWithValue:@"DUPLICATE_NAME"]; + } + return SDLResult_DUPLICATE_NAME; +} + ++(SDLResult*) TOO_MANY_APPLICATIONS { + if (SDLResult_TOO_MANY_APPLICATIONS == nil) { + SDLResult_TOO_MANY_APPLICATIONS = [[SDLResult alloc] initWithValue:@"TOO_MANY_APPLICATIONS"]; + } + return SDLResult_TOO_MANY_APPLICATIONS; +} + ++(SDLResult*) APPLICATION_REGISTERED_ALREADY { + if (SDLResult_APPLICATION_REGISTERED_ALREADY == nil) { + SDLResult_APPLICATION_REGISTERED_ALREADY = [[SDLResult alloc] initWithValue:@"APPLICATION_REGISTERED_ALREADY"]; + } + return SDLResult_APPLICATION_REGISTERED_ALREADY; +} + ++(SDLResult*) UNSUPPORTED_VERSION { + if (SDLResult_UNSUPPORTED_VERSION == nil) { + SDLResult_UNSUPPORTED_VERSION = [[SDLResult alloc] initWithValue:@"UNSUPPORTED_VERSION"]; + } + return SDLResult_UNSUPPORTED_VERSION; +} + ++(SDLResult*) WRONG_LANGUAGE { + if (SDLResult_WRONG_LANGUAGE == nil) { + SDLResult_WRONG_LANGUAGE = [[SDLResult alloc] initWithValue:@"WRONG_LANGUAGE"]; + } + return SDLResult_WRONG_LANGUAGE; +} + ++(SDLResult*) APPLICATION_NOT_REGISTERED { + if (SDLResult_APPLICATION_NOT_REGISTERED == nil) { + SDLResult_APPLICATION_NOT_REGISTERED = [[SDLResult alloc] initWithValue:@"APPLICATION_NOT_REGISTERED"]; + } + return SDLResult_APPLICATION_NOT_REGISTERED; +} + ++(SDLResult*) IN_USE { + if (SDLResult_IN_USE == nil) { + SDLResult_IN_USE = [[SDLResult alloc] initWithValue:@"IN_USE"]; + } + return SDLResult_IN_USE; +} + ++(SDLResult*) VEHICLE_DATA_NOT_ALLOWED { + if (SDLResult_VEHICLE_DATA_NOT_ALLOWED == nil) { + SDLResult_VEHICLE_DATA_NOT_ALLOWED = [[SDLResult alloc] initWithValue:@"VEHICLE_DATA_NOT_ALLOWED"]; + } + return SDLResult_VEHICLE_DATA_NOT_ALLOWED; +} + ++(SDLResult*) VEHICLE_DATA_NOT_AVAILABLE { + if (SDLResult_VEHICLE_DATA_NOT_AVAILABLE == nil) { + SDLResult_VEHICLE_DATA_NOT_AVAILABLE = [[SDLResult alloc] initWithValue:@"VEHICLE_DATA_NOT_AVAILABLE"]; + } + return SDLResult_VEHICLE_DATA_NOT_AVAILABLE; +} + ++(SDLResult*) REJECTED { + if (SDLResult_REJECTED == nil) { + SDLResult_REJECTED = [[SDLResult alloc] initWithValue:@"REJECTED"]; + } + return SDLResult_REJECTED; +} + ++(SDLResult*) ABORTED { + if (SDLResult_ABORTED == nil) { + SDLResult_ABORTED = [[SDLResult alloc] initWithValue:@"ABORTED"]; + } + return SDLResult_ABORTED; +} + ++(SDLResult*) IGNORED { + if (SDLResult_IGNORED == nil) { + SDLResult_IGNORED = [[SDLResult alloc] initWithValue:@"IGNORED"]; + } + return SDLResult_IGNORED; +} + ++(SDLResult*) UNSUPPORTED_RESOURCE { + if (SDLResult_UNSUPPORTED_RESOURCE == nil) { + SDLResult_UNSUPPORTED_RESOURCE = [[SDLResult alloc] initWithValue:@"UNSUPPORTED_RESOURCE"]; + } + return SDLResult_UNSUPPORTED_RESOURCE; +} + ++(SDLResult*) FILE_NOT_FOUND { + if (SDLResult_FILE_NOT_FOUND == nil) { + SDLResult_FILE_NOT_FOUND = [[SDLResult alloc] initWithValue:@"FILE_NOT_FOUND"]; + } + return SDLResult_FILE_NOT_FOUND; +} + ++(SDLResult*) GENERIC_ERROR { + if (SDLResult_GENERIC_ERROR == nil) { + SDLResult_GENERIC_ERROR = [[SDLResult alloc] initWithValue:@"GENERIC_ERROR"]; + } + return SDLResult_GENERIC_ERROR; +} + ++(SDLResult*) DISALLOWED { + if (SDLResult_DISALLOWED == nil) { + SDLResult_DISALLOWED = [[SDLResult alloc] initWithValue:@"DISALLOWED"]; + } + return SDLResult_DISALLOWED; +} + ++(SDLResult*) USER_DISALLOWED { + if (SDLResult_USER_DISALLOWED == nil) { + SDLResult_USER_DISALLOWED = [[SDLResult alloc] initWithValue:@"USER_DISALLOWED"]; + } + return SDLResult_USER_DISALLOWED; +} + ++(SDLResult*) TIMED_OUT { + if (SDLResult_TIMED_OUT == nil) { + SDLResult_TIMED_OUT = [[SDLResult alloc] initWithValue:@"TIMED_OUT"]; + } + return SDLResult_TIMED_OUT; +} + ++(SDLResult*) CANCEL_ROUTE { + if (SDLResult_CANCEL_ROUTE == nil) { + SDLResult_CANCEL_ROUTE = [[SDLResult alloc] initWithValue:@"CANCEL_ROUTE"]; + } + return SDLResult_CANCEL_ROUTE; +} + ++(SDLResult*) TRUNCATED_DATA { + if (SDLResult_TRUNCATED_DATA == nil) { + SDLResult_TRUNCATED_DATA = [[SDLResult alloc] initWithValue:@"TRUNCATED_DATA"]; + } + return SDLResult_TRUNCATED_DATA; +} + ++(SDLResult*) RETRY { + if (SDLResult_RETRY == nil) { + SDLResult_RETRY = [[SDLResult alloc] initWithValue:@"RETRY"]; + } + return SDLResult_RETRY; +} + ++(SDLResult*) WARNINGS { + if (SDLResult_WARNINGS == nil) { + SDLResult_WARNINGS = [[SDLResult alloc] initWithValue:@"WARNINGS"]; + } + return SDLResult_WARNINGS; +} + ++(SDLResult*) SAVED { + if (SDLResult_SAVED == nil) { + SDLResult_SAVED = [[SDLResult alloc] initWithValue:@"SAVED"]; + } + return SDLResult_SAVED; +} + ++(SDLResult*) INVALID_CERT { + if (SDLResult_INVALID_CERT == nil) { + SDLResult_INVALID_CERT = [[SDLResult alloc] initWithValue:@"INVALID_CERT"]; + } + return SDLResult_INVALID_CERT; +} + ++(SDLResult*) EXPIRED_CERT { + if (SDLResult_EXPIRED_CERT == nil) { + SDLResult_EXPIRED_CERT = [[SDLResult alloc] initWithValue:@"EXPIRED_CERT"]; + } + return SDLResult_EXPIRED_CERT; +} + ++(SDLResult*) RESUME_FAILED { + if (SDLResult_RESUME_FAILED == nil) { + SDLResult_RESUME_FAILED = [[SDLResult alloc] initWithValue:@"RESUME_FAILED"]; + } + return SDLResult_RESUME_FAILED; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSamplingRate.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSamplingRate.h new file mode 100644 index 000000000..0657bbb58 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSamplingRate.h @@ -0,0 +1,18 @@ +// SDLSamplingRate.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLSamplingRate : SDLEnum {} + ++(SDLSamplingRate*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLSamplingRate*) _8KHZ; ++(SDLSamplingRate*) _16KHZ; ++(SDLSamplingRate*) _22KHZ; ++(SDLSamplingRate*) _44KHZ; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSamplingRate.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSamplingRate.m new file mode 100644 index 000000000..76330b016 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSamplingRate.m @@ -0,0 +1,65 @@ +// SDLSamplingRate.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLSamplingRate.h" + +SDLSamplingRate* SDLSamplingRate_8KHZ = nil; +SDLSamplingRate* SDLSamplingRate_16KHZ = nil; +SDLSamplingRate* SDLSamplingRate_22KHZ = nil; +SDLSamplingRate* SDLSamplingRate_44KHZ = nil; + +NSMutableArray* SDLSamplingRate_values = nil; + +@implementation SDLSamplingRate + ++(SDLSamplingRate*) valueOf:(NSString*) value { + for (SDLSamplingRate* item in SDLSamplingRate.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLSamplingRate_values == nil) { + SDLSamplingRate_values = [[NSMutableArray alloc] initWithObjects: + SDLSamplingRate._8KHZ, + SDLSamplingRate._16KHZ, + SDLSamplingRate._22KHZ, + SDLSamplingRate._44KHZ, + nil]; + } + return SDLSamplingRate_values; +} + ++(SDLSamplingRate*) _8KHZ { + if (SDLSamplingRate_8KHZ == nil) { + SDLSamplingRate_8KHZ = [[SDLSamplingRate alloc] initWithValue:@"8KHZ"]; + } + return SDLSamplingRate_8KHZ; +} + ++(SDLSamplingRate*) _16KHZ { + if (SDLSamplingRate_16KHZ == nil) { + SDLSamplingRate_16KHZ = [[SDLSamplingRate alloc] initWithValue:@"16KHZ"]; + } + return SDLSamplingRate_16KHZ; +} + ++(SDLSamplingRate*) _22KHZ { + if (SDLSamplingRate_22KHZ == nil) { + SDLSamplingRate_22KHZ = [[SDLSamplingRate alloc] initWithValue:@"22KHZ"]; + } + return SDLSamplingRate_22KHZ; +} + ++(SDLSamplingRate*) _44KHZ { + if (SDLSamplingRate_44KHZ == nil) { + SDLSamplingRate_44KHZ = [[SDLSamplingRate alloc] initWithValue:@"44KHZ"]; + } + return SDLSamplingRate_44KHZ; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLScreenParams.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLScreenParams.h new file mode 100644 index 000000000..f4306da46 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLScreenParams.h @@ -0,0 +1,19 @@ +// SDLScreenParams.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +#import "SDLImageResolution.h" +#import "SDLTouchEventCapabilities.h" + +@interface SDLScreenParams : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLImageResolution* resolution; +@property(strong) SDLTouchEventCapabilities* touchEventAvailable; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLScreenParams.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLScreenParams.m new file mode 100644 index 000000000..52e2c43d4 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLScreenParams.m @@ -0,0 +1,55 @@ +// SDLScreenParams.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLScreenParams.h" + +#import "SDLNames.h" + +@implementation SDLScreenParams + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setResolution:(SDLImageResolution*) resolution { + if (resolution != nil) { + [store setObject:resolution forKey:NAMES_resolution]; + } else { + [store removeObjectForKey:NAMES_resolution]; + } +} + +-(SDLImageResolution*) resolution { + NSObject* obj = [store objectForKey:NAMES_resolution]; + if ([obj isKindOfClass:SDLImageResolution.class]) { + return (SDLImageResolution*)obj; + } else { + return [[SDLImageResolution alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setTouchEventAvailable:(SDLTouchEventCapabilities*) touchEventAvailable { + if (touchEventAvailable != nil) { + [store setObject:touchEventAvailable forKey:NAMES_touchEventAvailable]; + } else { + [store removeObjectForKey:NAMES_touchEventAvailable]; + } +} + +-(SDLTouchEventCapabilities*) touchEventAvailable { + NSObject* obj = [store objectForKey:NAMES_touchEventAvailable]; + if ([obj isKindOfClass:SDLTouchEventCapabilities.class]) { + return (SDLTouchEventCapabilities*)obj; + } else { + return [[SDLTouchEventCapabilities alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessage.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessage.h new file mode 100644 index 000000000..94911c85d --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessage.h @@ -0,0 +1,17 @@ +// SDLScrollableMessage.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +@interface SDLScrollableMessage : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSString* scrollableMessageBody; +@property(strong) NSNumber* timeout; +@property(strong) NSMutableArray* softButtons; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessage.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessage.m new file mode 100644 index 000000000..22c00eb7e --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessage.m @@ -0,0 +1,67 @@ +// SDLScrollableMessage.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLScrollableMessage.h" + +#import "SDLNames.h" +#import "SDLSoftButton.h" + +@implementation SDLScrollableMessage + +-(id) init { + if (self = [super initWithName:NAMES_ScrollableMessage]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setScrollableMessageBody:(NSString*) scrollableMessageBody { + if (scrollableMessageBody != nil) { + [parameters setObject:scrollableMessageBody forKey:NAMES_scrollableMessageBody]; + } else { + [parameters removeObjectForKey:NAMES_scrollableMessageBody]; + } +} + +-(NSString*) scrollableMessageBody { + return [parameters objectForKey:NAMES_scrollableMessageBody]; +} + +-(void) setTimeout:(NSNumber*) timeout { + if (timeout != nil) { + [parameters setObject:timeout forKey:NAMES_timeout]; + } else { + [parameters removeObjectForKey:NAMES_timeout]; + } +} + +-(NSNumber*) timeout { + return [parameters objectForKey:NAMES_timeout]; +} + +-(void) setSoftButtons:(NSMutableArray*) softButtons { + if (softButtons != nil) { + [parameters setObject:softButtons forKey:NAMES_softButtons]; + } else { + [parameters removeObjectForKey:NAMES_softButtons]; + } +} + +-(NSMutableArray*) softButtons { + NSMutableArray* array = [parameters objectForKey:NAMES_softButtons]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLSoftButton.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSDictionary* dict in array) { + [newList addObject:[[SDLSoftButton alloc] initWithDictionary:(NSMutableDictionary*)dict]]; + } + return newList; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessageResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessageResponse.h new file mode 100644 index 000000000..26324dce2 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessageResponse.h @@ -0,0 +1,13 @@ +// SDLScrollableMessageResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLScrollableMessageResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessageResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessageResponse.m new file mode 100644 index 000000000..9e1555ada --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessageResponse.m @@ -0,0 +1,21 @@ +// SDLScrollableMessageResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLScrollableMessageResponse.h" + +#import "SDLNames.h" + +@implementation SDLScrollableMessageResponse + +-(id) init { + if (self = [super initWithName:NAMES_ScrollableMessage]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIcon.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIcon.h new file mode 100644 index 000000000..a23417d9c --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIcon.h @@ -0,0 +1,15 @@ +// SDLSetAppIcon.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +@interface SDLSetAppIcon : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSString* syncFileName; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIcon.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIcon.m new file mode 100644 index 000000000..67ecb85e7 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIcon.m @@ -0,0 +1,33 @@ +// SDLSetAppIcon.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLSetAppIcon.h" + +#import "SDLNames.h" + +@implementation SDLSetAppIcon + +-(id) init { + if (self = [super initWithName:NAMES_SetAppIcon]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setSyncFileName:(NSString*) syncFileName { + if (syncFileName != nil) { + [parameters setObject:syncFileName forKey:NAMES_syncFileName]; + } else { + [parameters removeObjectForKey:NAMES_syncFileName]; + } +} + +-(NSString*) syncFileName { + return [parameters objectForKey:NAMES_syncFileName]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIconResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIconResponse.h new file mode 100644 index 000000000..66a90e645 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIconResponse.h @@ -0,0 +1,13 @@ +// SDLSetAppIconResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLSetAppIconResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIconResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIconResponse.m new file mode 100644 index 000000000..d73ad0d08 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIconResponse.m @@ -0,0 +1,21 @@ +// SDLSetAppIconResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLSetAppIconResponse.h" + +#import "SDLNames.h" + +@implementation SDLSetAppIconResponse + +-(id) init { + if (self = [super initWithName:NAMES_SetAppIcon]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayout.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayout.h new file mode 100644 index 000000000..a40943bd2 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayout.h @@ -0,0 +1,15 @@ +// SDLSetDisplayLayout.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +@interface SDLSetDisplayLayout : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSString* displayLayout; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayout.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayout.m new file mode 100644 index 000000000..11d5bcfcd --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayout.m @@ -0,0 +1,33 @@ +// SDLSetDisplayLayout.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLSetDisplayLayout.h" + +#import "SDLNames.h" + +@implementation SDLSetDisplayLayout + +-(id) init { + if (self = [super initWithName:NAMES_SetDisplayLayout]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setDisplayLayout:(NSString*) displayLayout { + if (displayLayout != nil) { + [parameters setObject:displayLayout forKey:NAMES_displayLayout]; + } else { + [parameters removeObjectForKey:NAMES_displayLayout]; + } +} + +-(NSString*) displayLayout { + return [parameters objectForKey:NAMES_displayLayout]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayoutResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayoutResponse.h new file mode 100644 index 000000000..4e4394222 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayoutResponse.h @@ -0,0 +1,21 @@ +// SDLSetDisplayLayoutResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +#import "SDLDisplayCapabilities.h" +#import "SDLPresetBankCapabilities.h" + +@interface SDLSetDisplayLayoutResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLDisplayCapabilities* displayCapabilities; +@property(strong) NSMutableArray* buttonCapabilities; +@property(strong) NSMutableArray* softButtonCapabilities; +@property(strong) SDLPresetBankCapabilities* presetBankCapabilities; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayoutResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayoutResponse.m new file mode 100644 index 000000000..db51b0c46 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayoutResponse.m @@ -0,0 +1,99 @@ +// SDLSetDisplayLayoutResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLSetDisplayLayoutResponse.h" + +#import "SDLNames.h" +#import "SDLButtonCapabilities.h" +#import "SDLSoftButtonCapabilities.h" + +@implementation SDLSetDisplayLayoutResponse + +-(id) init { + if (self = [super initWithName:NAMES_SetDisplayLayout]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setDisplayCapabilities:(SDLDisplayCapabilities*) displayCapabilities { + if (displayCapabilities != nil) { + [parameters setObject:displayCapabilities forKey:NAMES_displayCapabilities]; + } else { + [parameters removeObjectForKey:NAMES_displayCapabilities]; + } +} + +-(SDLDisplayCapabilities*) displayCapabilities { + NSObject* obj = [parameters objectForKey:NAMES_displayCapabilities]; + if ([obj isKindOfClass:SDLDisplayCapabilities.class]) { + return (SDLDisplayCapabilities*)obj; + } else { + return [[SDLDisplayCapabilities alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setButtonCapabilities:(NSMutableArray*) buttonCapabilities { + if (buttonCapabilities != nil) { + [parameters setObject:buttonCapabilities forKey:NAMES_buttonCapabilities]; + } else { + [parameters removeObjectForKey:NAMES_buttonCapabilities]; + } +} + +-(NSMutableArray*) buttonCapabilities { + NSMutableArray* array = [parameters objectForKey:NAMES_buttonCapabilities]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLButtonCapabilities.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSDictionary* dict in array) { + [newList addObject:[[SDLButtonCapabilities alloc] initWithDictionary:(NSMutableDictionary*)dict]]; + } + return newList; + } +} + +-(void) setSoftButtonCapabilities:(NSMutableArray*) softButtonCapabilities { + if (softButtonCapabilities != nil) { + [parameters setObject:softButtonCapabilities forKey:NAMES_softButtonCapabilities]; + } else { + [parameters removeObjectForKey:NAMES_softButtonCapabilities]; + } +} + +-(NSMutableArray*) softButtonCapabilities { + NSMutableArray* array = [parameters objectForKey:NAMES_softButtonCapabilities]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLSoftButtonCapabilities.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSDictionary* dict in array) { + [newList addObject:[[SDLSoftButtonCapabilities alloc] initWithDictionary:(NSMutableDictionary*)dict]]; + } + return newList; + } +} + +-(void) setPresetBankCapabilities:(SDLPresetBankCapabilities*) presetBankCapabilities { + if (presetBankCapabilities != nil) { + [parameters setObject:presetBankCapabilities forKey:NAMES_presetBankCapabilities]; + } else { + [parameters removeObjectForKey:NAMES_presetBankCapabilities]; + } +} + +-(SDLPresetBankCapabilities*) presetBankCapabilities { + NSObject* obj = [parameters objectForKey:NAMES_presetBankCapabilities]; + if ([obj isKindOfClass:SDLPresetBankCapabilities.class]) { + return (SDLPresetBankCapabilities*)obj; + } else { + return [[SDLPresetBankCapabilities alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalProperties.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalProperties.h new file mode 100644 index 000000000..f7efbf061 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalProperties.h @@ -0,0 +1,24 @@ +// SDLSetGlobalProperties.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +#import "SDLImage.h" +#import "SDLKeyboardProperties.h" + +@interface SDLSetGlobalProperties : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSMutableArray* helpPrompt; +@property(strong) NSMutableArray* timeoutPrompt; +@property(strong) NSString* vrHelpTitle; +@property(strong) NSMutableArray* vrHelp; +@property(strong) NSString* menuTitle; +@property(strong) SDLImage* menuIcon; +@property(strong) SDLKeyboardProperties* keyboardProperties; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalProperties.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalProperties.m new file mode 100644 index 000000000..b9bc4ce44 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalProperties.m @@ -0,0 +1,144 @@ +// SDLSetGlobalProperties.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLSetGlobalProperties.h" + +#import "SDLNames.h" +#import "SDLTTSChunk.h" +#import "SDLVrHelpItem.h" + +@implementation SDLSetGlobalProperties + +-(id) init { + if (self = [super initWithName:NAMES_SetGlobalProperties]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setHelpPrompt:(NSMutableArray*) helpPrompt { + if (helpPrompt != nil) { + [parameters setObject:helpPrompt forKey:NAMES_helpPrompt]; + } else { + [parameters removeObjectForKey:NAMES_helpPrompt]; + } +} + +-(NSMutableArray*) helpPrompt { + NSMutableArray* array = [parameters objectForKey:NAMES_helpPrompt]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLTTSChunk.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSDictionary* dict in array) { + [newList addObject:[[SDLTTSChunk alloc] initWithDictionary:(NSMutableDictionary*)dict]]; + } + return newList; + } +} + +-(void) setTimeoutPrompt:(NSMutableArray*) timeoutPrompt { + if (timeoutPrompt != nil) { + [parameters setObject:timeoutPrompt forKey:NAMES_timeoutPrompt]; + } else { + [parameters removeObjectForKey:NAMES_timeoutPrompt]; + } +} + +-(NSMutableArray*) timeoutPrompt { + NSMutableArray* array = [parameters objectForKey:NAMES_timeoutPrompt]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLTTSChunk.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSDictionary* dict in array) { + [newList addObject:[[SDLTTSChunk alloc] initWithDictionary:(NSMutableDictionary*)dict]]; + } + return newList; + } +} + +-(void) setVrHelpTitle:(NSString*) vrHelpTitle { + if (vrHelpTitle != nil) { + [parameters setObject:vrHelpTitle forKey:NAMES_vrHelpTitle]; + } else { + [parameters removeObjectForKey:NAMES_vrHelpTitle]; + } +} + +-(NSString*) vrHelpTitle { + return [parameters objectForKey:NAMES_vrHelpTitle]; +} + +-(void) setVrHelp:(NSMutableArray*) vrHelp { + if (vrHelp != nil) { + [parameters setObject:vrHelp forKey:NAMES_vrHelp]; + } else { + [parameters removeObjectForKey:NAMES_vrHelp]; + } +} + +-(NSMutableArray*) vrHelp { + NSMutableArray* array = [parameters objectForKey:NAMES_vrHelp]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLVrHelpItem.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSDictionary* dict in array) { + [newList addObject:[[SDLVrHelpItem alloc] initWithDictionary:(NSMutableDictionary*)dict]]; + } + return newList; + } +} + +-(void) setMenuTitle:(NSString*) menuTitle { + if (menuTitle != nil) { + [parameters setObject:menuTitle forKey:NAMES_menuTitle]; + } else { + [parameters removeObjectForKey:NAMES_menuTitle]; + } +} + +-(NSString*) menuTitle { + return [parameters objectForKey:NAMES_menuTitle]; +} + +-(void) setMenuIcon:(SDLImage*) menuIcon { + if (menuIcon != nil) { + [parameters setObject:menuIcon forKey:NAMES_menuIcon]; + } else { + [parameters removeObjectForKey:NAMES_menuIcon]; + } +} + +-(SDLImage*) menuIcon { + NSObject* obj = [parameters objectForKey:NAMES_menuIcon]; + if ([obj isKindOfClass:SDLImage.class]) { + return (SDLImage*)obj; + } else { + return [[SDLImage alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setKeyboardProperties:(SDLKeyboardProperties*) keyboardProperties { + if (keyboardProperties != nil) { + [parameters setObject:keyboardProperties forKey:NAMES_keyboardProperties]; + } else { + [parameters removeObjectForKey:NAMES_keyboardProperties]; + } +} + +-(SDLKeyboardProperties*) keyboardProperties { + NSObject* obj = [parameters objectForKey:NAMES_keyboardProperties]; + if ([obj isKindOfClass:SDLKeyboardProperties.class]) { + return (SDLKeyboardProperties*)obj; + } else { + return [[SDLKeyboardProperties alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalPropertiesResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalPropertiesResponse.h new file mode 100644 index 000000000..ea7b60e14 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalPropertiesResponse.h @@ -0,0 +1,13 @@ +// SDLSetGlobalPropertiesResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLSetGlobalPropertiesResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalPropertiesResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalPropertiesResponse.m new file mode 100644 index 000000000..f3040a95b --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalPropertiesResponse.m @@ -0,0 +1,21 @@ +// SDLSetGlobalPropertiesResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLSetGlobalPropertiesResponse.h" + +#import "SDLNames.h" + +@implementation SDLSetGlobalPropertiesResponse + +-(id) init { + if (self = [super initWithName:NAMES_SetGlobalProperties]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimer.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimer.h new file mode 100644 index 000000000..933599540 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimer.h @@ -0,0 +1,20 @@ +// SDLSetMediaClockTimer.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +#import "SDLStartTime.h" +#import "SDLUpdateMode.h" + +@interface SDLSetMediaClockTimer : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLStartTime* startTime; +@property(strong) SDLStartTime* endTime; +@property(strong) SDLUpdateMode* updateMode; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimer.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimer.m new file mode 100644 index 000000000..5bcfac94b --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimer.m @@ -0,0 +1,72 @@ +// SDLSetMediaClockTimer.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLSetMediaClockTimer.h" + +#import "SDLNames.h" + +@implementation SDLSetMediaClockTimer + +-(id) init { + if (self = [super initWithName:NAMES_SetMediaClockTimer]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setStartTime:(SDLStartTime*) startTime { + if (startTime != nil) { + [parameters setObject:startTime forKey:NAMES_startTime]; + } else { + [parameters removeObjectForKey:NAMES_startTime]; + } +} + +-(SDLStartTime*) startTime { + NSObject* obj = [parameters objectForKey:NAMES_startTime]; + if ([obj isKindOfClass:SDLStartTime.class]) { + return (SDLStartTime*)obj; + } else { + return [[SDLStartTime alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setEndTime:(SDLStartTime*) endTime { + if (endTime != nil) { + [parameters setObject:endTime forKey:NAMES_endTime]; + } else { + [parameters removeObjectForKey:NAMES_endTime]; + } +} + +-(SDLStartTime*) endTime { + NSObject* obj = [parameters objectForKey:NAMES_endTime]; + if ([obj isKindOfClass:SDLStartTime.class]) { + return (SDLStartTime*)obj; + } else { + return [[SDLStartTime alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setUpdateMode:(SDLUpdateMode*) updateMode { + if (updateMode != nil) { + [parameters setObject:updateMode forKey:NAMES_updateMode]; + } else { + [parameters removeObjectForKey:NAMES_updateMode]; + } +} + +-(SDLUpdateMode*) updateMode { + NSObject* obj = [parameters objectForKey:NAMES_updateMode]; + if ([obj isKindOfClass:SDLUpdateMode.class]) { + return (SDLUpdateMode*)obj; + } else { + return [SDLUpdateMode valueOf:(NSString*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimerResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimerResponse.h new file mode 100644 index 000000000..8471d7123 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimerResponse.h @@ -0,0 +1,13 @@ +// SDLSetMediaClockTimerResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLSetMediaClockTimerResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimerResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimerResponse.m new file mode 100644 index 000000000..1f7076312 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimerResponse.m @@ -0,0 +1,21 @@ +// SDLSetMediaClockTimerResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLSetMediaClockTimerResponse.h" + +#import "SDLNames.h" + +@implementation SDLSetMediaClockTimerResponse + +-(id) init { + if (self = [super initWithName:NAMES_SetMediaClockTimer]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLShow.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShow.h new file mode 100644 index 000000000..7e0aaff66 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShow.h @@ -0,0 +1,29 @@ +// SDLShow.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +#import "SDLTextAlignment.h" +#import "SDLImage.h" + +@interface SDLShow : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSString* mainField1; +@property(strong) NSString* mainField2; +@property(strong) NSString* mainField3; +@property(strong) NSString* mainField4; +@property(strong) SDLTextAlignment* alignment; +@property(strong) NSString* statusBar; +@property(strong) NSString* mediaClock; +@property(strong) NSString* mediaTrack; +@property(strong) SDLImage* graphic; +@property(strong) SDLImage* secondaryGraphic; +@property(strong) NSMutableArray* softButtons; +@property(strong) NSMutableArray* customPresets; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLShow.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShow.m new file mode 100644 index 000000000..50e8f30d4 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShow.m @@ -0,0 +1,190 @@ +// SDLShow.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLShow.h" + +#import "SDLNames.h" +#import "SDLSoftButton.h" + +@implementation SDLShow + +-(id) init { + if (self = [super initWithName:NAMES_Show]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setMainField1:(NSString*) mainField1 { + if (mainField1 != nil) { + [parameters setObject:mainField1 forKey:NAMES_mainField1]; + } else { + [parameters removeObjectForKey:NAMES_mainField1]; + } +} + +-(NSString*) mainField1 { + return [parameters objectForKey:NAMES_mainField1]; +} + +-(void) setMainField2:(NSString*) mainField2 { + if (mainField2 != nil) { + [parameters setObject:mainField2 forKey:NAMES_mainField2]; + } else { + [parameters removeObjectForKey:NAMES_mainField2]; + } +} + +-(NSString*) mainField2 { + return [parameters objectForKey:NAMES_mainField2]; +} + +-(void) setMainField3:(NSString*) mainField3 { + if (mainField3 != nil) { + [parameters setObject:mainField3 forKey:NAMES_mainField3]; + } else { + [parameters removeObjectForKey:NAMES_mainField3]; + } +} + +-(NSString*) mainField3 { + return [parameters objectForKey:NAMES_mainField3]; +} + +-(void) setMainField4:(NSString*) mainField4 { + if (mainField4 != nil) { + [parameters setObject:mainField4 forKey:NAMES_mainField4]; + } else { + [parameters removeObjectForKey:NAMES_mainField4]; + } +} + +-(NSString*) mainField4 { + return [parameters objectForKey:NAMES_mainField4]; +} + +-(void) setAlignment:(SDLTextAlignment*) alignment { + if (alignment != nil) { + [parameters setObject:alignment forKey:NAMES_alignment]; + } else { + [parameters removeObjectForKey:NAMES_alignment]; + } +} + +-(SDLTextAlignment*) alignment { + NSObject* obj = [parameters objectForKey:NAMES_alignment]; + if ([obj isKindOfClass:SDLTextAlignment.class]) { + return (SDLTextAlignment*)obj; + } else { + return [SDLTextAlignment valueOf:(NSString*)obj]; + } +} + +-(void) setStatusBar:(NSString*) statusBar { + if (statusBar != nil) { + [parameters setObject:statusBar forKey:NAMES_statusBar]; + } else { + [parameters removeObjectForKey:NAMES_statusBar]; + } +} + +-(NSString*) statusBar { + return [parameters objectForKey:NAMES_statusBar]; +} + +-(void) setMediaClock:(NSString*) mediaClock { + if (mediaClock != nil) { + [parameters setObject:mediaClock forKey:NAMES_mediaClock]; + } else { + [parameters removeObjectForKey:NAMES_mediaClock]; + } +} + +-(NSString*) mediaClock { + return [parameters objectForKey:NAMES_mediaClock]; +} + +-(void) setMediaTrack:(NSString*) mediaTrack { + if (mediaTrack != nil) { + [parameters setObject:mediaTrack forKey:NAMES_mediaTrack]; + } else { + [parameters removeObjectForKey:NAMES_mediaTrack]; + } +} + +-(NSString*) mediaTrack { + return [parameters objectForKey:NAMES_mediaTrack]; +} + +-(void) setGraphic:(SDLImage*) graphic { + if (graphic != nil) { + [parameters setObject:graphic forKey:NAMES_graphic]; + } else { + [parameters removeObjectForKey:NAMES_graphic]; + } +} + +-(SDLImage*) graphic { + NSObject* obj = [parameters objectForKey:NAMES_graphic]; + if ([obj isKindOfClass:SDLImage.class]) { + return (SDLImage*)obj; + } else { + return [[SDLImage alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setSecondaryGraphic:(SDLImage*) secondaryGraphic { + if (secondaryGraphic != nil) { + [parameters setObject:secondaryGraphic forKey:NAMES_secondaryGraphic]; + } else { + [parameters removeObjectForKey:NAMES_secondaryGraphic]; + } +} + +-(SDLImage*) secondaryGraphic { + NSObject* obj = [parameters objectForKey:NAMES_secondaryGraphic]; + if ([obj isKindOfClass:SDLImage.class]) { + return (SDLImage*)obj; + } else { + return [[SDLImage alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setSoftButtons:(NSMutableArray*) softButtons { + if (softButtons != nil) { + [parameters setObject:softButtons forKey:NAMES_softButtons]; + } else { + [parameters removeObjectForKey:NAMES_softButtons]; + } +} + +-(NSMutableArray*) softButtons { + NSMutableArray* array = [parameters objectForKey:NAMES_softButtons]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLSoftButton.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSDictionary* dict in array) { + [newList addObject:[[SDLSoftButton alloc] initWithDictionary:(NSMutableDictionary*)dict]]; + } + return newList; + } +} + +-(void) setCustomPresets:(NSMutableArray*) customPresets { + if (customPresets != nil) { + [parameters setObject:customPresets forKey:NAMES_customPresets]; + } else { + [parameters removeObjectForKey:NAMES_customPresets]; + } +} + +-(NSMutableArray*) customPresets { + return [parameters objectForKey:NAMES_customPresets]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBT.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBT.h new file mode 100644 index 000000000..f506bf904 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBT.h @@ -0,0 +1,27 @@ +// SDLShowConstantTBT.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +#import "SDLImage.h" + +@interface SDLShowConstantTBT : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSString* navigationText1; +@property(strong) NSString* navigationText2; +@property(strong) NSString* eta; +@property(strong) NSString* timeToDestination; +@property(strong) NSString* totalDistance; +@property(strong) SDLImage* turnIcon; +@property(strong) SDLImage* nextTurnIcon; +@property(strong) NSNumber* distanceToManeuver; +@property(strong) NSNumber* distanceToManeuverScale; +@property(strong) NSNumber* maneuverComplete; +@property(strong) NSMutableArray* softButtons; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBT.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBT.m new file mode 100644 index 000000000..a39e98180 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBT.m @@ -0,0 +1,173 @@ +// SDLShowConstantTBT.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLShowConstantTBT.h" + +#import "SDLNames.h" +#import "SDLSoftButton.h" + +@implementation SDLShowConstantTBT + +-(id) init { + if (self = [super initWithName:NAMES_ShowConstantTBT]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setNavigationText1:(NSString*) navigationText1 { + if (navigationText1 != nil) { + [parameters setObject:navigationText1 forKey:NAMES_navigationText1]; + } else { + [parameters removeObjectForKey:NAMES_navigationText1]; + } +} + +-(NSString*) navigationText1 { + return [parameters objectForKey:NAMES_navigationText1]; +} + +-(void) setNavigationText2:(NSString*) navigationText2 { + if (navigationText2 != nil) { + [parameters setObject:navigationText2 forKey:NAMES_navigationText2]; + } else { + [parameters removeObjectForKey:NAMES_navigationText2]; + } +} + +-(NSString*) navigationText2 { + return [parameters objectForKey:NAMES_navigationText2]; +} + +-(void) setEta:(NSString*) eta { + if (eta != nil) { + [parameters setObject:eta forKey:NAMES_eta]; + } else { + [parameters removeObjectForKey:NAMES_eta]; + } +} + +-(NSString*) eta { + return [parameters objectForKey:NAMES_eta]; +} + +-(void) setTimeToDestination:(NSString*) timeToDestination { + if (timeToDestination != nil) { + [parameters setObject:timeToDestination forKey:NAMES_timeToDestination]; + } else { + [parameters removeObjectForKey:NAMES_timeToDestination]; + } +} + +-(NSString*) timeToDestination { + return [parameters objectForKey:NAMES_timeToDestination]; +} + +-(void) setTotalDistance:(NSString*) totalDistance { + if (totalDistance != nil) { + [parameters setObject:totalDistance forKey:NAMES_totalDistance]; + } else { + [parameters removeObjectForKey:NAMES_totalDistance]; + } +} + +-(NSString*) totalDistance { + return [parameters objectForKey:NAMES_totalDistance]; +} + +-(void) setTurnIcon:(SDLImage*) turnIcon { + if (turnIcon != nil) { + [parameters setObject:turnIcon forKey:NAMES_turnIcon]; + } else { + [parameters removeObjectForKey:NAMES_turnIcon]; + } +} + +-(SDLImage*) turnIcon { + NSObject* obj = [parameters objectForKey:NAMES_turnIcon]; + if ([obj isKindOfClass:SDLImage.class]) { + return (SDLImage*)obj; + } else { + return [[SDLImage alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setNextTurnIcon:(SDLImage*) nextTurnIcon { + if (nextTurnIcon != nil) { + [parameters setObject:nextTurnIcon forKey:NAMES_nextTurnIcon]; + } else { + [parameters removeObjectForKey:NAMES_nextTurnIcon]; + } +} + +-(SDLImage*) nextTurnIcon { + NSObject* obj = [parameters objectForKey:NAMES_nextTurnIcon]; + if ([obj isKindOfClass:SDLImage.class]) { + return (SDLImage*)obj; + } else { + return [[SDLImage alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setDistanceToManeuver:(NSNumber*) distanceToManeuver { + if (distanceToManeuver != nil) { + [parameters setObject:distanceToManeuver forKey:NAMES_distanceToManeuver]; + } else { + [parameters removeObjectForKey:NAMES_distanceToManeuver]; + } +} + +-(NSNumber*) distanceToManeuver { + return [parameters objectForKey:NAMES_distanceToManeuver]; +} + +-(void) setDistanceToManeuverScale:(NSNumber*) distanceToManeuverScale { + if (distanceToManeuverScale != nil) { + [parameters setObject:distanceToManeuverScale forKey:NAMES_distanceToManeuverScale]; + } else { + [parameters removeObjectForKey:NAMES_distanceToManeuverScale]; + } +} + +-(NSNumber*) distanceToManeuverScale { + return [parameters objectForKey:NAMES_distanceToManeuverScale]; +} + +-(void) setManeuverComplete:(NSNumber*) maneuverComplete { + if (maneuverComplete != nil) { + [parameters setObject:maneuverComplete forKey:NAMES_maneuverComplete]; + } else { + [parameters removeObjectForKey:NAMES_maneuverComplete]; + } +} + +-(NSNumber*) maneuverComplete { + return [parameters objectForKey:NAMES_maneuverComplete]; +} + +-(void) setSoftButtons:(NSMutableArray*) softButtons { + if (softButtons != nil) { + [parameters setObject:softButtons forKey:NAMES_softButtons]; + } else { + [parameters removeObjectForKey:NAMES_softButtons]; + } +} + +-(NSMutableArray*) softButtons { + NSMutableArray* array = [parameters objectForKey:NAMES_softButtons]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLSoftButton.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSDictionary* dict in array) { + [newList addObject:[[SDLSoftButton alloc] initWithDictionary:(NSMutableDictionary*)dict]]; + } + return newList; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBTResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBTResponse.h new file mode 100644 index 000000000..3f7532bf5 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBTResponse.h @@ -0,0 +1,13 @@ +// SDLShowConstantTBTResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLShowConstantTBTResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBTResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBTResponse.m new file mode 100644 index 000000000..f51b53348 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBTResponse.m @@ -0,0 +1,21 @@ +// SDLShowConstantTBTResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLShowConstantTBTResponse.h" + +#import "SDLNames.h" + +@implementation SDLShowConstantTBTResponse + +-(id) init { + if (self = [super initWithName:NAMES_ShowConstantTBT]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowResponse.h new file mode 100644 index 000000000..49f1e97da --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowResponse.h @@ -0,0 +1,13 @@ +// SDLShowResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLShowResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowResponse.m new file mode 100644 index 000000000..a78668238 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowResponse.m @@ -0,0 +1,21 @@ +// SDLShowResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLShowResponse.h" + +#import "SDLNames.h" + +@implementation SDLShowResponse + +-(id) init { + if (self = [super initWithName:NAMES_Show]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSingleTireStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSingleTireStatus.h new file mode 100644 index 000000000..d7b2100b6 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSingleTireStatus.h @@ -0,0 +1,17 @@ +// SDLSingleTireStatus.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +#import "SDLComponentVolumeStatus.h" + +@interface SDLSingleTireStatus : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLComponentVolumeStatus* status; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSingleTireStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSingleTireStatus.m new file mode 100644 index 000000000..092d4b611 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSingleTireStatus.m @@ -0,0 +1,38 @@ +// SDLSingleTireStatus.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLSingleTireStatus.h" + +#import "SDLNames.h" + +@implementation SDLSingleTireStatus + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setStatus:(SDLComponentVolumeStatus*) status { + if (status != nil) { + [store setObject:status forKey:NAMES_status]; + } else { + [store removeObjectForKey:NAMES_status]; + } +} + +-(SDLComponentVolumeStatus*) status { + NSObject* obj = [store objectForKey:NAMES_status]; + if ([obj isKindOfClass:SDLComponentVolumeStatus.class]) { + return (SDLComponentVolumeStatus*)obj; + } else { + return [SDLComponentVolumeStatus valueOf:(NSString*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSiphonServer.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSiphonServer.h new file mode 100644 index 000000000..e03b663ee --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSiphonServer.h @@ -0,0 +1,19 @@ +// SDLSiphonServer.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +@import Foundation; + +@interface SDLSiphonServer : NSObject <NSStreamDelegate,NSNetServiceDelegate> {} + ++ (void)enableSiphonDebug; ++ (void)disableSiphonDebug; ++ (bool)_siphonRawTransportDataFromApp:(const void*) msgBytes msgBytesLength:(int) msgBytesLength; ++ (bool)_siphonRawTransportDataFromSDL:(const void*) msgBytes msgBytesLength:(int) msgBytesLength; ++ (bool)_siphonNSLogData:(NSString *) textToLog; ++ (bool)_siphonFormattedTraceData:(NSString*) traceData; ++ (bool)_siphonIsActive; ++ (void)init; ++ (void)dealloc; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSiphonServer.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSiphonServer.m new file mode 100644 index 000000000..18fff4b58 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSiphonServer.m @@ -0,0 +1,466 @@ +// SDLSiphonServer.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +/******************************* + * Description: + * This class opens a socket on port 7474. + * The 'sendSiphonData' Function will + * write to the socket that the SDL Relay Sniffer is + * listening on. + ******************************/ + +//#define ZERO_CONFIG //Uncomment when implementing zero-config. +//#define DEBUG_SIPHON //Uncomment to have output to NSLog. + +#import "SDLSiphonServer.h" +#include <CFNetwork/CFNetwork.h> +#include <sys/socket.h> +#include <netinet/in.h> +#include <sys/types.h> +#include <string.h> +#include <unistd.h> +#import "SDLDebugTool.h" + +typedef enum { + fromApp = 0x01 + ,fromSDL = 0x00 + ,appLog = 0x02 + ,formattedTrace = 0x03 +} SiphonDataType; + +const Byte siphonMsgVersionNumber = 1; +volatile int siphonSocket = 0; +NSObject* siphonLock = nil; +CFSocketRef _listeningSocket; +NSNetService *netService = nil; +volatile bool initStarted = false; +bool siphonServerEnabled = false; +bool sendingFormattedTrace = false; +NSDate* startTimeStamp; +int FIRST_PORT_TO_ATTEMPT_CONNECTION = 7474; + +void _closeSiphonSocket(); +bool _sendDataToSiphonSocket(int soc, const void* pData, int dataLength); +bool _sendSiphonData(const void* dataBytes, int dataBytesLength, SiphonDataType siphonDataType); +void _startServerOnPort(int port); +void _stopServer(NSString *reason); + +@implementation SDLSiphonServer + +// Model currently counts on init being called before any apps call _siphonNSLogData() +// The following is not thread safe (i.e. two threads could create siphon lock), +// but will assume for now that we won't have two transports created in the same proxy. ++ (void)init { + + if (initStarted) { + return; + } // end-if + + if(!siphonLock){ + siphonLock = [NSData alloc]; + } // end-if + + @synchronized(siphonLock) { + if (initStarted) { + return; + } + + initStarted = true; + + startTimeStamp = [NSDate date]; + + _closeSiphonSocket(); + + _startServerOnPort(FIRST_PORT_TO_ATTEMPT_CONNECTION); + } +} + ++ (void)enableSiphonDebug { + siphonServerEnabled = true; +} + ++ (void)disableSiphonDebug { + siphonServerEnabled = false; +} + +void _closeSiphonSocket() { +#ifdef DEBUG_SIPHON + NSLog(@"siphon: Resetting siphon socket ..."); +#endif + if (siphonLock) { + @synchronized(siphonLock) { + if (siphonSocket) { + close(siphonSocket); + siphonSocket = 0; + } // end-if + } // end-lock + } // end-if +#ifdef DEBUG_SIPHON + NSLog(@"siphon: siphon socket reset complete"); +#endif +} // end-method + ++ (void)dealloc { +#ifdef ZERO_CONFIG + _stopServer(@"Shutting Down"); +#endif + +} + ++ (bool)_siphonIsActive { + if(siphonSocket == 0) { + return NO; + } + return YES; +} + + ++ (bool)_siphonFormattedTraceData:(NSString*) traceData { + if((traceData == NULL) || (traceData.length == 0)) { + return NO; + } // end-if + + NSData * traceBytes = [traceData dataUsingEncoding:NSUTF8StringEncoding]; + + if(traceBytes == nil) { + return NO; + } // end-if + + bool dataSent = NO; + + sendingFormattedTrace = true; + + dataSent = _sendSiphonData(traceBytes.bytes, (int)traceBytes.length, formattedTrace); + + return dataSent; +} // end-method + ++ (bool)_siphonNSLogData:(NSString *) textToLog { + if((textToLog == NULL) || (textToLog.length == 0)) { + return NO; + } // end-if + + NSData * textBytes = [textToLog dataUsingEncoding:NSUTF8StringEncoding]; + + if(textBytes == nil) { + return NO; + } // end-if + + bool dataSent = NO; + + dataSent = _sendSiphonData(textBytes.bytes, (int)textBytes.length, appLog); + + return dataSent; +} // end-method + ++ (bool)_siphonRawTransportDataFromApp:(const void*) msgBytes msgBytesLength:(int) msgBytesLength { + if (sendingFormattedTrace) { + return false; + } // end-if + + if (msgBytes == NULL || msgBytesLength == 0) { + return false; + } // end-if + + return _sendSiphonData(msgBytes, msgBytesLength, fromApp); +} + ++ (bool)_siphonRawTransportDataFromSDL:(const void*) msgBytes msgBytesLength:(int) msgBytesLength { + if (sendingFormattedTrace) { + return false; + } // end-if + + if (msgBytes == NULL || msgBytesLength == 0) { + return false; + } // end-if + + return _sendSiphonData(msgBytes, msgBytesLength, fromSDL); +} + +bool +_sendSiphonData(const void* dataBytes, int dataBytesLength, SiphonDataType siphonDataType) { + + bool wasSent = NO; + + if (dataBytes == NULL || dataBytesLength == 0 || !siphonServerEnabled) { + return false; + } // end-if + + NSDate *currentTime = [NSDate date]; + NSTimeInterval deltaTimeMillis = ([currentTime timeIntervalSinceDate:startTimeStamp] * 1000.0); + uint32_t integerDeltaTimeMillis = ((uint32_t)deltaTimeMillis); + + integerDeltaTimeMillis = htonl(integerDeltaTimeMillis); + + if (siphonLock) { + + @synchronized(siphonLock) { + + if(siphonSocket) { + + Byte sdt = (Byte)siphonDataType; + sdt = (Byte)0x80 | sdt; + uint32_t sizeBytes = htonl(dataBytesLength + sizeof(sdt) + sizeof(integerDeltaTimeMillis) + sizeof(siphonMsgVersionNumber)); + + wasSent = _sendDataToSiphonSocket(siphonSocket, &sizeBytes, sizeof(sizeBytes)); + + if(wasSent) { + wasSent = _sendDataToSiphonSocket(siphonSocket, &sdt, sizeof(sdt)); + } + + if(wasSent) { + wasSent = _sendDataToSiphonSocket(siphonSocket, &siphonMsgVersionNumber, sizeof(siphonMsgVersionNumber)); + } + + if(wasSent) { + wasSent = _sendDataToSiphonSocket(siphonSocket, &integerDeltaTimeMillis, sizeof(integerDeltaTimeMillis)); + } + + if(wasSent) { + wasSent = _sendDataToSiphonSocket(siphonSocket, dataBytes, dataBytesLength); + } + + if(wasSent) { + return YES; + } else { +#ifdef DEBUG_SIPHON + NSLog(@"siphon: failure sending to siphon socket"); +#endif + _closeSiphonSocket(); + return NO; + } // end-if + } else { +#ifdef DEBUG_SIPHON + NSLog(@"siphon: siphon socket is NULL"); +#endif + } // end-if + } //end Synchronized + } // end-if + return NO; + +} // end-method + +bool _sendDataToSiphonSocket(int soc, const void* pData, int dataLength) { + + int bytesRemainingToSend = dataLength; + ssize_t bytesSent = 0; + const UInt8 *pd = pData; + + if (pData == NULL || dataLength == 0) { + return false; + } // end-if + + while (bytesRemainingToSend > 0) { + if (soc) { + + bytesSent = send(soc, pd, bytesRemainingToSend, 0); + + if(bytesSent == -1) { +#ifdef DEBUG_SIPHON + NSLog(@"siphon: got bytesSent==-1 on send(siphonSocket)"); +#endif + return NO; + } // end-if + + bytesRemainingToSend -= bytesSent; + pd += bytesSent; + } // end-if + + } // end-while + + return YES; + +} // end-method + + +void _serverDidStartOnPort(int port) { +#ifdef DEBUG_SIPHON + NSLog(@"siphon: server started on port: %d",port); +#endif +} + +#ifdef ZERO_CONFIG + +#pragma mark +#pragma mark Server + +- (void)_didSendData:(NSData *)data {} + +void _serverDidStopWithReason(NSString * reason) {} + +- (void)_updateStatus:(NSString *)statusString{ + NSLog(@"siphon: %@",statusString); +} + +- (void)_SendDidStopWithStatus:(NSString *)statusString{ + NSLog(@"siphon: server configured for output"); +} + +- (BOOL)isStarted { + return (netService != nil); +} +#endif + + +void _acceptConnection(int fd) { + if (siphonLock) { + @synchronized(siphonLock){ + + int socketOps = 1; + + _closeSiphonSocket(); +#ifdef DEBUG_SIPHON + NSLog(@"siphon: storing newly accepted siphon socket handle %08x ...", fd); +#endif + siphonSocket = fd; + + setsockopt(siphonSocket, SOL_SOCKET, SO_NOSIGPIPE, (void *)&socketOps, sizeof(int)); + [SDLDebugTool logInfo:@"Siphon connected." withType:SDLDebugType_Debug]; + + } // end-lock + } // end-if + return; + +} + +static void AcceptCallback(CFSocketRef s, CFSocketCallBackType type, CFDataRef address, const void *data, void *info) { +#ifdef DEBUG_SIPHON + NSLog(@"siphon: accepted siphon connection ..."); +#endif + +#pragma unused(type) + assert(type == kCFSocketAcceptCallBack); +#pragma unused(address) + assert(data != NULL); + +#pragma unused(s) + assert(s == _listeningSocket); + + _acceptConnection(*(int*)data); +} + + +#ifdef ZERO_CONFIG +- (void)netService:(NSNetService *)sender didNotPublish:(NSDictionary *)errorDict { +#pragma unused(sender) + assert(sender == netService); +#pragma unused(errorDict) + + _stopServer(@"Registration failed"); +} +#endif + +void _startServerOnPort(int port) { + BOOL success; + int err; + int fd; + struct sockaddr_in addr; + int const retryLimit = 1000; + + fd = socket(AF_INET, SOCK_STREAM, 0); + success = (fd != -1); + + if (success) { + memset(&addr, 0, sizeof(addr)); + addr.sin_len = sizeof(addr); + addr.sin_family = AF_INET; + + addr.sin_addr.s_addr = INADDR_ANY; + + bool openPortFound = false; + short bindPort = (short)port; + success = false; + for (int retryCount = 0; retryCount < retryLimit && !openPortFound; retryCount++) { + addr.sin_port = htons(bindPort); + err = bind(fd, (const struct sockaddr *) &addr, sizeof(addr)); + if (err == 0) { + openPortFound = true; + success = (err == 0); + port = bindPort; + } else { + bindPort++; + } + } // end-for + } + if (success) { + err = listen(fd, 5); + success = (err == 0); + } + if (success) { + socklen_t addrLen; + + addrLen = sizeof(addr); + err = getsockname(fd, (struct sockaddr *) &addr, &addrLen); + success = (err == 0); + + if (success) { + assert(addrLen == sizeof(addr)); + port = ntohs(addr.sin_port); + + } +#ifdef DEBUG_SIPHON + NSLog(@"siphon: my port is %d ",port); +#endif + + } + if (success) { + + _listeningSocket = CFSocketCreateWithNative( + NULL, + fd, + kCFSocketAcceptCallBack, + AcceptCallback, + NULL + ); + success = (_listeningSocket != NULL); + + if (success) { + CFRunLoopSourceRef rls; + fd = -1; + rls = CFSocketCreateRunLoopSource(NULL, _listeningSocket, 0); + assert(rls != NULL); + CFRunLoopAddSource(CFRunLoopGetCurrent(), rls, kCFRunLoopDefaultMode); + CFRelease(rls); + } + } + +#ifdef ZERO_CONFIG + + if (success) { + + UIDevice *device = [UIDevice currentDevice];; + NSString *serviceName = [NSString stringWithFormat:@"%@_%d ",device.name,port]; + netService = [[[NSNetService alloc] initWithDomain:@"local." type:@"_sync._tcp." name:serviceName port:port] autorelease]; + success = (netService != nil); + } + if (success) { + + [netService publishWithOptions:NSNetServiceNoAutoRename]; + + } + + if ( success ) { + assert(port != 0); + _serverDidStartOnPort(port); + } else { + _stopServer(@"Start failed"); + if (fd != -1) { + assert(startFailed == 0); + } + } + +#endif +} + +void _stopServer(NSString * reason) { +#ifdef ZERO_CONFIG + if (netService != nil) { + [netService stop]; + netService = nil; + } + _serverDidStopWithReason(reason); +#endif +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSlider.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSlider.h new file mode 100644 index 000000000..26364618f --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSlider.h @@ -0,0 +1,19 @@ +// SDLSlider.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +@interface SDLSlider : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* numTicks; +@property(strong) NSNumber* position; +@property(strong) NSString* sliderHeader; +@property(strong) NSMutableArray* sliderFooter; +@property(strong) NSNumber* timeout; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSlider.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSlider.m new file mode 100644 index 000000000..e512e78e6 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSlider.m @@ -0,0 +1,81 @@ +// SDLSlider.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLSlider.h" + +#import "SDLNames.h" + +@implementation SDLSlider + +-(id) init { + if (self = [super initWithName:NAMES_Slider]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setNumTicks:(NSNumber*) numTicks { + if (numTicks != nil) { + [parameters setObject:numTicks forKey:NAMES_numTicks]; + } else { + [parameters removeObjectForKey:NAMES_numTicks]; + } +} + +-(NSNumber*) numTicks { + return [parameters objectForKey:NAMES_numTicks]; +} + +-(void) setPosition:(NSNumber*) position { + if (position != nil) { + [parameters setObject:position forKey:NAMES_position]; + } else { + [parameters removeObjectForKey:NAMES_position]; + } +} + +-(NSNumber*) position { + return [parameters objectForKey:NAMES_position]; +} + +-(void) setSliderHeader:(NSString*) sliderHeader { + if (sliderHeader != nil) { + [parameters setObject:sliderHeader forKey:NAMES_sliderHeader]; + } else { + [parameters removeObjectForKey:NAMES_sliderHeader]; + } +} + +-(NSString*) sliderHeader { + return [parameters objectForKey:NAMES_sliderHeader]; +} + +-(void) setSliderFooter:(NSMutableArray*) sliderFooter { + if (sliderFooter != nil) { + [parameters setObject:sliderFooter forKey:NAMES_sliderFooter]; + } else { + [parameters removeObjectForKey:NAMES_sliderFooter]; + } +} + +-(NSMutableArray*) sliderFooter { + return [parameters objectForKey:NAMES_sliderFooter]; +} + +-(void) setTimeout:(NSNumber*) timeout { + if (timeout != nil) { + [parameters setObject:timeout forKey:NAMES_timeout]; + } else { + [parameters removeObjectForKey:NAMES_timeout]; + } +} + +-(NSNumber*) timeout { + return [parameters objectForKey:NAMES_timeout]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSliderResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSliderResponse.h new file mode 100644 index 000000000..656260feb --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSliderResponse.h @@ -0,0 +1,15 @@ +// SDLSliderResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLSliderResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* sliderPosition; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSliderResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSliderResponse.m new file mode 100644 index 000000000..119e6a7d1 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSliderResponse.m @@ -0,0 +1,33 @@ +// SDLSliderResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLSliderResponse.h" + +#import "SDLNames.h" + +@implementation SDLSliderResponse + +-(id) init { + if (self = [super initWithName:NAMES_Slider]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setSliderPosition:(NSNumber*) sliderPosition { + if (sliderPosition != nil) { + [parameters setObject:sliderPosition forKey:NAMES_sliderPosition]; + } else { + [parameters removeObjectForKey:NAMES_sliderPosition]; + } +} + +-(NSNumber*) sliderPosition { + return [parameters objectForKey:NAMES_sliderPosition]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButton.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButton.h new file mode 100644 index 000000000..e8b7f2c09 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButton.h @@ -0,0 +1,24 @@ +// SDLSoftButton.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +#import "SDLSoftButtonType.h" +#import "SDLImage.h" +#import "SDLSystemAction.h" + +@interface SDLSoftButton : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLSoftButtonType* type; +@property(strong) NSString* text; +@property(strong) SDLImage* image; +@property(strong) NSNumber* isHighlighted; +@property(strong) NSNumber* softButtonID; +@property(strong) SDLSystemAction* systemAction; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButton.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButton.m new file mode 100644 index 000000000..2c29dace0 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButton.m @@ -0,0 +1,108 @@ +// SDLSoftButton.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLSoftButton.h" + +#import "SDLNames.h" + +@implementation SDLSoftButton + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setType:(SDLSoftButtonType*) type { + if (type != nil) { + [store setObject:type forKey:NAMES_type]; + } else { + [store removeObjectForKey:NAMES_type]; + } +} + +-(SDLSoftButtonType*) type { + NSObject* obj = [store objectForKey:NAMES_type]; + if ([obj isKindOfClass:SDLSoftButtonType.class]) { + return (SDLSoftButtonType*)obj; + } else { + return [SDLSoftButtonType valueOf:(NSString*)obj]; + } +} + +-(void) setText:(NSString*) text { + if (text != nil) { + [store setObject:text forKey:NAMES_text]; + } else { + [store removeObjectForKey:NAMES_text]; + } +} + +-(NSString*) text { + return [store objectForKey:NAMES_text]; +} + +-(void) setImage:(SDLImage*) image { + if (image != nil) { + [store setObject:image forKey:NAMES_image]; + } else { + [store removeObjectForKey:NAMES_image]; + } +} + +-(SDLImage*) image { + NSObject* obj = [store objectForKey:NAMES_image]; + if ([obj isKindOfClass:SDLImage.class]) { + return (SDLImage*)obj; + } else { + return [[SDLImage alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setIsHighlighted:(NSNumber*) isHighlighted { + if (isHighlighted != nil) { + [store setObject:isHighlighted forKey:NAMES_isHighlighted]; + } else { + [store removeObjectForKey:NAMES_isHighlighted]; + } +} + +-(NSNumber*) isHighlighted { + return [store objectForKey:NAMES_isHighlighted]; +} + +-(void) setSoftButtonID:(NSNumber*) softButtonID { + if (softButtonID != nil) { + [store setObject:softButtonID forKey:NAMES_softButtonID]; + } else { + [store removeObjectForKey:NAMES_softButtonID]; + } +} + +-(NSNumber*) softButtonID { + return [store objectForKey:NAMES_softButtonID]; +} + +-(void) setSystemAction:(SDLSystemAction*) systemAction { + if (systemAction != nil) { + [store setObject:systemAction forKey:NAMES_systemAction]; + } else { + [store removeObjectForKey:NAMES_systemAction]; + } +} + +-(SDLSystemAction*) systemAction { + NSObject* obj = [store objectForKey:NAMES_systemAction]; + if ([obj isKindOfClass:SDLSystemAction.class]) { + return (SDLSystemAction*)obj; + } else { + return [SDLSystemAction valueOf:(NSString*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonCapabilities.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonCapabilities.h new file mode 100644 index 000000000..aab1b05f5 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonCapabilities.h @@ -0,0 +1,18 @@ +// SDLSoftButtonCapabilities.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +@interface SDLSoftButtonCapabilities : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* shortPressAvailable; +@property(strong) NSNumber* longPressAvailable; +@property(strong) NSNumber* upDownAvailable; +@property(strong) NSNumber* imageSupported; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonCapabilities.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonCapabilities.m new file mode 100644 index 000000000..06a4d5368 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonCapabilities.m @@ -0,0 +1,69 @@ +// SDLSoftButtonCapabilities.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLSoftButtonCapabilities.h" + +#import "SDLNames.h" + +@implementation SDLSoftButtonCapabilities + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setShortPressAvailable:(NSNumber*) shortPressAvailable { + if (shortPressAvailable != nil) { + [store setObject:shortPressAvailable forKey:NAMES_shortPressAvailable]; + } else { + [store removeObjectForKey:NAMES_shortPressAvailable]; + } +} + +-(NSNumber*) shortPressAvailable { + return [store objectForKey:NAMES_shortPressAvailable]; +} + +-(void) setLongPressAvailable:(NSNumber*) longPressAvailable { + if (longPressAvailable != nil) { + [store setObject:longPressAvailable forKey:NAMES_longPressAvailable]; + } else { + [store removeObjectForKey:NAMES_longPressAvailable]; + } +} + +-(NSNumber*) longPressAvailable { + return [store objectForKey:NAMES_longPressAvailable]; +} + +-(void) setUpDownAvailable:(NSNumber*) upDownAvailable { + if (upDownAvailable != nil) { + [store setObject:upDownAvailable forKey:NAMES_upDownAvailable]; + } else { + [store removeObjectForKey:NAMES_upDownAvailable]; + } +} + +-(NSNumber*) upDownAvailable { + return [store objectForKey:NAMES_upDownAvailable]; +} + +-(void) setImageSupported:(NSNumber*) imageSupported { + if (imageSupported != nil) { + [store setObject:imageSupported forKey:NAMES_imageSupported]; + } else { + [store removeObjectForKey:NAMES_imageSupported]; + } +} + +-(NSNumber*) imageSupported { + return [store objectForKey:NAMES_imageSupported]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonType.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonType.h new file mode 100644 index 000000000..718ac9a7d --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonType.h @@ -0,0 +1,17 @@ +// SDLSoftButtonType.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLSoftButtonType : SDLEnum {} + ++(SDLSoftButtonType*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLSoftButtonType*) TEXT; ++(SDLSoftButtonType*) IMAGE; ++(SDLSoftButtonType*) BOTH; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonType.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonType.m new file mode 100644 index 000000000..f1b58aaad --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonType.m @@ -0,0 +1,56 @@ +// SDLSoftButtonType.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLSoftButtonType.h" + +SDLSoftButtonType* SDLSoftButtonType_TEXT = nil; +SDLSoftButtonType* SDLSoftButtonType_IMAGE = nil; +SDLSoftButtonType* SDLSoftButtonType_BOTH = nil; + +NSMutableArray* SDLSoftButtonType_values = nil; + +@implementation SDLSoftButtonType + ++(SDLSoftButtonType*) valueOf:(NSString*) value { + for (SDLSoftButtonType* item in SDLSoftButtonType.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLSoftButtonType_values == nil) { + SDLSoftButtonType_values = [[NSMutableArray alloc] initWithObjects: + SDLSoftButtonType.TEXT, + SDLSoftButtonType.IMAGE, + SDLSoftButtonType.BOTH, + nil]; + } + return SDLSoftButtonType_values; +} + ++(SDLSoftButtonType*) TEXT { + if (SDLSoftButtonType_TEXT == nil) { + SDLSoftButtonType_TEXT = [[SDLSoftButtonType alloc] initWithValue:@"TEXT"]; + } + return SDLSoftButtonType_TEXT; +} + ++(SDLSoftButtonType*) IMAGE { + if (SDLSoftButtonType_IMAGE == nil) { + SDLSoftButtonType_IMAGE = [[SDLSoftButtonType alloc] initWithValue:@"IMAGE"]; + } + return SDLSoftButtonType_IMAGE; +} + ++(SDLSoftButtonType*) BOTH { + if (SDLSoftButtonType_BOTH == nil) { + SDLSoftButtonType_BOTH = [[SDLSoftButtonType alloc] initWithValue:@"BOTH"]; + } + return SDLSoftButtonType_BOTH; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeak.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeak.h new file mode 100644 index 000000000..ad46c40d5 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeak.h @@ -0,0 +1,15 @@ +// SDLSpeak.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +@interface SDLSpeak : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSMutableArray* ttsChunks; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeak.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeak.m new file mode 100644 index 000000000..9589fdec1 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeak.m @@ -0,0 +1,43 @@ +// SDLSpeak.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLSpeak.h" + +#import "SDLNames.h" +#import "SDLTTSChunk.h" + +@implementation SDLSpeak + +-(id) init { + if (self = [super initWithName:NAMES_Speak]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setTtsChunks:(NSMutableArray*) ttsChunks { + if (ttsChunks != nil) { + [parameters setObject:ttsChunks forKey:NAMES_ttsChunks]; + } else { + [parameters removeObjectForKey:NAMES_ttsChunks]; + } +} + +-(NSMutableArray*) ttsChunks { + NSMutableArray* array = [parameters objectForKey:NAMES_ttsChunks]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLTTSChunk.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSDictionary* dict in array) { + [newList addObject:[[SDLTTSChunk alloc] initWithDictionary:(NSMutableDictionary*)dict]]; + } + return newList; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeakResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeakResponse.h new file mode 100644 index 000000000..0e0dc15cf --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeakResponse.h @@ -0,0 +1,13 @@ +// SDLSpeakResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLSpeakResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeakResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeakResponse.m new file mode 100644 index 000000000..c1c4d9763 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeakResponse.m @@ -0,0 +1,21 @@ +// SDLSpeakResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLSpeakResponse.h" + +#import "SDLNames.h" + +@implementation SDLSpeakResponse + +-(id) init { + if (self = [super initWithName:NAMES_Speak]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeechCapabilities.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeechCapabilities.h new file mode 100644 index 000000000..63b038299 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeechCapabilities.h @@ -0,0 +1,19 @@ +// SDLSpeechCapabilities.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLSpeechCapabilities : SDLEnum {} + ++(SDLSpeechCapabilities*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLSpeechCapabilities*) TEXT; ++(SDLSpeechCapabilities*) SAPI_PHONEMES; ++(SDLSpeechCapabilities*) LHPLUS_PHONEMES; ++(SDLSpeechCapabilities*) PRE_RECORDED; ++(SDLSpeechCapabilities*) SILENCE; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeechCapabilities.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeechCapabilities.m new file mode 100644 index 000000000..afe2d4e27 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeechCapabilities.m @@ -0,0 +1,74 @@ +// SDLSpeechCapabilities.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLSpeechCapabilities.h" + +SDLSpeechCapabilities* SDLSpeechCapabilities_TEXT = nil; +SDLSpeechCapabilities* SDLSpeechCapabilities_SAPI_PHONEMES = nil; +SDLSpeechCapabilities* SDLSpeechCapabilities_LHPLUS_PHONEMES = nil; +SDLSpeechCapabilities* SDLSpeechCapabilities_PRE_RECORDED = nil; +SDLSpeechCapabilities* SDLSpeechCapabilities_SILENCE = nil; + +NSMutableArray* SDLSpeechCapabilities_values = nil; + +@implementation SDLSpeechCapabilities + ++(SDLSpeechCapabilities*) valueOf:(NSString*) value { + for (SDLSpeechCapabilities* item in SDLSpeechCapabilities.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLSpeechCapabilities_values == nil) { + SDLSpeechCapabilities_values = [[NSMutableArray alloc] initWithObjects: + SDLSpeechCapabilities.TEXT, + SDLSpeechCapabilities.SAPI_PHONEMES, + SDLSpeechCapabilities.LHPLUS_PHONEMES, + SDLSpeechCapabilities.PRE_RECORDED, + SDLSpeechCapabilities.SILENCE, + nil]; + } + return SDLSpeechCapabilities_values; +} + ++(SDLSpeechCapabilities*) TEXT { + if (SDLSpeechCapabilities_TEXT == nil) { + SDLSpeechCapabilities_TEXT = [[SDLSpeechCapabilities alloc] initWithValue:@"TEXT"]; + } + return SDLSpeechCapabilities_TEXT; +} + ++(SDLSpeechCapabilities*) SAPI_PHONEMES { + if (SDLSpeechCapabilities_SAPI_PHONEMES == nil) { + SDLSpeechCapabilities_SAPI_PHONEMES = [[SDLSpeechCapabilities alloc] initWithValue:@"SAPI_PHONEMES"]; + } + return SDLSpeechCapabilities_SAPI_PHONEMES; +} + ++(SDLSpeechCapabilities*) LHPLUS_PHONEMES { + if (SDLSpeechCapabilities_LHPLUS_PHONEMES == nil) { + SDLSpeechCapabilities_LHPLUS_PHONEMES = [[SDLSpeechCapabilities alloc] initWithValue:@"LHPLUS_PHONEMES"]; + } + return SDLSpeechCapabilities_LHPLUS_PHONEMES; +} + ++(SDLSpeechCapabilities*) PRE_RECORDED { + if (SDLSpeechCapabilities_PRE_RECORDED == nil) { + SDLSpeechCapabilities_PRE_RECORDED = [[SDLSpeechCapabilities alloc] initWithValue:@"PRE_RECORDED"]; + } + return SDLSpeechCapabilities_PRE_RECORDED; +} + ++(SDLSpeechCapabilities*) SILENCE { + if (SDLSpeechCapabilities_SILENCE == nil) { + SDLSpeechCapabilities_SILENCE = [[SDLSpeechCapabilities alloc] initWithValue:@"SILENCE"]; + } + return SDLSpeechCapabilities_SILENCE; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLStartTime.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLStartTime.h new file mode 100644 index 000000000..1d842b7d9 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLStartTime.h @@ -0,0 +1,17 @@ +// SDLStartTime.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +@interface SDLStartTime : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* hours; +@property(strong) NSNumber* minutes; +@property(strong) NSNumber* seconds; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLStartTime.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLStartTime.m new file mode 100644 index 000000000..58b332dfa --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLStartTime.m @@ -0,0 +1,57 @@ +// SDLStartTime.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLStartTime.h" + +#import "SDLNames.h" + +@implementation SDLStartTime + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setHours:(NSNumber*) hours { + if (hours != nil) { + [store setObject:hours forKey:NAMES_hours]; + } else { + [store removeObjectForKey:NAMES_hours]; + } +} + +-(NSNumber*) hours { + return [store objectForKey:NAMES_hours]; +} + +-(void) setMinutes:(NSNumber*) minutes { + if (minutes != nil) { + [store setObject:minutes forKey:NAMES_minutes]; + } else { + [store removeObjectForKey:NAMES_minutes]; + } +} + +-(NSNumber*) minutes { + return [store objectForKey:NAMES_minutes]; +} + +-(void) setSeconds:(NSNumber*) seconds { + if (seconds != nil) { + [store setObject:seconds forKey:NAMES_seconds]; + } else { + [store removeObjectForKey:NAMES_seconds]; + } +} + +-(NSNumber*) seconds { + return [store objectForKey:NAMES_seconds]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButton.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButton.h new file mode 100644 index 000000000..06fc92fd2 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButton.h @@ -0,0 +1,17 @@ +// SDLSubscribeButton.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +#import "SDLButtonName.h" + +@interface SDLSubscribeButton : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLButtonName* buttonName; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButton.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButton.m new file mode 100644 index 000000000..95e7f26ff --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButton.m @@ -0,0 +1,38 @@ +// SDLSubscribeButton.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLSubscribeButton.h" + +#import "SDLNames.h" + +@implementation SDLSubscribeButton + +-(id) init { + if (self = [super initWithName:NAMES_SubscribeButton]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setButtonName:(SDLButtonName*) buttonName { + if (buttonName != nil) { + [parameters setObject:buttonName forKey:NAMES_buttonName]; + } else { + [parameters removeObjectForKey:NAMES_buttonName]; + } +} + +-(SDLButtonName*) buttonName { + NSObject* obj = [parameters objectForKey:NAMES_buttonName]; + if ([obj isKindOfClass:SDLButtonName.class]) { + return (SDLButtonName*)obj; + } else { + return [SDLButtonName valueOf:(NSString*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButtonResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButtonResponse.h new file mode 100644 index 000000000..1fa5db9c4 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButtonResponse.h @@ -0,0 +1,13 @@ +// SDLSubscribeButtonResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLSubscribeButtonResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButtonResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButtonResponse.m new file mode 100644 index 000000000..3fae04832 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButtonResponse.m @@ -0,0 +1,21 @@ +// SDLSubscribeButtonResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLSubscribeButtonResponse.h" + +#import "SDLNames.h" + +@implementation SDLSubscribeButtonResponse + +-(id) init { + if (self = [super initWithName:NAMES_SubscribeButton]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleData.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleData.h new file mode 100644 index 000000000..81eafca55 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleData.h @@ -0,0 +1,38 @@ +// SDLSubscribeVehicleData.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +@interface SDLSubscribeVehicleData : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* gps; +@property(strong) NSNumber* speed; +@property(strong) NSNumber* rpm; +@property(strong) NSNumber* fuelLevel; +@property(strong) NSNumber* fuelLevel_State; +@property(strong) NSNumber* instantFuelConsumption; +@property(strong) NSNumber* externalTemperature; +@property(strong) NSNumber* prndl; +@property(strong) NSNumber* tirePressure; +@property(strong) NSNumber* odometer; +@property(strong) NSNumber* beltStatus; +@property(strong) NSNumber* bodyInformation; +@property(strong) NSNumber* deviceStatus; +@property(strong) NSNumber* driverBraking; +@property(strong) NSNumber* wiperStatus; +@property(strong) NSNumber* headLampStatus; +@property(strong) NSNumber* engineTorque; +@property(strong) NSNumber* accPedalPosition; +@property(strong) NSNumber* steeringWheelAngle; +@property(strong) NSNumber* eCallInfo; +@property(strong) NSNumber* airbagStatus; +@property(strong) NSNumber* emergencyEvent; +@property(strong) NSNumber* clusterModeStatus; +@property(strong) NSNumber* myKey; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleData.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleData.m new file mode 100644 index 000000000..566937a38 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleData.m @@ -0,0 +1,309 @@ +// SDLSubscribeVehicleData.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLSubscribeVehicleData.h" + +#import "SDLNames.h" + +@implementation SDLSubscribeVehicleData + +-(id) init { + if (self = [super initWithName:NAMES_SubscribeVehicleData]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setGps:(NSNumber*) gps { + if (gps != nil) { + [parameters setObject:gps forKey:NAMES_gps]; + } else { + [parameters removeObjectForKey:NAMES_gps]; + } +} + +-(NSNumber*) gps { + return [parameters objectForKey:NAMES_gps]; +} + +-(void) setSpeed:(NSNumber*) speed { + if (speed != nil) { + [parameters setObject:speed forKey:NAMES_speed]; + } else { + [parameters removeObjectForKey:NAMES_speed]; + } +} + +-(NSNumber*) speed { + return [parameters objectForKey:NAMES_speed]; +} + +-(void) setRpm:(NSNumber*) rpm { + if (rpm != nil) { + [parameters setObject:rpm forKey:NAMES_rpm]; + } else { + [parameters removeObjectForKey:NAMES_rpm]; + } +} + +-(NSNumber*) rpm { + return [parameters objectForKey:NAMES_rpm]; +} + +-(void) setFuelLevel:(NSNumber*) fuelLevel { + if (fuelLevel != nil) { + [parameters setObject:fuelLevel forKey:NAMES_fuelLevel]; + } else { + [parameters removeObjectForKey:NAMES_fuelLevel]; + } +} + +-(NSNumber*) fuelLevel { + return [parameters objectForKey:NAMES_fuelLevel]; +} + +-(void) setFuelLevel_State:(NSNumber*) fuelLevel_State { + if (fuelLevel_State != nil) { + [parameters setObject:fuelLevel_State forKey:NAMES_fuelLevel_State]; + } else { + [parameters removeObjectForKey:NAMES_fuelLevel_State]; + } +} + +-(NSNumber*) fuelLevel_State { + return [parameters objectForKey:NAMES_fuelLevel_State]; +} + +-(void) setInstantFuelConsumption:(NSNumber*) instantFuelConsumption { + if (instantFuelConsumption != nil) { + [parameters setObject:instantFuelConsumption forKey:NAMES_instantFuelConsumption]; + } else { + [parameters removeObjectForKey:NAMES_instantFuelConsumption]; + } +} + +-(NSNumber*) instantFuelConsumption { + return [parameters objectForKey:NAMES_instantFuelConsumption]; +} + +-(void) setExternalTemperature:(NSNumber*) externalTemperature { + if (externalTemperature != nil) { + [parameters setObject:externalTemperature forKey:NAMES_externalTemperature]; + } else { + [parameters removeObjectForKey:NAMES_externalTemperature]; + } +} + +-(NSNumber*) externalTemperature { + return [parameters objectForKey:NAMES_externalTemperature]; +} + +-(void) setPrndl:(NSNumber*) prndl { + if (prndl != nil) { + [parameters setObject:prndl forKey:NAMES_prndl]; + } else { + [parameters removeObjectForKey:NAMES_prndl]; + } +} + +-(NSNumber*) prndl { + return [parameters objectForKey:NAMES_prndl]; +} + +-(void) setTirePressure:(NSNumber*) tirePressure { + if (tirePressure != nil) { + [parameters setObject:tirePressure forKey:NAMES_tirePressure]; + } else { + [parameters removeObjectForKey:NAMES_tirePressure]; + } +} + +-(NSNumber*) tirePressure { + return [parameters objectForKey:NAMES_tirePressure]; +} + +-(void) setOdometer:(NSNumber*) odometer { + if (odometer != nil) { + [parameters setObject:odometer forKey:NAMES_odometer]; + } else { + [parameters removeObjectForKey:NAMES_odometer]; + } +} + +-(NSNumber*) odometer { + return [parameters objectForKey:NAMES_odometer]; +} + +-(void) setBeltStatus:(NSNumber*) beltStatus { + if (beltStatus != nil) { + [parameters setObject:beltStatus forKey:NAMES_beltStatus]; + } else { + [parameters removeObjectForKey:NAMES_beltStatus]; + } +} + +-(NSNumber*) beltStatus { + return [parameters objectForKey:NAMES_beltStatus]; +} + +-(void) setBodyInformation:(NSNumber*) bodyInformation { + if (bodyInformation != nil) { + [parameters setObject:bodyInformation forKey:NAMES_bodyInformation]; + } else { + [parameters removeObjectForKey:NAMES_bodyInformation]; + } +} + +-(NSNumber*) bodyInformation { + return [parameters objectForKey:NAMES_bodyInformation]; +} + +-(void) setDeviceStatus:(NSNumber*) deviceStatus { + if (deviceStatus != nil) { + [parameters setObject:deviceStatus forKey:NAMES_deviceStatus]; + } else { + [parameters removeObjectForKey:NAMES_deviceStatus]; + } +} + +-(NSNumber*) deviceStatus { + return [parameters objectForKey:NAMES_deviceStatus]; +} + +-(void) setDriverBraking:(NSNumber*) driverBraking { + if (driverBraking != nil) { + [parameters setObject:driverBraking forKey:NAMES_driverBraking]; + } else { + [parameters removeObjectForKey:NAMES_driverBraking]; + } +} + +-(NSNumber*) driverBraking { + return [parameters objectForKey:NAMES_driverBraking]; +} + +-(void) setWiperStatus:(NSNumber*) wiperStatus { + if (wiperStatus != nil) { + [parameters setObject:wiperStatus forKey:NAMES_wiperStatus]; + } else { + [parameters removeObjectForKey:NAMES_wiperStatus]; + } +} + +-(NSNumber*) wiperStatus { + return [parameters objectForKey:NAMES_wiperStatus]; +} + +-(void) setHeadLampStatus:(NSNumber*) headLampStatus { + if (headLampStatus != nil) { + [parameters setObject:headLampStatus forKey:NAMES_headLampStatus]; + } else { + [parameters removeObjectForKey:NAMES_headLampStatus]; + } +} + +-(NSNumber*) headLampStatus { + return [parameters objectForKey:NAMES_headLampStatus]; +} + +-(void) setEngineTorque:(NSNumber*) engineTorque { + if (engineTorque != nil) { + [parameters setObject:engineTorque forKey:NAMES_engineTorque]; + } else { + [parameters removeObjectForKey:NAMES_engineTorque]; + } +} + +-(NSNumber*) engineTorque { + return [parameters objectForKey:NAMES_engineTorque]; +} + +-(void) setAccPedalPosition:(NSNumber*) accPedalPosition { + if (accPedalPosition != nil) { + [parameters setObject:accPedalPosition forKey:NAMES_accPedalPosition]; + } else { + [parameters removeObjectForKey:NAMES_accPedalPosition]; + } +} + +-(NSNumber*) accPedalPosition { + return [parameters objectForKey:NAMES_accPedalPosition]; +} + +-(void) setSteeringWheelAngle:(NSNumber*) steeringWheelAngle { + if (steeringWheelAngle != nil) { + [parameters setObject:steeringWheelAngle forKey:NAMES_steeringWheelAngle]; + } else { + [parameters removeObjectForKey:NAMES_steeringWheelAngle]; + } +} + +-(NSNumber*) steeringWheelAngle { + return [parameters objectForKey:NAMES_steeringWheelAngle]; +} + +-(void) setECallInfo:(NSNumber*) eCallInfo { + if (eCallInfo != nil) { + [parameters setObject:eCallInfo forKey:NAMES_eCallInfo]; + } else { + [parameters removeObjectForKey:NAMES_eCallInfo]; + } +} + +-(NSNumber*) eCallInfo { + return [parameters objectForKey:NAMES_eCallInfo]; +} + +-(void) setAirbagStatus:(NSNumber*) airbagStatus { + if (airbagStatus != nil) { + [parameters setObject:airbagStatus forKey:NAMES_airbagStatus]; + } else { + [parameters removeObjectForKey:NAMES_airbagStatus]; + } +} + +-(NSNumber*) airbagStatus { + return [parameters objectForKey:NAMES_airbagStatus]; +} + +-(void) setEmergencyEvent:(NSNumber*) emergencyEvent { + if (emergencyEvent != nil) { + [parameters setObject:emergencyEvent forKey:NAMES_emergencyEvent]; + } else { + [parameters removeObjectForKey:NAMES_emergencyEvent]; + } +} + +-(NSNumber*) emergencyEvent { + return [parameters objectForKey:NAMES_emergencyEvent]; +} + +-(void) setClusterModeStatus:(NSNumber*) clusterModeStatus { + if (clusterModeStatus != nil) { + [parameters setObject:clusterModeStatus forKey:NAMES_clusterModeStatus]; + } else { + [parameters removeObjectForKey:NAMES_clusterModeStatus]; + } +} + +-(NSNumber*) clusterModeStatus { + return [parameters objectForKey:NAMES_clusterModeStatus]; +} + +-(void) setMyKey:(NSNumber*) myKey { + if (myKey != nil) { + [parameters setObject:myKey forKey:NAMES_myKey]; + } else { + [parameters removeObjectForKey:NAMES_myKey]; + } +} + +-(NSNumber*) myKey { + return [parameters objectForKey:NAMES_myKey]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleDataResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleDataResponse.h new file mode 100644 index 000000000..d0ebc5e59 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleDataResponse.h @@ -0,0 +1,40 @@ +// SDLSubscribeVehicleDataResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +#import "SDLVehicleDataResult.h" + +@interface SDLSubscribeVehicleDataResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLVehicleDataResult* gps; +@property(strong) SDLVehicleDataResult* speed; +@property(strong) SDLVehicleDataResult* rpm; +@property(strong) SDLVehicleDataResult* fuelLevel; +@property(strong) SDLVehicleDataResult* fuelLevel_State; +@property(strong) SDLVehicleDataResult* instantFuelConsumption; +@property(strong) SDLVehicleDataResult* externalTemperature; +@property(strong) SDLVehicleDataResult* prndl; +@property(strong) SDLVehicleDataResult* tirePressure; +@property(strong) SDLVehicleDataResult* odometer; +@property(strong) SDLVehicleDataResult* beltStatus; +@property(strong) SDLVehicleDataResult* bodyInformation; +@property(strong) SDLVehicleDataResult* deviceStatus; +@property(strong) SDLVehicleDataResult* driverBraking; +@property(strong) SDLVehicleDataResult* wiperStatus; +@property(strong) SDLVehicleDataResult* headLampStatus; +@property(strong) SDLVehicleDataResult* engineTorque; +@property(strong) SDLVehicleDataResult* accPedalPosition; +@property(strong) SDLVehicleDataResult* steeringWheelAngle; +@property(strong) SDLVehicleDataResult* eCallInfo; +@property(strong) SDLVehicleDataResult* airbagStatus; +@property(strong) SDLVehicleDataResult* emergencyEvent; +@property(strong) SDLVehicleDataResult* clusterModes; +@property(strong) SDLVehicleDataResult* myKey; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleDataResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleDataResponse.m new file mode 100644 index 000000000..181e93861 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleDataResponse.m @@ -0,0 +1,429 @@ +// SDLSubscribeVehicleDataResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLSubscribeVehicleDataResponse.h" + +#import "SDLNames.h" + +@implementation SDLSubscribeVehicleDataResponse + +-(id) init { + if (self = [super initWithName:NAMES_SubscribeVehicleData]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setGps:(SDLVehicleDataResult*) gps { + if (gps != nil) { + [parameters setObject:gps forKey:NAMES_gps]; + } else { + [parameters removeObjectForKey:NAMES_gps]; + } +} + +-(SDLVehicleDataResult*) gps { + NSObject* obj = [parameters objectForKey:NAMES_gps]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setSpeed:(SDLVehicleDataResult*) speed { + if (speed != nil) { + [parameters setObject:speed forKey:NAMES_speed]; + } else { + [parameters removeObjectForKey:NAMES_speed]; + } +} + +-(SDLVehicleDataResult*) speed { + NSObject* obj = [parameters objectForKey:NAMES_speed]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setRpm:(SDLVehicleDataResult*) rpm { + if (rpm != nil) { + [parameters setObject:rpm forKey:NAMES_rpm]; + } else { + [parameters removeObjectForKey:NAMES_rpm]; + } +} + +-(SDLVehicleDataResult*) rpm { + NSObject* obj = [parameters objectForKey:NAMES_rpm]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setFuelLevel:(SDLVehicleDataResult*) fuelLevel { + if (fuelLevel != nil) { + [parameters setObject:fuelLevel forKey:NAMES_fuelLevel]; + } else { + [parameters removeObjectForKey:NAMES_fuelLevel]; + } +} + +-(SDLVehicleDataResult*) fuelLevel { + NSObject* obj = [parameters objectForKey:NAMES_fuelLevel]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setFuelLevel_State:(SDLVehicleDataResult*) fuelLevel_State { + if (fuelLevel_State != nil) { + [parameters setObject:fuelLevel_State forKey:NAMES_fuelLevel_State]; + } else { + [parameters removeObjectForKey:NAMES_fuelLevel_State]; + } +} + +-(SDLVehicleDataResult*) fuelLevel_State { + NSObject* obj = [parameters objectForKey:NAMES_fuelLevel_State]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setInstantFuelConsumption:(SDLVehicleDataResult*) instantFuelConsumption { + if (instantFuelConsumption != nil) { + [parameters setObject:instantFuelConsumption forKey:NAMES_instantFuelConsumption]; + } else { + [parameters removeObjectForKey:NAMES_instantFuelConsumption]; + } +} + +-(SDLVehicleDataResult*) instantFuelConsumption { + NSObject* obj = [parameters objectForKey:NAMES_instantFuelConsumption]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setExternalTemperature:(SDLVehicleDataResult*) externalTemperature { + if (externalTemperature != nil) { + [parameters setObject:externalTemperature forKey:NAMES_externalTemperature]; + } else { + [parameters removeObjectForKey:NAMES_externalTemperature]; + } +} + +-(SDLVehicleDataResult*) externalTemperature { + NSObject* obj = [parameters objectForKey:NAMES_externalTemperature]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setPrndl:(SDLVehicleDataResult*) prndl { + if (prndl != nil) { + [parameters setObject:prndl forKey:NAMES_prndl]; + } else { + [parameters removeObjectForKey:NAMES_prndl]; + } +} + +-(SDLVehicleDataResult*) prndl { + NSObject* obj = [parameters objectForKey:NAMES_prndl]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setTirePressure:(SDLVehicleDataResult*) tirePressure { + if (tirePressure != nil) { + [parameters setObject:tirePressure forKey:NAMES_tirePressure]; + } else { + [parameters removeObjectForKey:NAMES_tirePressure]; + } +} + +-(SDLVehicleDataResult*) tirePressure { + NSObject* obj = [parameters objectForKey:NAMES_tirePressure]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setOdometer:(SDLVehicleDataResult*) odometer { + if (odometer != nil) { + [parameters setObject:odometer forKey:NAMES_odometer]; + } else { + [parameters removeObjectForKey:NAMES_odometer]; + } +} + +-(SDLVehicleDataResult*) odometer { + NSObject* obj = [parameters objectForKey:NAMES_odometer]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setBeltStatus:(SDLVehicleDataResult*) beltStatus { + if (beltStatus != nil) { + [parameters setObject:beltStatus forKey:NAMES_beltStatus]; + } else { + [parameters removeObjectForKey:NAMES_beltStatus]; + } +} + +-(SDLVehicleDataResult*) beltStatus { + NSObject* obj = [parameters objectForKey:NAMES_beltStatus]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setBodyInformation:(SDLVehicleDataResult*) bodyInformation { + if (bodyInformation != nil) { + [parameters setObject:bodyInformation forKey:NAMES_bodyInformation]; + } else { + [parameters removeObjectForKey:NAMES_bodyInformation]; + } +} + +-(SDLVehicleDataResult*) bodyInformation { + NSObject* obj = [parameters objectForKey:NAMES_bodyInformation]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setDeviceStatus:(SDLVehicleDataResult*) deviceStatus { + if (deviceStatus != nil) { + [parameters setObject:deviceStatus forKey:NAMES_deviceStatus]; + } else { + [parameters removeObjectForKey:NAMES_deviceStatus]; + } +} + +-(SDLVehicleDataResult*) deviceStatus { + NSObject* obj = [parameters objectForKey:NAMES_deviceStatus]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setDriverBraking:(SDLVehicleDataResult*) driverBraking { + if (driverBraking != nil) { + [parameters setObject:driverBraking forKey:NAMES_driverBraking]; + } else { + [parameters removeObjectForKey:NAMES_driverBraking]; + } +} + +-(SDLVehicleDataResult*) driverBraking { + NSObject* obj = [parameters objectForKey:NAMES_driverBraking]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setWiperStatus:(SDLVehicleDataResult*) wiperStatus { + if (wiperStatus != nil) { + [parameters setObject:wiperStatus forKey:NAMES_wiperStatus]; + } else { + [parameters removeObjectForKey:NAMES_wiperStatus]; + } +} + +-(SDLVehicleDataResult*) wiperStatus { + NSObject* obj = [parameters objectForKey:NAMES_wiperStatus]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setHeadLampStatus:(SDLVehicleDataResult*) headLampStatus { + if (headLampStatus != nil) { + [parameters setObject:headLampStatus forKey:NAMES_headLampStatus]; + } else { + [parameters removeObjectForKey:NAMES_headLampStatus]; + } +} + +-(SDLVehicleDataResult*) headLampStatus { + NSObject* obj = [parameters objectForKey:NAMES_headLampStatus]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setEngineTorque:(SDLVehicleDataResult*) engineTorque { + if (engineTorque != nil) { + [parameters setObject:engineTorque forKey:NAMES_engineTorque]; + } else { + [parameters removeObjectForKey:NAMES_engineTorque]; + } +} + +-(SDLVehicleDataResult*) engineTorque { + NSObject* obj = [parameters objectForKey:NAMES_engineTorque]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setAccPedalPosition:(SDLVehicleDataResult*) accPedalPosition { + if (accPedalPosition != nil) { + [parameters setObject:accPedalPosition forKey:NAMES_accPedalPosition]; + } else { + [parameters removeObjectForKey:NAMES_accPedalPosition]; + } +} + +-(SDLVehicleDataResult*) accPedalPosition { + NSObject* obj = [parameters objectForKey:NAMES_accPedalPosition]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setSteeringWheelAngle:(SDLVehicleDataResult*) steeringWheelAngle { + if (steeringWheelAngle != nil) { + [parameters setObject:steeringWheelAngle forKey:NAMES_steeringWheelAngle]; + } else { + [parameters removeObjectForKey:NAMES_steeringWheelAngle]; + } +} + +-(SDLVehicleDataResult*) steeringWheelAngle { + NSObject* obj = [parameters objectForKey:NAMES_steeringWheelAngle]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setECallInfo:(SDLVehicleDataResult*) eCallInfo { + if (eCallInfo != nil) { + [parameters setObject:eCallInfo forKey:NAMES_eCallInfo]; + } else { + [parameters removeObjectForKey:NAMES_eCallInfo]; + } +} + +-(SDLVehicleDataResult*) eCallInfo { + NSObject* obj = [parameters objectForKey:NAMES_eCallInfo]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setAirbagStatus:(SDLVehicleDataResult*) airbagStatus { + if (airbagStatus != nil) { + [parameters setObject:airbagStatus forKey:NAMES_airbagStatus]; + } else { + [parameters removeObjectForKey:NAMES_airbagStatus]; + } +} + +-(SDLVehicleDataResult*) airbagStatus { + NSObject* obj = [parameters objectForKey:NAMES_airbagStatus]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setEmergencyEvent:(SDLVehicleDataResult*) emergencyEvent { + if (emergencyEvent != nil) { + [parameters setObject:emergencyEvent forKey:NAMES_emergencyEvent]; + } else { + [parameters removeObjectForKey:NAMES_emergencyEvent]; + } +} + +-(SDLVehicleDataResult*) emergencyEvent { + NSObject* obj = [parameters objectForKey:NAMES_emergencyEvent]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setClusterModes:(SDLVehicleDataResult*) clusterModes { + if (clusterModes != nil) { + [parameters setObject:clusterModes forKey:NAMES_clusterModes]; + } else { + [parameters removeObjectForKey:NAMES_clusterModes]; + } +} + +-(SDLVehicleDataResult*) clusterModes { + NSObject* obj = [parameters objectForKey:NAMES_clusterModes]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setMyKey:(SDLVehicleDataResult*) myKey { + if (myKey != nil) { + [parameters setObject:myKey forKey:NAMES_myKey]; + } else { + [parameters removeObjectForKey:NAMES_myKey]; + } +} + +-(SDLVehicleDataResult*) myKey { + NSObject* obj = [parameters objectForKey:NAMES_myKey]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncMsgVersion.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncMsgVersion.h new file mode 100644 index 000000000..602411065 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncMsgVersion.h @@ -0,0 +1,16 @@ +// SDLSyncMsgVersion.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +@interface SDLSyncMsgVersion : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* majorVersion; +@property(strong) NSNumber* minorVersion; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncMsgVersion.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncMsgVersion.m new file mode 100644 index 000000000..009c44955 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncMsgVersion.m @@ -0,0 +1,48 @@ +// SDLSyncMsgVersion.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLSyncMsgVersion.h" + +#import "SDLNames.h" + +@implementation SDLSyncMsgVersion + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setMajorVersion:(NSNumber*) majorVersion { + if (majorVersion != nil) { + [store setObject:majorVersion forKey:NAMES_majorVersion]; + } else { + [store removeObjectForKey:NAMES_majorVersion]; + } +} + +-(NSNumber*) majorVersion { + return [store objectForKey:NAMES_majorVersion]; +} + +-(void) setMinorVersion:(NSNumber*) minorVersion { + if (minorVersion != nil) { + [store setObject:minorVersion forKey:NAMES_minorVersion]; + } else { + [store removeObjectForKey:NAMES_minorVersion]; + } +} + +-(NSNumber*) minorVersion { + return [store objectForKey:NAMES_minorVersion]; +} + +- (NSString *)description { + return [NSString stringWithFormat:@"%@.%@", self.majorVersion, self.minorVersion]; +} +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPData.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPData.h new file mode 100644 index 000000000..fd9794d72 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPData.h @@ -0,0 +1,13 @@ +// SDLSyncPData.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +@interface SDLSyncPData : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPData.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPData.m new file mode 100644 index 000000000..a065b5cf0 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPData.m @@ -0,0 +1,21 @@ +// SDLSyncPData.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLSyncPData.h" + +#import "SDLNames.h" + +@implementation SDLSyncPData + +-(id) init { + if (self = [super initWithName:NAMES_SyncPData]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPDataResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPDataResponse.h new file mode 100644 index 000000000..88a3a70f5 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPDataResponse.h @@ -0,0 +1,13 @@ +// SDLSyncPDataResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLSyncPDataResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPDataResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPDataResponse.m new file mode 100644 index 000000000..f87e75dc1 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPDataResponse.m @@ -0,0 +1,21 @@ +// SDLSyncPDataResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLSyncPDataResponse.h" + +#import "SDLNames.h" + +@implementation SDLSyncPDataResponse + +-(id) init { + if (self = [super initWithName:NAMES_SyncPData]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemAction.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemAction.h new file mode 100644 index 000000000..6c6f0244d --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemAction.h @@ -0,0 +1,17 @@ +// SDLSystemAction.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLSystemAction : SDLEnum {} + ++(SDLSystemAction*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLSystemAction*) DEFAULT_ACTION; ++(SDLSystemAction*) STEAL_FOCUS; ++(SDLSystemAction*) KEEP_CONTEXT; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemAction.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemAction.m new file mode 100644 index 000000000..08ad7533e --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemAction.m @@ -0,0 +1,56 @@ +// SDLSystemAction.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLSystemAction.h" + +SDLSystemAction* SDLSystemAction_DEFAULT_ACTION = nil; +SDLSystemAction* SDLSystemAction_STEAL_FOCUS = nil; +SDLSystemAction* SDLSystemAction_KEEP_CONTEXT = nil; + +NSMutableArray* SDLSystemAction_values = nil; + +@implementation SDLSystemAction + ++(SDLSystemAction*) valueOf:(NSString*) value { + for (SDLSystemAction* item in SDLSystemAction.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLSystemAction_values == nil) { + SDLSystemAction_values = [[NSMutableArray alloc] initWithObjects: + SDLSystemAction.DEFAULT_ACTION, + SDLSystemAction.STEAL_FOCUS, + SDLSystemAction.KEEP_CONTEXT, + nil]; + } + return SDLSystemAction_values; +} + ++(SDLSystemAction*) DEFAULT_ACTION { + if (SDLSystemAction_DEFAULT_ACTION == nil) { + SDLSystemAction_DEFAULT_ACTION = [[SDLSystemAction alloc] initWithValue:@"DEFAULT_ACTION"]; + } + return SDLSystemAction_DEFAULT_ACTION; +} + ++(SDLSystemAction*) STEAL_FOCUS { + if (SDLSystemAction_STEAL_FOCUS == nil) { + SDLSystemAction_STEAL_FOCUS = [[SDLSystemAction alloc] initWithValue:@"STEAL_FOCUS"]; + } + return SDLSystemAction_STEAL_FOCUS; +} + ++(SDLSystemAction*) KEEP_CONTEXT { + if (SDLSystemAction_KEEP_CONTEXT == nil) { + SDLSystemAction_KEEP_CONTEXT = [[SDLSystemAction alloc] initWithValue:@"KEEP_CONTEXT"]; + } + return SDLSystemAction_KEEP_CONTEXT; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemContext.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemContext.h new file mode 100644 index 000000000..92f398d07 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemContext.h @@ -0,0 +1,19 @@ +// SDLSystemContext.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLSystemContext : SDLEnum {} + ++(SDLSystemContext*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLSystemContext*) MAIN; ++(SDLSystemContext*) VRSESSION; ++(SDLSystemContext*) MENU; ++(SDLSystemContext*) HMI_OBSCURED; ++(SDLSystemContext*) ALERT; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemContext.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemContext.m new file mode 100644 index 000000000..178b949d7 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemContext.m @@ -0,0 +1,74 @@ +// SDLSystemContext.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLSystemContext.h" + +SDLSystemContext* SDLSystemContext_MAIN = nil; +SDLSystemContext* SDLSystemContext_VRSESSION = nil; +SDLSystemContext* SDLSystemContext_MENU = nil; +SDLSystemContext* SDLSystemContext_HMI_OBSCURED = nil; +SDLSystemContext* SDLSystemContext_ALERT = nil; + +NSMutableArray* SDLSystemContext_values = nil; + +@implementation SDLSystemContext + ++(SDLSystemContext*) valueOf:(NSString*) value { + for (SDLSystemContext* item in SDLSystemContext.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLSystemContext_values == nil) { + SDLSystemContext_values = [[NSMutableArray alloc] initWithObjects: + SDLSystemContext.MAIN, + SDLSystemContext.VRSESSION, + SDLSystemContext.MENU, + SDLSystemContext.HMI_OBSCURED, + SDLSystemContext.ALERT, + nil]; + } + return SDLSystemContext_values; +} + ++(SDLSystemContext*) MAIN { + if (SDLSystemContext_MAIN == nil) { + SDLSystemContext_MAIN = [[SDLSystemContext alloc] initWithValue:@"MAIN"]; + } + return SDLSystemContext_MAIN; +} + ++(SDLSystemContext*) VRSESSION { + if (SDLSystemContext_VRSESSION == nil) { + SDLSystemContext_VRSESSION = [[SDLSystemContext alloc] initWithValue:@"VRSESSION"]; + } + return SDLSystemContext_VRSESSION; +} + ++(SDLSystemContext*) MENU { + if (SDLSystemContext_MENU == nil) { + SDLSystemContext_MENU = [[SDLSystemContext alloc] initWithValue:@"MENU"]; + } + return SDLSystemContext_MENU; +} + ++(SDLSystemContext*) HMI_OBSCURED { + if (SDLSystemContext_HMI_OBSCURED == nil) { + SDLSystemContext_HMI_OBSCURED = [[SDLSystemContext alloc] initWithValue:@"HMI_OBSCURED"]; + } + return SDLSystemContext_HMI_OBSCURED; +} + ++(SDLSystemContext*) ALERT { + if (SDLSystemContext_ALERT == nil) { + SDLSystemContext_ALERT = [[SDLSystemContext alloc] initWithValue:@"ALERT"]; + } + return SDLSystemContext_ALERT; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequest.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequest.h new file mode 100644 index 000000000..f7b461832 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequest.h @@ -0,0 +1,18 @@ +// SDLSystemRequest.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +#import "SDLRequestType.h" + +@interface SDLSystemRequest : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLRequestType* requestType; +@property(strong) NSString* fileName; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequest.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequest.m new file mode 100644 index 000000000..ebf53befc --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequest.m @@ -0,0 +1,50 @@ +// SDLSystemRequest.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLSystemRequest.h" + +#import "SDLNames.h" + +@implementation SDLSystemRequest + +-(id) init { + if (self = [super initWithName:NAMES_SystemRequest]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setRequestType:(SDLRequestType*) requestType { + if (requestType != nil) { + [parameters setObject:requestType forKey:NAMES_requestType]; + } else { + [parameters removeObjectForKey:NAMES_requestType]; + } +} + +-(SDLRequestType*) requestType { + NSObject* obj = [parameters objectForKey:NAMES_requestType]; + if ([obj isKindOfClass:SDLRequestType.class]) { + return (SDLRequestType*)obj; + } else { + return [SDLRequestType valueOf:(NSString*)obj]; + } +} + +-(void) setFileName:(NSString*) fileName { + if (fileName != nil) { + [parameters setObject:fileName forKey:NAMES_fileName]; + } else { + [parameters removeObjectForKey:NAMES_fileName]; + } +} + +-(NSString*) fileName { + return [parameters objectForKey:NAMES_fileName]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequestResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequestResponse.h new file mode 100644 index 000000000..e91fbf9f5 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequestResponse.h @@ -0,0 +1,13 @@ +// SDLSystemRequestResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLSystemRequestResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequestResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequestResponse.m new file mode 100644 index 000000000..71162b775 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequestResponse.m @@ -0,0 +1,21 @@ +// SDLSystemRequestResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLSystemRequestResponse.h" + +#import "SDLNames.h" + +@implementation SDLSystemRequestResponse + +-(id) init { + if (self = [super initWithName:NAMES_SystemRequest]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTBTState.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTBTState.h new file mode 100644 index 000000000..1fa8c43fe --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTBTState.h @@ -0,0 +1,24 @@ +// SDLTBTState.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLTBTState : SDLEnum {} + ++(SDLTBTState*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLTBTState*) ROUTE_UPDATE_REQUEST; ++(SDLTBTState*) ROUTE_ACCEPTED; ++(SDLTBTState*) ROUTE_REFUSED; ++(SDLTBTState*) ROUTE_CANCELLED; ++(SDLTBTState*) ETA_REQUEST; ++(SDLTBTState*) NEXT_TURN_REQUEST; ++(SDLTBTState*) ROUTE_STATUS_REQUEST; ++(SDLTBTState*) ROUTE_SUMMARY_REQUEST; ++(SDLTBTState*) TRIP_STATUS_REQUEST; ++(SDLTBTState*) ROUTE_UPDATE_REQUEST_TIMEOUT; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTBTState.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTBTState.m new file mode 100644 index 000000000..fa61dce9c --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTBTState.m @@ -0,0 +1,119 @@ +// SDLTBTState.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLTBTState.h" + +SDLTBTState* SDLTBTState_ROUTE_UPDATE_REQUEST = nil; +SDLTBTState* SDLTBTState_ROUTE_ACCEPTED = nil; +SDLTBTState* SDLTBTState_ROUTE_REFUSED = nil; +SDLTBTState* SDLTBTState_ROUTE_CANCELLED = nil; +SDLTBTState* SDLTBTState_ETA_REQUEST = nil; +SDLTBTState* SDLTBTState_NEXT_TURN_REQUEST = nil; +SDLTBTState* SDLTBTState_ROUTE_STATUS_REQUEST = nil; +SDLTBTState* SDLTBTState_ROUTE_SUMMARY_REQUEST = nil; +SDLTBTState* SDLTBTState_TRIP_STATUS_REQUEST = nil; +SDLTBTState* SDLTBTState_ROUTE_UPDATE_REQUEST_TIMEOUT = nil; + +NSMutableArray* SDLTBTState_values = nil; + +@implementation SDLTBTState + ++(SDLTBTState*) valueOf:(NSString*) value { + for (SDLTBTState* item in SDLTBTState.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLTBTState_values == nil) { + SDLTBTState_values = [[NSMutableArray alloc] initWithObjects: + SDLTBTState.ROUTE_UPDATE_REQUEST, + SDLTBTState.ROUTE_ACCEPTED, + SDLTBTState.ROUTE_REFUSED, + SDLTBTState.ROUTE_CANCELLED, + SDLTBTState.ETA_REQUEST, + SDLTBTState.NEXT_TURN_REQUEST, + SDLTBTState.ROUTE_STATUS_REQUEST, + SDLTBTState.ROUTE_SUMMARY_REQUEST, + SDLTBTState.TRIP_STATUS_REQUEST, + SDLTBTState.ROUTE_UPDATE_REQUEST_TIMEOUT, + nil]; + } + return SDLTBTState_values; +} + ++(SDLTBTState*) ROUTE_UPDATE_REQUEST { + if (SDLTBTState_ROUTE_UPDATE_REQUEST == nil) { + SDLTBTState_ROUTE_UPDATE_REQUEST = [[SDLTBTState alloc] initWithValue:@"ROUTE_UPDATE_REQUEST"]; + } + return SDLTBTState_ROUTE_UPDATE_REQUEST; +} + ++(SDLTBTState*) ROUTE_ACCEPTED { + if (SDLTBTState_ROUTE_ACCEPTED == nil) { + SDLTBTState_ROUTE_ACCEPTED = [[SDLTBTState alloc] initWithValue:@"ROUTE_ACCEPTED"]; + } + return SDLTBTState_ROUTE_ACCEPTED; +} + ++(SDLTBTState*) ROUTE_REFUSED { + if (SDLTBTState_ROUTE_REFUSED == nil) { + SDLTBTState_ROUTE_REFUSED = [[SDLTBTState alloc] initWithValue:@"ROUTE_REFUSED"]; + } + return SDLTBTState_ROUTE_REFUSED; +} + ++(SDLTBTState*) ROUTE_CANCELLED { + if (SDLTBTState_ROUTE_CANCELLED == nil) { + SDLTBTState_ROUTE_CANCELLED = [[SDLTBTState alloc] initWithValue:@"ROUTE_CANCELLED"]; + } + return SDLTBTState_ROUTE_CANCELLED; +} + ++(SDLTBTState*) ETA_REQUEST { + if (SDLTBTState_ETA_REQUEST == nil) { + SDLTBTState_ETA_REQUEST = [[SDLTBTState alloc] initWithValue:@"ETA_REQUEST"]; + } + return SDLTBTState_ETA_REQUEST; +} + ++(SDLTBTState*) NEXT_TURN_REQUEST { + if (SDLTBTState_NEXT_TURN_REQUEST == nil) { + SDLTBTState_NEXT_TURN_REQUEST = [[SDLTBTState alloc] initWithValue:@"NEXT_TURN_REQUEST"]; + } + return SDLTBTState_NEXT_TURN_REQUEST; +} + ++(SDLTBTState*) ROUTE_STATUS_REQUEST { + if (SDLTBTState_ROUTE_STATUS_REQUEST == nil) { + SDLTBTState_ROUTE_STATUS_REQUEST = [[SDLTBTState alloc] initWithValue:@"ROUTE_STATUS_REQUEST"]; + } + return SDLTBTState_ROUTE_STATUS_REQUEST; +} + ++(SDLTBTState*) ROUTE_SUMMARY_REQUEST { + if (SDLTBTState_ROUTE_SUMMARY_REQUEST == nil) { + SDLTBTState_ROUTE_SUMMARY_REQUEST = [[SDLTBTState alloc] initWithValue:@"ROUTE_SUMMARY_REQUEST"]; + } + return SDLTBTState_ROUTE_SUMMARY_REQUEST; +} + ++(SDLTBTState*) TRIP_STATUS_REQUEST { + if (SDLTBTState_TRIP_STATUS_REQUEST == nil) { + SDLTBTState_TRIP_STATUS_REQUEST = [[SDLTBTState alloc] initWithValue:@"TRIP_STATUS_REQUEST"]; + } + return SDLTBTState_TRIP_STATUS_REQUEST; +} + ++(SDLTBTState*) ROUTE_UPDATE_REQUEST_TIMEOUT { + if (SDLTBTState_ROUTE_UPDATE_REQUEST_TIMEOUT == nil) { + SDLTBTState_ROUTE_UPDATE_REQUEST_TIMEOUT = [[SDLTBTState alloc] initWithValue:@"ROUTE_UPDATE_REQUEST_TIMEOUT"]; + } + return SDLTBTState_ROUTE_UPDATE_REQUEST_TIMEOUT; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTCPTransport.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTCPTransport.h new file mode 100644 index 000000000..475eaac9d --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTCPTransport.h @@ -0,0 +1,12 @@ +// SDLTCPTransport.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLAbstractTransport.h" + +@interface SDLTCPTransport : SDLAbstractTransport { + CFSocketRef socket; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTCPTransport.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTCPTransport.m new file mode 100644 index 000000000..a632cc177 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTCPTransport.m @@ -0,0 +1,133 @@ +// SDLTCPTransport.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLTCPTransport.h" +#import "SDLDebugTool.h" +#import "SDLHexUtility.h" +#import <errno.h> +#import <signal.h> +#import <stdio.h> +#import <unistd.h> +#import <sys/types.h> +#import <sys/socket.h> +#import <sys/wait.h> +#import <netinet/in.h> +#import <netdb.h> + +int call_socket(const char* hostname, const char* port) { + + int status, sock; + struct addrinfo hints; + struct addrinfo* servinfo; + + memset(&hints, 0, sizeof hints); + hints.ai_family = AF_UNSPEC; + hints.ai_socktype = SOCK_STREAM; + + //no host name?, no problem, get local host + if (hostname == nil){ + char localhost[128]; + gethostname(localhost, sizeof localhost); + hostname = (const char*) &localhost; + } + + //getaddrinfo setup + if ((status = getaddrinfo(hostname, port, &hints, &servinfo)) != 0) { + fprintf(stderr, "getaddrinfo error: %s\n", gai_strerror(status)); + return(-1); + } + + //get socket + if ((sock = socket(servinfo->ai_family, servinfo->ai_socktype, servinfo->ai_protocol)) < 0) + return(-1); + + //connect + if (connect(sock, servinfo->ai_addr, servinfo->ai_addrlen) < 0) { + close(sock); + return(-1); + } + + freeaddrinfo(servinfo); // free the linked-list + return(sock); +} + +@implementation SDLTCPTransport + +static void TCPCallback(CFSocketRef socket, CFSocketCallBackType type, CFDataRef address, const void *data, void *info) { + if (kCFSocketConnectCallBack == type) { + SDLTCPTransport *transport = (__bridge SDLTCPTransport *)info; + SInt32 errorNumber = 0; + if (data) { + SInt32 *errorNumberPtr = (SInt32 *)data; + errorNumber = *errorNumberPtr; + } + [transport notifyTransportConnected]; + } else if (kCFSocketDataCallBack == type) { + SDLTCPTransport *transport = (__bridge SDLTCPTransport *)info; + + NSMutableString* byteStr = [NSMutableString stringWithCapacity:((int)CFDataGetLength((CFDataRef)data) * 2)]; + for (int i = 0; i < (int)CFDataGetLength((CFDataRef)data); i++) { + [byteStr appendFormat:@"%02X", ((Byte*)(UInt8 *)CFDataGetBytePtr((CFDataRef)data))[i]]; + } + + [SDLDebugTool logInfo:[NSString stringWithFormat:@"Read %d bytes: %@", (int)CFDataGetLength((CFDataRef)data), byteStr] withType:SDLDebugType_Transport_TCP toOutput:SDLDebugOutput_DeviceConsole]; + + [transport handleDataReceivedFromTransport:[NSData dataWithBytes:(UInt8 *)CFDataGetBytePtr((CFDataRef)data) length:(int)CFDataGetLength((CFDataRef)data)]]; + } else { + NSString *logMessage = [NSString stringWithFormat:@"unhandled TCPCallback: %lu", type]; + [SDLDebugTool logInfo:logMessage withType:SDLDebugType_Transport_TCP toOutput:SDLDebugOutput_DeviceConsole]; + } +} + +- (void) connect { + + [SDLDebugTool logInfo:@"Init" withType:SDLDebugType_Transport_TCP]; + + int sock_fd = call_socket([self.endpointName UTF8String], [self.endpointParam UTF8String]); + if (sock_fd < 0) { + + [SDLDebugTool logInfo:@"Server Not Ready, Connection Failed" withType:SDLDebugType_Transport_TCP]; + return; + } + + CFSocketContext socketCtxt = {0, (__bridge void *)(self), NULL, NULL, NULL}; + socket = CFSocketCreateWithNative(kCFAllocatorDefault, sock_fd, kCFSocketDataCallBack|kCFSocketConnectCallBack , (CFSocketCallBack) &TCPCallback, &socketCtxt); + CFRunLoopSourceRef source = CFSocketCreateRunLoopSource(kCFAllocatorDefault, socket, 0); + CFRunLoopRef loop = CFRunLoopGetCurrent(); + CFRunLoopAddSource(loop, source, kCFRunLoopDefaultMode); + CFRelease(source); +} + +- (void) sendData:(NSData*) msgBytes { + + NSString* byteStr = [SDLHexUtility getHexString:msgBytes]; + [SDLDebugTool logInfo:[NSString stringWithFormat:@"Sent %lu bytes: %@", (unsigned long)msgBytes.length, byteStr] withType:SDLDebugType_Transport_TCP toOutput:SDLDebugOutput_DeviceConsole]; + + CFSocketError e = CFSocketSendData(socket, NULL, (__bridge CFDataRef)msgBytes, 10000); + if (e != kCFSocketSuccess) { + NSString *errorCause = nil; + switch (e) { + case kCFSocketTimeout: + errorCause = @"Socket Timeout Error."; + break; + + case kCFSocketError: + default: + errorCause = @"Socket Error."; + break; + } + + [SDLDebugTool logInfo:[NSString stringWithFormat:@"Socket sendData error: %@", errorCause] withType:SDLDebugType_Transport_TCP toOutput:SDLDebugOutput_DeviceConsole]; + } + +} + +- (void) dealloc { + if (socket != nil) { + CFSocketInvalidate(socket); + CFRelease(socket); + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunk.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunk.h new file mode 100644 index 000000000..515d5d5ff --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunk.h @@ -0,0 +1,18 @@ +// SDLTTSChunk.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +#import "SDLSpeechCapabilities.h" + +@interface SDLTTSChunk : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSString* text; +@property(strong) SDLSpeechCapabilities* type; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunk.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunk.m new file mode 100644 index 000000000..5fbb2dbcc --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunk.m @@ -0,0 +1,50 @@ +// SDLTTSChunk.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLTTSChunk.h" + +#import "SDLNames.h" + +@implementation SDLTTSChunk + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setText:(NSString*) text { + if (text != nil) { + [store setObject:text forKey:NAMES_text]; + } else { + [store removeObjectForKey:NAMES_text]; + } +} + +-(NSString*) text { + return [store objectForKey:NAMES_text]; +} + +-(void) setType:(SDLSpeechCapabilities*) type { + if (type != nil) { + [store setObject:type forKey:NAMES_type]; + } else { + [store removeObjectForKey:NAMES_type]; + } +} + +-(SDLSpeechCapabilities*) type { + NSObject* obj = [store objectForKey:NAMES_type]; + if ([obj isKindOfClass:SDLSpeechCapabilities.class]) { + return (SDLSpeechCapabilities*)obj; + } else { + return [SDLSpeechCapabilities valueOf:(NSString*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunkFactory.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunkFactory.h new file mode 100644 index 000000000..cc65c3995 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunkFactory.h @@ -0,0 +1,15 @@ +// SDLTTSChunkFactory.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + + +#import "SDLJingle.h" +#import "SDLTTSChunk.h" + +@interface SDLTTSChunkFactory : NSObject {} + ++(SDLTTSChunk*) buildTTSChunkForString:(NSString*) text type:(SDLSpeechCapabilities*)type; ++(NSMutableArray*) buildTTSChunksFromSimple:(NSString*) simple; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunkFactory.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunkFactory.m new file mode 100644 index 000000000..3ac2f2574 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunkFactory.m @@ -0,0 +1,24 @@ +// SDLTTSChunkFactory.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLTTSChunkFactory.h" + +@implementation SDLTTSChunkFactory + ++ (SDLTTSChunk *)buildTTSChunkForString:(NSString *)text type:(SDLSpeechCapabilities *)type { + SDLTTSChunk *ret = [[SDLTTSChunk alloc] init]; + ret.text = text; + ret.type = type; + + return ret; +} + ++ (NSMutableArray *)buildTTSChunksFromSimple:(NSString *)simple { + if (simple == nil) + return nil; + + return [NSMutableArray arrayWithObject:[SDLTTSChunkFactory buildTTSChunkForString:simple type:[SDLSpeechCapabilities TEXT]]]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextAlignment.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextAlignment.h new file mode 100644 index 000000000..8a0d44a5b --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextAlignment.h @@ -0,0 +1,17 @@ +// SDLTextAlignment.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLTextAlignment : SDLEnum {} + ++(SDLTextAlignment*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLTextAlignment*) LEFT_ALIGNED; ++(SDLTextAlignment*) RIGHT_ALIGNED; ++(SDLTextAlignment*) CENTERED; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextAlignment.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextAlignment.m new file mode 100644 index 000000000..2b044d12f --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextAlignment.m @@ -0,0 +1,56 @@ +// SDLTextAlignment.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLTextAlignment.h" + +SDLTextAlignment* SDLTextAlignment_LEFT_ALIGNED = nil; +SDLTextAlignment* SDLTextAlignment_RIGHT_ALIGNED = nil; +SDLTextAlignment* SDLTextAlignment_CENTERED = nil; + +NSMutableArray* SDLTextAlignment_values = nil; + +@implementation SDLTextAlignment + ++(SDLTextAlignment*) valueOf:(NSString*) value { + for (SDLTextAlignment* item in SDLTextAlignment.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLTextAlignment_values == nil) { + SDLTextAlignment_values = [[NSMutableArray alloc] initWithObjects: + SDLTextAlignment.LEFT_ALIGNED, + SDLTextAlignment.RIGHT_ALIGNED, + SDLTextAlignment.CENTERED, + nil]; + } + return SDLTextAlignment_values; +} + ++(SDLTextAlignment*) LEFT_ALIGNED { + if (SDLTextAlignment_LEFT_ALIGNED == nil) { + SDLTextAlignment_LEFT_ALIGNED = [[SDLTextAlignment alloc] initWithValue:@"LEFT_ALIGNED"]; + } + return SDLTextAlignment_LEFT_ALIGNED; +} + ++(SDLTextAlignment*) RIGHT_ALIGNED { + if (SDLTextAlignment_RIGHT_ALIGNED == nil) { + SDLTextAlignment_RIGHT_ALIGNED = [[SDLTextAlignment alloc] initWithValue:@"RIGHT_ALIGNED"]; + } + return SDLTextAlignment_RIGHT_ALIGNED; +} + ++(SDLTextAlignment*) CENTERED { + if (SDLTextAlignment_CENTERED == nil) { + SDLTextAlignment_CENTERED = [[SDLTextAlignment alloc] initWithValue:@"CENTERED"]; + } + return SDLTextAlignment_CENTERED; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextField.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextField.h new file mode 100644 index 000000000..64dee37b5 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextField.h @@ -0,0 +1,20 @@ +// SDLTextField.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLRPCMessage.h" + +#import "SDLTextFieldName.h" +#import "SDLCharacterSet.h" + +@interface SDLTextField : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLTextFieldName* name; +@property(strong) SDLCharacterSet* characterSet; +@property(strong) NSNumber* width; +@property(strong) NSNumber* rows; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextField.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextField.m new file mode 100644 index 000000000..6fc8ee377 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextField.m @@ -0,0 +1,79 @@ +// SDLTextField.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLTextField.h" + +#import "SDLNames.h" + +@implementation SDLTextField + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setName:(SDLTextFieldName*) name { + if (name != nil) { + [store setObject:name forKey:NAMES_name]; + } else { + [store removeObjectForKey:NAMES_name]; + } +} + +-(SDLTextFieldName*) name { + NSObject* obj = [store objectForKey:NAMES_name]; + if ([obj isKindOfClass:SDLTextFieldName.class]) { + return (SDLTextFieldName*)obj; + } else { + return [SDLTextFieldName valueOf:(NSString*)obj]; + } +} + +-(void) setCharacterSet:(SDLCharacterSet*) characterSet { + if (characterSet != nil) { + [store setObject:characterSet forKey:NAMES_characterSet]; + } else { + [store removeObjectForKey:NAMES_characterSet]; + } +} + +-(SDLCharacterSet*) characterSet { + NSObject* obj = [store objectForKey:NAMES_characterSet]; + if ([obj isKindOfClass:SDLCharacterSet.class]) { + return (SDLCharacterSet*)obj; + } else { + return [SDLCharacterSet valueOf:(NSString*)obj]; + } +} + +-(void) setWidth:(NSNumber*) width { + if (width != nil) { + [store setObject:width forKey:NAMES_width]; + } else { + [store removeObjectForKey:NAMES_width]; + } +} + +-(NSNumber*) width { + return [store objectForKey:NAMES_width]; +} + +-(void) setRows:(NSNumber*) rows { + if (rows != nil) { + [store setObject:rows forKey:NAMES_rows]; + } else { + [store removeObjectForKey:NAMES_rows]; + } +} + +-(NSNumber*) rows { + return [store objectForKey:NAMES_rows]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextFieldName.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextFieldName.h new file mode 100644 index 000000000..370186774 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextFieldName.h @@ -0,0 +1,38 @@ +// SDLTextFieldName.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLTextFieldName : SDLEnum {} + ++(SDLTextFieldName*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLTextFieldName*) mainField1; ++(SDLTextFieldName*) mainField2; ++(SDLTextFieldName*) mainField3; ++(SDLTextFieldName*) mainField4; ++(SDLTextFieldName*) statusBar; ++(SDLTextFieldName*) mediaClock; ++(SDLTextFieldName*) mediaTrack; ++(SDLTextFieldName*) alertText1; ++(SDLTextFieldName*) alertText2; ++(SDLTextFieldName*) alertText3; ++(SDLTextFieldName*) scrollableMessageBody; ++(SDLTextFieldName*) initialInteractionText; ++(SDLTextFieldName*) navigationText1; ++(SDLTextFieldName*) navigationText2; ++(SDLTextFieldName*) ETA; ++(SDLTextFieldName*) totalDistance; ++(SDLTextFieldName*) audioPassThruDisplayText1; ++(SDLTextFieldName*) audioPassThruDisplayText2; ++(SDLTextFieldName*) sliderHeader; ++(SDLTextFieldName*) sliderFooter; ++(SDLTextFieldName*) menuName; ++(SDLTextFieldName*) secondaryText; ++(SDLTextFieldName*) tertiaryText; ++(SDLTextFieldName*) menuTitle; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextFieldName.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextFieldName.m new file mode 100644 index 000000000..e4f3a8be7 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextFieldName.m @@ -0,0 +1,245 @@ +// SDLTextFieldName.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLTextFieldName.h" + +SDLTextFieldName* SDLTextFieldName_mainField1 = nil; +SDLTextFieldName* SDLTextFieldName_mainField2 = nil; +SDLTextFieldName* SDLTextFieldName_mainField3 = nil; +SDLTextFieldName* SDLTextFieldName_mainField4 = nil; +SDLTextFieldName* SDLTextFieldName_statusBar = nil; +SDLTextFieldName* SDLTextFieldName_mediaClock = nil; +SDLTextFieldName* SDLTextFieldName_mediaTrack = nil; +SDLTextFieldName* SDLTextFieldName_alertText1 = nil; +SDLTextFieldName* SDLTextFieldName_alertText2 = nil; +SDLTextFieldName* SDLTextFieldName_alertText3 = nil; +SDLTextFieldName* SDLTextFieldName_scrollableMessageBody = nil; +SDLTextFieldName* SDLTextFieldName_initialInteractionText = nil; +SDLTextFieldName* SDLTextFieldName_navigationText1 = nil; +SDLTextFieldName* SDLTextFieldName_navigationText2 = nil; +SDLTextFieldName* SDLTextFieldName_ETA = nil; +SDLTextFieldName* SDLTextFieldName_totalDistance = nil; +SDLTextFieldName* SDLTextFieldName_audioPassThruDisplayText1 = nil; +SDLTextFieldName* SDLTextFieldName_audioPassThruDisplayText2 = nil; +SDLTextFieldName* SDLTextFieldName_sliderHeader = nil; +SDLTextFieldName* SDLTextFieldName_sliderFooter = nil; +SDLTextFieldName* SDLTextFieldName_menuName = nil; +SDLTextFieldName* SDLTextFieldName_secondaryText = nil; +SDLTextFieldName* SDLTextFieldName_tertiaryText = nil; +SDLTextFieldName* SDLTextFieldName_menuTitle = nil; + +NSMutableArray* SDLTextFieldName_values = nil; + +@implementation SDLTextFieldName + ++(SDLTextFieldName*) valueOf:(NSString*) value { + for (SDLTextFieldName* item in SDLTextFieldName.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLTextFieldName_values == nil) { + SDLTextFieldName_values = [[NSMutableArray alloc] initWithObjects: + SDLTextFieldName.mainField1, + SDLTextFieldName.mainField2, + SDLTextFieldName.mainField3, + SDLTextFieldName.mainField4, + SDLTextFieldName.statusBar, + SDLTextFieldName.mediaClock, + SDLTextFieldName.mediaTrack, + SDLTextFieldName.alertText1, + SDLTextFieldName.alertText2, + SDLTextFieldName.alertText3, + SDLTextFieldName.scrollableMessageBody, + SDLTextFieldName.initialInteractionText, + SDLTextFieldName.navigationText1, + SDLTextFieldName.navigationText2, + SDLTextFieldName.ETA, + SDLTextFieldName.totalDistance, + SDLTextFieldName.audioPassThruDisplayText1, + SDLTextFieldName.audioPassThruDisplayText2, + SDLTextFieldName.sliderHeader, + SDLTextFieldName.sliderFooter, + SDLTextFieldName.menuName, + SDLTextFieldName.secondaryText, + SDLTextFieldName.tertiaryText, + SDLTextFieldName.menuTitle, + nil]; + } + return SDLTextFieldName_values; +} + ++(SDLTextFieldName*) mainField1 { + if (SDLTextFieldName_mainField1 == nil) { + SDLTextFieldName_mainField1 = [[SDLTextFieldName alloc] initWithValue:@"mainField1"]; + } + return SDLTextFieldName_mainField1; +} + ++(SDLTextFieldName*) mainField2 { + if (SDLTextFieldName_mainField2 == nil) { + SDLTextFieldName_mainField2 = [[SDLTextFieldName alloc] initWithValue:@"mainField2"]; + } + return SDLTextFieldName_mainField2; +} + ++(SDLTextFieldName*) mainField3 { + if (SDLTextFieldName_mainField3 == nil) { + SDLTextFieldName_mainField3 = [[SDLTextFieldName alloc] initWithValue:@"mainField3"]; + } + return SDLTextFieldName_mainField3; +} + ++(SDLTextFieldName*) mainField4 { + if (SDLTextFieldName_mainField4 == nil) { + SDLTextFieldName_mainField4 = [[SDLTextFieldName alloc] initWithValue:@"mainField4"]; + } + return SDLTextFieldName_mainField4; +} + ++(SDLTextFieldName*) statusBar { + if (SDLTextFieldName_statusBar == nil) { + SDLTextFieldName_statusBar = [[SDLTextFieldName alloc] initWithValue:@"statusBar"]; + } + return SDLTextFieldName_statusBar; +} + ++(SDLTextFieldName*) mediaClock { + if (SDLTextFieldName_mediaClock == nil) { + SDLTextFieldName_mediaClock = [[SDLTextFieldName alloc] initWithValue:@"mediaClock"]; + } + return SDLTextFieldName_mediaClock; +} + ++(SDLTextFieldName*) mediaTrack { + if (SDLTextFieldName_mediaTrack == nil) { + SDLTextFieldName_mediaTrack = [[SDLTextFieldName alloc] initWithValue:@"mediaTrack"]; + } + return SDLTextFieldName_mediaTrack; +} + ++(SDLTextFieldName*) alertText1 { + if (SDLTextFieldName_alertText1 == nil) { + SDLTextFieldName_alertText1 = [[SDLTextFieldName alloc] initWithValue:@"alertText1"]; + } + return SDLTextFieldName_alertText1; +} + ++(SDLTextFieldName*) alertText2 { + if (SDLTextFieldName_alertText2 == nil) { + SDLTextFieldName_alertText2 = [[SDLTextFieldName alloc] initWithValue:@"alertText2"]; + } + return SDLTextFieldName_alertText2; +} + ++(SDLTextFieldName*) alertText3 { + if (SDLTextFieldName_alertText3 == nil) { + SDLTextFieldName_alertText3 = [[SDLTextFieldName alloc] initWithValue:@"alertText3"]; + } + return SDLTextFieldName_alertText3; +} + ++(SDLTextFieldName*) scrollableMessageBody { + if (SDLTextFieldName_scrollableMessageBody == nil) { + SDLTextFieldName_scrollableMessageBody = [[SDLTextFieldName alloc] initWithValue:@"scrollableMessageBody"]; + } + return SDLTextFieldName_scrollableMessageBody; +} + ++(SDLTextFieldName*) initialInteractionText { + if (SDLTextFieldName_initialInteractionText == nil) { + SDLTextFieldName_initialInteractionText = [[SDLTextFieldName alloc] initWithValue:@"initialInteractionText"]; + } + return SDLTextFieldName_initialInteractionText; +} + ++(SDLTextFieldName*) navigationText1 { + if (SDLTextFieldName_navigationText1 == nil) { + SDLTextFieldName_navigationText1 = [[SDLTextFieldName alloc] initWithValue:@"navigationText1"]; + } + return SDLTextFieldName_navigationText1; +} + ++(SDLTextFieldName*) navigationText2 { + if (SDLTextFieldName_navigationText2 == nil) { + SDLTextFieldName_navigationText2 = [[SDLTextFieldName alloc] initWithValue:@"navigationText2"]; + } + return SDLTextFieldName_navigationText2; +} + ++(SDLTextFieldName*) ETA { + if (SDLTextFieldName_ETA == nil) { + SDLTextFieldName_ETA = [[SDLTextFieldName alloc] initWithValue:@"ETA"]; + } + return SDLTextFieldName_ETA; +} + ++(SDLTextFieldName*) totalDistance { + if (SDLTextFieldName_totalDistance == nil) { + SDLTextFieldName_totalDistance = [[SDLTextFieldName alloc] initWithValue:@"totalDistance"]; + } + return SDLTextFieldName_totalDistance; +} + ++(SDLTextFieldName*) audioPassThruDisplayText1 { + if (SDLTextFieldName_audioPassThruDisplayText1 == nil) { + SDLTextFieldName_audioPassThruDisplayText1 = [[SDLTextFieldName alloc] initWithValue:@"audioPassThruDisplayText1"]; + } + return SDLTextFieldName_audioPassThruDisplayText1; +} + ++(SDLTextFieldName*) audioPassThruDisplayText2 { + if (SDLTextFieldName_audioPassThruDisplayText2 == nil) { + SDLTextFieldName_audioPassThruDisplayText2 = [[SDLTextFieldName alloc] initWithValue:@"audioPassThruDisplayText2"]; + } + return SDLTextFieldName_audioPassThruDisplayText2; +} + ++(SDLTextFieldName*) sliderHeader { + if (SDLTextFieldName_sliderHeader == nil) { + SDLTextFieldName_sliderHeader = [[SDLTextFieldName alloc] initWithValue:@"sliderHeader"]; + } + return SDLTextFieldName_sliderHeader; +} + ++(SDLTextFieldName*) sliderFooter { + if (SDLTextFieldName_sliderFooter == nil) { + SDLTextFieldName_sliderFooter = [[SDLTextFieldName alloc] initWithValue:@"sliderFooter"]; + } + return SDLTextFieldName_sliderFooter; +} + ++(SDLTextFieldName*) menuName { + if (SDLTextFieldName_menuName == nil) { + SDLTextFieldName_menuName = [[SDLTextFieldName alloc] initWithValue:@"menuName"]; + } + return SDLTextFieldName_menuName; +} + ++(SDLTextFieldName*) secondaryText { + if (SDLTextFieldName_secondaryText == nil) { + SDLTextFieldName_secondaryText = [[SDLTextFieldName alloc] initWithValue:@"secondaryText"]; + } + return SDLTextFieldName_secondaryText; +} + ++(SDLTextFieldName*) tertiaryText { + if (SDLTextFieldName_tertiaryText == nil) { + SDLTextFieldName_tertiaryText = [[SDLTextFieldName alloc] initWithValue:@"tertiaryText"]; + } + return SDLTextFieldName_tertiaryText; +} + ++(SDLTextFieldName*) menuTitle { + if (SDLTextFieldName_menuTitle == nil) { + SDLTextFieldName_menuTitle = [[SDLTextFieldName alloc] initWithValue:@"menuTitle"]; + } + return SDLTextFieldName_menuTitle; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTimerMode.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTimerMode.h new file mode 100644 index 000000000..e3b2a264a --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTimerMode.h @@ -0,0 +1,17 @@ +// SDLTimerMode.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLTimerMode : SDLEnum {} + ++(SDLTimerMode*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLTimerMode*) UP; ++(SDLTimerMode*) DOWN; ++(SDLTimerMode*) NONE; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTimerMode.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTimerMode.m new file mode 100644 index 000000000..005b993ec --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTimerMode.m @@ -0,0 +1,56 @@ +// SDLTimerMode.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLTimerMode.h" + +SDLTimerMode* SDLTimerMode_UP = nil; +SDLTimerMode* SDLTimerMode_DOWN = nil; +SDLTimerMode* SDLTimerMode_NONE = nil; + +NSMutableArray* SDLTimerMode_values = nil; + +@implementation SDLTimerMode + ++(SDLTimerMode*) valueOf:(NSString*) value { + for (SDLTimerMode* item in SDLTimerMode.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLTimerMode_values == nil) { + SDLTimerMode_values = [[NSMutableArray alloc] initWithObjects: + SDLTimerMode.UP, + SDLTimerMode.DOWN, + SDLTimerMode.NONE, + nil]; + } + return SDLTimerMode_values; +} + ++(SDLTimerMode*) UP { + if (SDLTimerMode_UP == nil) { + SDLTimerMode_UP = [[SDLTimerMode alloc] initWithValue:@"UP"]; + } + return SDLTimerMode_UP; +} + ++(SDLTimerMode*) DOWN { + if (SDLTimerMode_DOWN == nil) { + SDLTimerMode_DOWN = [[SDLTimerMode alloc] initWithValue:@"DOWN"]; + } + return SDLTimerMode_DOWN; +} + ++(SDLTimerMode*) NONE { + if (SDLTimerMode_NONE == nil) { + SDLTimerMode_NONE = [[SDLTimerMode alloc] initWithValue:@"NONE"]; + } + return SDLTimerMode_NONE; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTireStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTireStatus.h new file mode 100644 index 000000000..55ad34db3 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTireStatus.h @@ -0,0 +1,24 @@ +// SDLTireStatus.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +#import "SDLWarningLightStatus.h" +#import "SDLSingleTireStatus.h" + +@interface SDLTireStatus : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLWarningLightStatus* pressureTelltale; +@property(strong) SDLSingleTireStatus* leftFront; +@property(strong) SDLSingleTireStatus* rightFront; +@property(strong) SDLSingleTireStatus* leftRear; +@property(strong) SDLSingleTireStatus* rightRear; +@property(strong) SDLSingleTireStatus* innerLeftRear; +@property(strong) SDLSingleTireStatus* innerRightRear; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTireStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTireStatus.m new file mode 100644 index 000000000..344ea1345 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTireStatus.m @@ -0,0 +1,140 @@ +// SDLTireStatus.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLTireStatus.h" + +#import "SDLNames.h" + +@implementation SDLTireStatus + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setPressureTelltale:(SDLWarningLightStatus*) pressureTelltale { + if (pressureTelltale != nil) { + [store setObject:pressureTelltale forKey:NAMES_pressureTelltale]; + } else { + [store removeObjectForKey:NAMES_pressureTelltale]; + } +} + +-(SDLWarningLightStatus*) pressureTelltale { + NSObject* obj = [store objectForKey:NAMES_pressureTelltale]; + if ([obj isKindOfClass:SDLWarningLightStatus.class]) { + return (SDLWarningLightStatus*)obj; + } else { + return [SDLWarningLightStatus valueOf:(NSString*)obj]; + } +} + +-(void) setLeftFront:(SDLSingleTireStatus*) leftFront { + if (leftFront != nil) { + [store setObject:leftFront forKey:NAMES_leftFront]; + } else { + [store removeObjectForKey:NAMES_leftFront]; + } +} + +-(SDLSingleTireStatus*) leftFront { + NSObject* obj = [store objectForKey:NAMES_leftFront]; + if ([obj isKindOfClass:SDLSingleTireStatus.class]) { + return (SDLSingleTireStatus*)obj; + } else { + return [[SDLSingleTireStatus alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setRightFront:(SDLSingleTireStatus*) rightFront { + if (rightFront != nil) { + [store setObject:rightFront forKey:NAMES_rightFront]; + } else { + [store removeObjectForKey:NAMES_rightFront]; + } +} + +-(SDLSingleTireStatus*) rightFront { + NSObject* obj = [store objectForKey:NAMES_rightFront]; + if ([obj isKindOfClass:SDLSingleTireStatus.class]) { + return (SDLSingleTireStatus*)obj; + } else { + return [[SDLSingleTireStatus alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setLeftRear:(SDLSingleTireStatus*) leftRear { + if (leftRear != nil) { + [store setObject:leftRear forKey:NAMES_leftRear]; + } else { + [store removeObjectForKey:NAMES_leftRear]; + } +} + +-(SDLSingleTireStatus*) leftRear { + NSObject* obj = [store objectForKey:NAMES_leftRear]; + if ([obj isKindOfClass:SDLSingleTireStatus.class]) { + return (SDLSingleTireStatus*)obj; + } else { + return [[SDLSingleTireStatus alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setRightRear:(SDLSingleTireStatus*) rightRear { + if (rightRear != nil) { + [store setObject:rightRear forKey:NAMES_rightRear]; + } else { + [store removeObjectForKey:NAMES_rightRear]; + } +} + +-(SDLSingleTireStatus*) rightRear { + NSObject* obj = [store objectForKey:NAMES_rightRear]; + if ([obj isKindOfClass:SDLSingleTireStatus.class]) { + return (SDLSingleTireStatus*)obj; + } else { + return [[SDLSingleTireStatus alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setInnerLeftRear:(SDLSingleTireStatus*) innerLeftRear { + if (innerLeftRear != nil) { + [store setObject:innerLeftRear forKey:NAMES_innerLeftRear]; + } else { + [store removeObjectForKey:NAMES_innerLeftRear]; + } +} + +-(SDLSingleTireStatus*) innerLeftRear { + NSObject* obj = [store objectForKey:NAMES_innerLeftRear]; + if ([obj isKindOfClass:SDLSingleTireStatus.class]) { + return (SDLSingleTireStatus*)obj; + } else { + return [[SDLSingleTireStatus alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setInnerRightRear:(SDLSingleTireStatus*) innerRightRear { + if (innerRightRear != nil) { + [store setObject:innerRightRear forKey:NAMES_innerRightRear]; + } else { + [store removeObjectForKey:NAMES_innerRightRear]; + } +} + +-(SDLSingleTireStatus*) innerRightRear { + NSObject* obj = [store objectForKey:NAMES_innerRightRear]; + if ([obj isKindOfClass:SDLSingleTireStatus.class]) { + return (SDLSingleTireStatus*)obj; + } else { + return [[SDLSingleTireStatus alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchCoord.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchCoord.h new file mode 100644 index 000000000..25c5d07e3 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchCoord.h @@ -0,0 +1,16 @@ +// SDLTouchCoord.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +@interface SDLTouchCoord : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* x; +@property(strong) NSNumber* y; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchCoord.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchCoord.m new file mode 100644 index 000000000..9d1d5baa2 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchCoord.m @@ -0,0 +1,45 @@ +// SDLTouchCoord.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLTouchCoord.h" + +#import "SDLNames.h" + +@implementation SDLTouchCoord + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setX:(NSNumber*) x { + if (x != nil) { + [store setObject:x forKey:NAMES_x]; + } else { + [store removeObjectForKey:NAMES_x]; + } +} + +-(NSNumber*) x { + return [store objectForKey:NAMES_x]; +} + +-(void) setY:(NSNumber*) y { + if (y != nil) { + [store setObject:y forKey:NAMES_y]; + } else { + [store removeObjectForKey:NAMES_y]; + } +} + +-(NSNumber*) y { + return [store objectForKey:NAMES_y]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEvent.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEvent.h new file mode 100644 index 000000000..e0d9f9bcc --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEvent.h @@ -0,0 +1,17 @@ +// SDLTouchEvent.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +@interface SDLTouchEvent : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* touchEventId; +@property(strong) NSMutableArray* timeStamp; +@property(strong) NSMutableArray* coord; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEvent.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEvent.m new file mode 100644 index 000000000..b363669a6 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEvent.m @@ -0,0 +1,67 @@ +// SDLTouchEvent.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLTouchEvent.h" + +#import "SDLNames.h" +#import "SDLTouchCoord.h" + +@implementation SDLTouchEvent + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setTouchEventId:(NSNumber*) touchEventId { + if (touchEventId != nil) { + [store setObject:touchEventId forKey:NAMES_id]; + } else { + [store removeObjectForKey:NAMES_id]; + } +} + +-(NSNumber*) touchEventId { + return [store objectForKey:NAMES_id]; +} + +-(void) setTimeStamp:(NSMutableArray*) timeStamp { + if (timeStamp != nil) { + [store setObject:timeStamp forKey:NAMES_ts]; + } else { + [store removeObjectForKey:NAMES_ts]; + } +} + +-(NSMutableArray*) timeStamp { + return [store objectForKey:NAMES_ts]; +} + +-(void) setCoord:(NSMutableArray*) coord { + if (coord != nil) { + [store setObject:coord forKey:NAMES_c]; + } else { + [store removeObjectForKey:NAMES_c]; + } +} + +-(NSMutableArray*) coord { + NSMutableArray* array = [store objectForKey:NAMES_c]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLTouchCoord.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSDictionary* dict in array) { + [newList addObject:[[SDLTouchCoord alloc] initWithDictionary:(NSMutableDictionary*)dict]]; + } + return newList; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEventCapabilities.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEventCapabilities.h new file mode 100644 index 000000000..4e5b1f62e --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEventCapabilities.h @@ -0,0 +1,17 @@ +// SDLTouchEventCapabilities.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +@interface SDLTouchEventCapabilities : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* pressAvailable; +@property(strong) NSNumber* multiTouchAvailable; +@property(strong) NSNumber* doublePressAvailable; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEventCapabilities.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEventCapabilities.m new file mode 100644 index 000000000..4f503356a --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEventCapabilities.m @@ -0,0 +1,57 @@ +// SDLTouchEventCapabilities.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLTouchEventCapabilities.h" + +#import "SDLNames.h" + +@implementation SDLTouchEventCapabilities + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setPressAvailable:(NSNumber*) pressAvailable { + if (pressAvailable != nil) { + [store setObject:pressAvailable forKey:NAMES_pressAvailable]; + } else { + [store removeObjectForKey:NAMES_pressAvailable]; + } +} + +-(NSNumber*) pressAvailable { + return [store objectForKey:NAMES_pressAvailable]; +} + +-(void) setMultiTouchAvailable:(NSNumber*) multiTouchAvailable { + if (multiTouchAvailable != nil) { + [store setObject:multiTouchAvailable forKey:NAMES_multiTouchAvailable]; + } else { + [store removeObjectForKey:NAMES_multiTouchAvailable]; + } +} + +-(NSNumber*) multiTouchAvailable { + return [store objectForKey:NAMES_multiTouchAvailable]; +} + +-(void) setDoublePressAvailable:(NSNumber*) doublePressAvailable { + if (doublePressAvailable != nil) { + [store setObject:doublePressAvailable forKey:NAMES_doublePressAvailable]; + } else { + [store removeObjectForKey:NAMES_doublePressAvailable]; + } +} + +-(NSNumber*) doublePressAvailable { + return [store objectForKey:NAMES_doublePressAvailable]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchType.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchType.h new file mode 100644 index 000000000..de3a40117 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchType.h @@ -0,0 +1,17 @@ +// SDLTouchType.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLTouchType : SDLEnum {} + ++(SDLTouchType*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLTouchType*) BEGIN; ++(SDLTouchType*) MOVE; ++(SDLTouchType*) END; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchType.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchType.m new file mode 100644 index 000000000..ce9cc509d --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchType.m @@ -0,0 +1,56 @@ +// SDLTouchType.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLTouchType.h" + +SDLTouchType* SDLTouchType_BEGIN = nil; +SDLTouchType* SDLTouchType_MOVE = nil; +SDLTouchType* SDLTouchType_END = nil; + +NSMutableArray* SDLTouchType_values = nil; + +@implementation SDLTouchType + ++(SDLTouchType*) valueOf:(NSString*) value { + for (SDLTouchType* item in SDLTouchType.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLTouchType_values == nil) { + SDLTouchType_values = [[NSMutableArray alloc] initWithObjects: + SDLTouchType.BEGIN, + SDLTouchType.MOVE, + SDLTouchType.END, + nil]; + } + return SDLTouchType_values; +} + ++(SDLTouchType*) BEGIN { + if (SDLTouchType_BEGIN == nil) { + SDLTouchType_BEGIN = [[SDLTouchType alloc] initWithValue:@"BEGIN"]; + } + return SDLTouchType_BEGIN; +} + ++(SDLTouchType*) MOVE { + if (SDLTouchType_MOVE == nil) { + SDLTouchType_MOVE = [[SDLTouchType alloc] initWithValue:@"MOVE"]; + } + return SDLTouchType_MOVE; +} + ++(SDLTouchType*) END { + if (SDLTouchType_END == nil) { + SDLTouchType_END = [[SDLTouchType alloc] initWithValue:@"END"]; + } + return SDLTouchType_END; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTransport.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTransport.h new file mode 100644 index 000000000..f0c1d6fe7 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTransport.h @@ -0,0 +1,17 @@ +// SDLTransport.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +@import Foundation; + +#import "SDLTransportDelegate.h" + +@protocol SDLTransport + +@property (weak) id<SDLTransportDelegate> delegate; + +- (void)connect; +- (void)disconnect; +- (void)sendData:(NSData *)dataToSend; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTransportDelegate.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTransportDelegate.h new file mode 100644 index 000000000..a6da45b3a --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTransportDelegate.h @@ -0,0 +1,13 @@ +// SDLTransportDelegate.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + + +@protocol SDLTransportDelegate + +- (void)onTransportConnected; +- (void)onTransportDisconnected; +- (void)onDataReceived:(NSData *)receivedData; + +@end
\ No newline at end of file diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTriggerSource.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTriggerSource.h new file mode 100644 index 000000000..e2e3ccfb7 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTriggerSource.h @@ -0,0 +1,17 @@ +// SDLTriggerSource.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLTriggerSource : SDLEnum {} + ++(SDLTriggerSource*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLTriggerSource*) MENU; ++(SDLTriggerSource*) VR; ++(SDLTriggerSource*) KEYBOARD; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTriggerSource.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTriggerSource.m new file mode 100644 index 000000000..d4b580c33 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTriggerSource.m @@ -0,0 +1,56 @@ +// SDLTriggerSource.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLTriggerSource.h" + +SDLTriggerSource* SDLTriggerSource_MENU = nil; +SDLTriggerSource* SDLTriggerSource_VR = nil; +SDLTriggerSource* SDLTriggerSource_KEYBOARD = nil; + +NSMutableArray* SDLTriggerSource_values = nil; + +@implementation SDLTriggerSource + ++(SDLTriggerSource*) valueOf:(NSString*) value { + for (SDLTriggerSource* item in SDLTriggerSource.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLTriggerSource_values == nil) { + SDLTriggerSource_values = [[NSMutableArray alloc] initWithObjects: + SDLTriggerSource.MENU, + SDLTriggerSource.VR, + SDLTriggerSource.KEYBOARD, + nil]; + } + return SDLTriggerSource_values; +} + ++(SDLTriggerSource*) MENU { + if (SDLTriggerSource_MENU == nil) { + SDLTriggerSource_MENU = [[SDLTriggerSource alloc] initWithValue:@"MENU"]; + } + return SDLTriggerSource_MENU; +} + ++(SDLTriggerSource*) VR { + if (SDLTriggerSource_VR == nil) { + SDLTriggerSource_VR = [[SDLTriggerSource alloc] initWithValue:@"VR"]; + } + return SDLTriggerSource_VR; +} + ++(SDLTriggerSource*) KEYBOARD { + if (SDLTriggerSource_KEYBOARD == nil) { + SDLTriggerSource_KEYBOARD = [[SDLTriggerSource alloc] initWithValue:@"KEYBOARD"]; + } + return SDLTriggerSource_KEYBOARD; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTurn.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTurn.h new file mode 100644 index 000000000..547fdfa31 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTurn.h @@ -0,0 +1,18 @@ +// SDLTurn.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +#import "SDLImage.h" + +@interface SDLTurn : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSString* navigationText; +@property(strong) SDLImage* turnIcon; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTurn.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTurn.m new file mode 100644 index 000000000..dfe63d36a --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTurn.m @@ -0,0 +1,50 @@ +// SDLTurn.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLTurn.h" + +#import "SDLNames.h" + +@implementation SDLTurn + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setNavigationText:(NSString*) navigationText { + if (navigationText != nil) { + [store setObject:navigationText forKey:NAMES_navigationText]; + } else { + [store removeObjectForKey:NAMES_navigationText]; + } +} + +-(NSString*) navigationText { + return [store objectForKey:NAMES_navigationText]; +} + +-(void) setTurnIcon:(SDLImage*) turnIcon { + if (turnIcon != nil) { + [store setObject:turnIcon forKey:NAMES_turnIcon]; + } else { + [store removeObjectForKey:NAMES_turnIcon]; + } +} + +-(SDLImage*) turnIcon { + NSObject* obj = [store objectForKey:NAMES_turnIcon]; + if ([obj isKindOfClass:SDLImage.class]) { + return (SDLImage*)obj; + } else { + return [[SDLImage alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterface.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterface.h new file mode 100644 index 000000000..569ad54e4 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterface.h @@ -0,0 +1,13 @@ +// SDLUnregisterAppInterface.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +@interface SDLUnregisterAppInterface : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterface.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterface.m new file mode 100644 index 000000000..0fc9beac0 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterface.m @@ -0,0 +1,21 @@ +// SDLUnregisterAppInterface.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLUnregisterAppInterface.h" + +#import "SDLNames.h" + +@implementation SDLUnregisterAppInterface + +-(id) init { + if (self = [super initWithName:NAMES_UnregisterAppInterface]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterfaceResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterfaceResponse.h new file mode 100644 index 000000000..d3fe69066 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterfaceResponse.h @@ -0,0 +1,13 @@ +// SDLUnregisterAppInterfaceResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLUnregisterAppInterfaceResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterfaceResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterfaceResponse.m new file mode 100644 index 000000000..3c51484af --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterfaceResponse.m @@ -0,0 +1,21 @@ +// SDLUnregisterAppInterfaceResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLUnregisterAppInterfaceResponse.h" + +#import "SDLNames.h" + +@implementation SDLUnregisterAppInterfaceResponse + +-(id) init { + if (self = [super initWithName:NAMES_UnregisterAppInterface]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButton.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButton.h new file mode 100644 index 000000000..2e62fc216 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButton.h @@ -0,0 +1,17 @@ +// SDLUnsubscribeButton.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +#import "SDLButtonName.h" + +@interface SDLUnsubscribeButton : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLButtonName* buttonName; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButton.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButton.m new file mode 100644 index 000000000..3c9880cc5 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButton.m @@ -0,0 +1,38 @@ +// SDLUnsubscribeButton.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLUnsubscribeButton.h" + +#import "SDLNames.h" + +@implementation SDLUnsubscribeButton + +-(id) init { + if (self = [super initWithName:NAMES_UnsubscribeButton]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setButtonName:(SDLButtonName*) buttonName { + if (buttonName != nil) { + [parameters setObject:buttonName forKey:NAMES_buttonName]; + } else { + [parameters removeObjectForKey:NAMES_buttonName]; + } +} + +-(SDLButtonName*) buttonName { + NSObject* obj = [parameters objectForKey:NAMES_buttonName]; + if ([obj isKindOfClass:SDLButtonName.class]) { + return (SDLButtonName*)obj; + } else { + return [SDLButtonName valueOf:(NSString*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButtonResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButtonResponse.h new file mode 100644 index 000000000..a2e323dde --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButtonResponse.h @@ -0,0 +1,13 @@ +// SDLUnsubscribeButtonResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLUnsubscribeButtonResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButtonResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButtonResponse.m new file mode 100644 index 000000000..188e6c5ee --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButtonResponse.m @@ -0,0 +1,21 @@ +// SDLUnsubscribeButtonResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLUnsubscribeButtonResponse.h" + +#import "SDLNames.h" + +@implementation SDLUnsubscribeButtonResponse + +-(id) init { + if (self = [super initWithName:NAMES_UnsubscribeButton]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleData.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleData.h new file mode 100644 index 000000000..7d882b552 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleData.h @@ -0,0 +1,39 @@ +// SDLUnsubscribeVehicleData.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + + +#import "SDLRPCRequest.h" + +@interface SDLUnsubscribeVehicleData : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSNumber* gps; +@property(strong) NSNumber* speed; +@property(strong) NSNumber* rpm; +@property(strong) NSNumber* fuelLevel; +@property(strong) NSNumber* fuelLevel_State; +@property(strong) NSNumber* instantFuelConsumption; +@property(strong) NSNumber* externalTemperature; +@property(strong) NSNumber* prndl; +@property(strong) NSNumber* tirePressure; +@property(strong) NSNumber* odometer; +@property(strong) NSNumber* beltStatus; +@property(strong) NSNumber* bodyInformation; +@property(strong) NSNumber* deviceStatus; +@property(strong) NSNumber* driverBraking; +@property(strong) NSNumber* wiperStatus; +@property(strong) NSNumber* headLampStatus; +@property(strong) NSNumber* engineTorque; +@property(strong) NSNumber* accPedalPosition; +@property(strong) NSNumber* steeringWheelAngle; +@property(strong) NSNumber* eCallInfo; +@property(strong) NSNumber* airbagStatus; +@property(strong) NSNumber* emergencyEvent; +@property(strong) NSNumber* clusterModeStatus; +@property(strong) NSNumber* myKey; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleData.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleData.m new file mode 100644 index 000000000..a8952bdb1 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleData.m @@ -0,0 +1,309 @@ +// SDLUnsubscribeVehicleData.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLUnsubscribeVehicleData.h" + +#import "SDLNames.h" + +@implementation SDLUnsubscribeVehicleData + +-(id) init { + if (self = [super initWithName:NAMES_UnsubscribeVehicleData]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setGps:(NSNumber*) gps { + if (gps != nil) { + [parameters setObject:gps forKey:NAMES_gps]; + } else { + [parameters removeObjectForKey:NAMES_gps]; + } +} + +-(NSNumber*) gps { + return [parameters objectForKey:NAMES_gps]; +} + +-(void) setSpeed:(NSNumber*) speed { + if (speed != nil) { + [parameters setObject:speed forKey:NAMES_speed]; + } else { + [parameters removeObjectForKey:NAMES_speed]; + } +} + +-(NSNumber*) speed { + return [parameters objectForKey:NAMES_speed]; +} + +-(void) setRpm:(NSNumber*) rpm { + if (rpm != nil) { + [parameters setObject:rpm forKey:NAMES_rpm]; + } else { + [parameters removeObjectForKey:NAMES_rpm]; + } +} + +-(NSNumber*) rpm { + return [parameters objectForKey:NAMES_rpm]; +} + +-(void) setFuelLevel:(NSNumber*) fuelLevel { + if (fuelLevel != nil) { + [parameters setObject:fuelLevel forKey:NAMES_fuelLevel]; + } else { + [parameters removeObjectForKey:NAMES_fuelLevel]; + } +} + +-(NSNumber*) fuelLevel { + return [parameters objectForKey:NAMES_fuelLevel]; +} + +-(void) setFuelLevel_State:(NSNumber*) fuelLevel_State { + if (fuelLevel_State != nil) { + [parameters setObject:fuelLevel_State forKey:NAMES_fuelLevel_State]; + } else { + [parameters removeObjectForKey:NAMES_fuelLevel_State]; + } +} + +-(NSNumber*) fuelLevel_State { + return [parameters objectForKey:NAMES_fuelLevel_State]; +} + +-(void) setInstantFuelConsumption:(NSNumber*) instantFuelConsumption { + if (instantFuelConsumption != nil) { + [parameters setObject:instantFuelConsumption forKey:NAMES_instantFuelConsumption]; + } else { + [parameters removeObjectForKey:NAMES_instantFuelConsumption]; + } +} + +-(NSNumber*) instantFuelConsumption { + return [parameters objectForKey:NAMES_instantFuelConsumption]; +} + +-(void) setExternalTemperature:(NSNumber*) externalTemperature { + if (externalTemperature != nil) { + [parameters setObject:externalTemperature forKey:NAMES_externalTemperature]; + } else { + [parameters removeObjectForKey:NAMES_externalTemperature]; + } +} + +-(NSNumber*) externalTemperature { + return [parameters objectForKey:NAMES_externalTemperature]; +} + +-(void) setPrndl:(NSNumber*) prndl { + if (prndl != nil) { + [parameters setObject:prndl forKey:NAMES_prndl]; + } else { + [parameters removeObjectForKey:NAMES_prndl]; + } +} + +-(NSNumber*) prndl { + return [parameters objectForKey:NAMES_prndl]; +} + +-(void) setTirePressure:(NSNumber*) tirePressure { + if (tirePressure != nil) { + [parameters setObject:tirePressure forKey:NAMES_tirePressure]; + } else { + [parameters removeObjectForKey:NAMES_tirePressure]; + } +} + +-(NSNumber*) tirePressure { + return [parameters objectForKey:NAMES_tirePressure]; +} + +-(void) setOdometer:(NSNumber*) odometer { + if (odometer != nil) { + [parameters setObject:odometer forKey:NAMES_odometer]; + } else { + [parameters removeObjectForKey:NAMES_odometer]; + } +} + +-(NSNumber*) odometer { + return [parameters objectForKey:NAMES_odometer]; +} + +-(void) setBeltStatus:(NSNumber*) beltStatus { + if (beltStatus != nil) { + [parameters setObject:beltStatus forKey:NAMES_beltStatus]; + } else { + [parameters removeObjectForKey:NAMES_beltStatus]; + } +} + +-(NSNumber*) beltStatus { + return [parameters objectForKey:NAMES_beltStatus]; +} + +-(void) setBodyInformation:(NSNumber*) bodyInformation { + if (bodyInformation != nil) { + [parameters setObject:bodyInformation forKey:NAMES_bodyInformation]; + } else { + [parameters removeObjectForKey:NAMES_bodyInformation]; + } +} + +-(NSNumber*) bodyInformation { + return [parameters objectForKey:NAMES_bodyInformation]; +} + +-(void) setDeviceStatus:(NSNumber*) deviceStatus { + if (deviceStatus != nil) { + [parameters setObject:deviceStatus forKey:NAMES_deviceStatus]; + } else { + [parameters removeObjectForKey:NAMES_deviceStatus]; + } +} + +-(NSNumber*) deviceStatus { + return [parameters objectForKey:NAMES_deviceStatus]; +} + +-(void) setDriverBraking:(NSNumber*) driverBraking { + if (driverBraking != nil) { + [parameters setObject:driverBraking forKey:NAMES_driverBraking]; + } else { + [parameters removeObjectForKey:NAMES_driverBraking]; + } +} + +-(NSNumber*) driverBraking { + return [parameters objectForKey:NAMES_driverBraking]; +} + +-(void) setWiperStatus:(NSNumber*) wiperStatus { + if (wiperStatus != nil) { + [parameters setObject:wiperStatus forKey:NAMES_wiperStatus]; + } else { + [parameters removeObjectForKey:NAMES_wiperStatus]; + } +} + +-(NSNumber*) wiperStatus { + return [parameters objectForKey:NAMES_wiperStatus]; +} + +-(void) setHeadLampStatus:(NSNumber*) headLampStatus { + if (headLampStatus != nil) { + [parameters setObject:headLampStatus forKey:NAMES_headLampStatus]; + } else { + [parameters removeObjectForKey:NAMES_headLampStatus]; + } +} + +-(NSNumber*) headLampStatus { + return [parameters objectForKey:NAMES_headLampStatus]; +} + +-(void) setEngineTorque:(NSNumber*) engineTorque { + if (engineTorque != nil) { + [parameters setObject:engineTorque forKey:NAMES_engineTorque]; + } else { + [parameters removeObjectForKey:NAMES_engineTorque]; + } +} + +-(NSNumber*) engineTorque { + return [parameters objectForKey:NAMES_engineTorque]; +} + +-(void) setAccPedalPosition:(NSNumber*) accPedalPosition { + if (accPedalPosition != nil) { + [parameters setObject:accPedalPosition forKey:NAMES_accPedalPosition]; + } else { + [parameters removeObjectForKey:NAMES_accPedalPosition]; + } +} + +-(NSNumber*) accPedalPosition { + return [parameters objectForKey:NAMES_accPedalPosition]; +} + +-(void) setSteeringWheelAngle:(NSNumber*) steeringWheelAngle { + if (steeringWheelAngle != nil) { + [parameters setObject:steeringWheelAngle forKey:NAMES_steeringWheelAngle]; + } else { + [parameters removeObjectForKey:NAMES_steeringWheelAngle]; + } +} + +-(NSNumber*) steeringWheelAngle { + return [parameters objectForKey:NAMES_steeringWheelAngle]; +} + +-(void) setECallInfo:(NSNumber*) eCallInfo { + if (eCallInfo != nil) { + [parameters setObject:eCallInfo forKey:NAMES_eCallInfo]; + } else { + [parameters removeObjectForKey:NAMES_eCallInfo]; + } +} + +-(NSNumber*) eCallInfo { + return [parameters objectForKey:NAMES_eCallInfo]; +} + +-(void) setAirbagStatus:(NSNumber*) airbagStatus { + if (airbagStatus != nil) { + [parameters setObject:airbagStatus forKey:NAMES_airbagStatus]; + } else { + [parameters removeObjectForKey:NAMES_airbagStatus]; + } +} + +-(NSNumber*) airbagStatus { + return [parameters objectForKey:NAMES_airbagStatus]; +} + +-(void) setEmergencyEvent:(NSNumber*) emergencyEvent { + if (emergencyEvent != nil) { + [parameters setObject:emergencyEvent forKey:NAMES_emergencyEvent]; + } else { + [parameters removeObjectForKey:NAMES_emergencyEvent]; + } +} + +-(NSNumber*) emergencyEvent { + return [parameters objectForKey:NAMES_emergencyEvent]; +} + +-(void) setClusterModeStatus:(NSNumber*) clusterModeStatus { + if (clusterModeStatus != nil) { + [parameters setObject:clusterModeStatus forKey:NAMES_clusterModeStatus]; + } else { + [parameters removeObjectForKey:NAMES_clusterModeStatus]; + } +} + +-(NSNumber*) clusterModeStatus { + return [parameters objectForKey:NAMES_clusterModeStatus]; +} + +-(void) setMyKey:(NSNumber*) myKey { + if (myKey != nil) { + [parameters setObject:myKey forKey:NAMES_myKey]; + } else { + [parameters removeObjectForKey:NAMES_myKey]; + } +} + +-(NSNumber*) myKey { + return [parameters objectForKey:NAMES_myKey]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleDataResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleDataResponse.h new file mode 100644 index 000000000..396befcf8 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleDataResponse.h @@ -0,0 +1,40 @@ +// SDLUnsubscribeVehicleDataResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +#import "SDLVehicleDataResult.h" + +@interface SDLUnsubscribeVehicleDataResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLVehicleDataResult* gps; +@property(strong) SDLVehicleDataResult* speed; +@property(strong) SDLVehicleDataResult* rpm; +@property(strong) SDLVehicleDataResult* fuelLevel; +@property(strong) SDLVehicleDataResult* fuelLevel_State; +@property(strong) SDLVehicleDataResult* instantFuelConsumption; +@property(strong) SDLVehicleDataResult* externalTemperature; +@property(strong) SDLVehicleDataResult* prndl; +@property(strong) SDLVehicleDataResult* tirePressure; +@property(strong) SDLVehicleDataResult* odometer; +@property(strong) SDLVehicleDataResult* beltStatus; +@property(strong) SDLVehicleDataResult* bodyInformation; +@property(strong) SDLVehicleDataResult* deviceStatus; +@property(strong) SDLVehicleDataResult* driverBraking; +@property(strong) SDLVehicleDataResult* wiperStatus; +@property(strong) SDLVehicleDataResult* headLampStatus; +@property(strong) SDLVehicleDataResult* engineTorque; +@property(strong) SDLVehicleDataResult* accPedalPosition; +@property(strong) SDLVehicleDataResult* steeringWheelAngle; +@property(strong) SDLVehicleDataResult* eCallInfo; +@property(strong) SDLVehicleDataResult* airbagStatus; +@property(strong) SDLVehicleDataResult* emergencyEvent; +@property(strong) SDLVehicleDataResult* clusterModes; +@property(strong) SDLVehicleDataResult* myKey; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleDataResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleDataResponse.m new file mode 100644 index 000000000..82bab7318 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleDataResponse.m @@ -0,0 +1,429 @@ +// SDLUnsubscribeVehicleDataResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLUnsubscribeVehicleDataResponse.h" + +#import "SDLNames.h" + +@implementation SDLUnsubscribeVehicleDataResponse + +-(id) init { + if (self = [super initWithName:NAMES_UnsubscribeVehicleData]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setGps:(SDLVehicleDataResult*) gps { + if (gps != nil) { + [parameters setObject:gps forKey:NAMES_gps]; + } else { + [parameters removeObjectForKey:NAMES_gps]; + } +} + +-(SDLVehicleDataResult*) gps { + NSObject* obj = [parameters objectForKey:NAMES_gps]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setSpeed:(SDLVehicleDataResult*) speed { + if (speed != nil) { + [parameters setObject:speed forKey:NAMES_speed]; + } else { + [parameters removeObjectForKey:NAMES_speed]; + } +} + +-(SDLVehicleDataResult*) speed { + NSObject* obj = [parameters objectForKey:NAMES_speed]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setRpm:(SDLVehicleDataResult*) rpm { + if (rpm != nil) { + [parameters setObject:rpm forKey:NAMES_rpm]; + } else { + [parameters removeObjectForKey:NAMES_rpm]; + } +} + +-(SDLVehicleDataResult*) rpm { + NSObject* obj = [parameters objectForKey:NAMES_rpm]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setFuelLevel:(SDLVehicleDataResult*) fuelLevel { + if (fuelLevel != nil) { + [parameters setObject:fuelLevel forKey:NAMES_fuelLevel]; + } else { + [parameters removeObjectForKey:NAMES_fuelLevel]; + } +} + +-(SDLVehicleDataResult*) fuelLevel { + NSObject* obj = [parameters objectForKey:NAMES_fuelLevel]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setFuelLevel_State:(SDLVehicleDataResult*) fuelLevel_State { + if (fuelLevel_State != nil) { + [parameters setObject:fuelLevel_State forKey:NAMES_fuelLevel_State]; + } else { + [parameters removeObjectForKey:NAMES_fuelLevel_State]; + } +} + +-(SDLVehicleDataResult*) fuelLevel_State { + NSObject* obj = [parameters objectForKey:NAMES_fuelLevel_State]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setInstantFuelConsumption:(SDLVehicleDataResult*) instantFuelConsumption { + if (instantFuelConsumption != nil) { + [parameters setObject:instantFuelConsumption forKey:NAMES_instantFuelConsumption]; + } else { + [parameters removeObjectForKey:NAMES_instantFuelConsumption]; + } +} + +-(SDLVehicleDataResult*) instantFuelConsumption { + NSObject* obj = [parameters objectForKey:NAMES_instantFuelConsumption]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setExternalTemperature:(SDLVehicleDataResult*) externalTemperature { + if (externalTemperature != nil) { + [parameters setObject:externalTemperature forKey:NAMES_externalTemperature]; + } else { + [parameters removeObjectForKey:NAMES_externalTemperature]; + } +} + +-(SDLVehicleDataResult*) externalTemperature { + NSObject* obj = [parameters objectForKey:NAMES_externalTemperature]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setPrndl:(SDLVehicleDataResult*) prndl { + if (prndl != nil) { + [parameters setObject:prndl forKey:NAMES_prndl]; + } else { + [parameters removeObjectForKey:NAMES_prndl]; + } +} + +-(SDLVehicleDataResult*) prndl { + NSObject* obj = [parameters objectForKey:NAMES_prndl]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setTirePressure:(SDLVehicleDataResult*) tirePressure { + if (tirePressure != nil) { + [parameters setObject:tirePressure forKey:NAMES_tirePressure]; + } else { + [parameters removeObjectForKey:NAMES_tirePressure]; + } +} + +-(SDLVehicleDataResult*) tirePressure { + NSObject* obj = [parameters objectForKey:NAMES_tirePressure]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setOdometer:(SDLVehicleDataResult*) odometer { + if (odometer != nil) { + [parameters setObject:odometer forKey:NAMES_odometer]; + } else { + [parameters removeObjectForKey:NAMES_odometer]; + } +} + +-(SDLVehicleDataResult*) odometer { + NSObject* obj = [parameters objectForKey:NAMES_odometer]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setBeltStatus:(SDLVehicleDataResult*) beltStatus { + if (beltStatus != nil) { + [parameters setObject:beltStatus forKey:NAMES_beltStatus]; + } else { + [parameters removeObjectForKey:NAMES_beltStatus]; + } +} + +-(SDLVehicleDataResult*) beltStatus { + NSObject* obj = [parameters objectForKey:NAMES_beltStatus]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setBodyInformation:(SDLVehicleDataResult*) bodyInformation { + if (bodyInformation != nil) { + [parameters setObject:bodyInformation forKey:NAMES_bodyInformation]; + } else { + [parameters removeObjectForKey:NAMES_bodyInformation]; + } +} + +-(SDLVehicleDataResult*) bodyInformation { + NSObject* obj = [parameters objectForKey:NAMES_bodyInformation]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setDeviceStatus:(SDLVehicleDataResult*) deviceStatus { + if (deviceStatus != nil) { + [parameters setObject:deviceStatus forKey:NAMES_deviceStatus]; + } else { + [parameters removeObjectForKey:NAMES_deviceStatus]; + } +} + +-(SDLVehicleDataResult*) deviceStatus { + NSObject* obj = [parameters objectForKey:NAMES_deviceStatus]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setDriverBraking:(SDLVehicleDataResult*) driverBraking { + if (driverBraking != nil) { + [parameters setObject:driverBraking forKey:NAMES_driverBraking]; + } else { + [parameters removeObjectForKey:NAMES_driverBraking]; + } +} + +-(SDLVehicleDataResult*) driverBraking { + NSObject* obj = [parameters objectForKey:NAMES_driverBraking]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setWiperStatus:(SDLVehicleDataResult*) wiperStatus { + if (wiperStatus != nil) { + [parameters setObject:wiperStatus forKey:NAMES_wiperStatus]; + } else { + [parameters removeObjectForKey:NAMES_wiperStatus]; + } +} + +-(SDLVehicleDataResult*) wiperStatus { + NSObject* obj = [parameters objectForKey:NAMES_wiperStatus]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setHeadLampStatus:(SDLVehicleDataResult*) headLampStatus { + if (headLampStatus != nil) { + [parameters setObject:headLampStatus forKey:NAMES_headLampStatus]; + } else { + [parameters removeObjectForKey:NAMES_headLampStatus]; + } +} + +-(SDLVehicleDataResult*) headLampStatus { + NSObject* obj = [parameters objectForKey:NAMES_headLampStatus]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setEngineTorque:(SDLVehicleDataResult*) engineTorque { + if (engineTorque != nil) { + [parameters setObject:engineTorque forKey:NAMES_engineTorque]; + } else { + [parameters removeObjectForKey:NAMES_engineTorque]; + } +} + +-(SDLVehicleDataResult*) engineTorque { + NSObject* obj = [parameters objectForKey:NAMES_engineTorque]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setAccPedalPosition:(SDLVehicleDataResult*) accPedalPosition { + if (accPedalPosition != nil) { + [parameters setObject:accPedalPosition forKey:NAMES_accPedalPosition]; + } else { + [parameters removeObjectForKey:NAMES_accPedalPosition]; + } +} + +-(SDLVehicleDataResult*) accPedalPosition { + NSObject* obj = [parameters objectForKey:NAMES_accPedalPosition]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setSteeringWheelAngle:(SDLVehicleDataResult*) steeringWheelAngle { + if (steeringWheelAngle != nil) { + [parameters setObject:steeringWheelAngle forKey:NAMES_steeringWheelAngle]; + } else { + [parameters removeObjectForKey:NAMES_steeringWheelAngle]; + } +} + +-(SDLVehicleDataResult*) steeringWheelAngle { + NSObject* obj = [parameters objectForKey:NAMES_steeringWheelAngle]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setECallInfo:(SDLVehicleDataResult*) eCallInfo { + if (eCallInfo != nil) { + [parameters setObject:eCallInfo forKey:NAMES_eCallInfo]; + } else { + [parameters removeObjectForKey:NAMES_eCallInfo]; + } +} + +-(SDLVehicleDataResult*) eCallInfo { + NSObject* obj = [parameters objectForKey:NAMES_eCallInfo]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setAirbagStatus:(SDLVehicleDataResult*) airbagStatus { + if (airbagStatus != nil) { + [parameters setObject:airbagStatus forKey:NAMES_airbagStatus]; + } else { + [parameters removeObjectForKey:NAMES_airbagStatus]; + } +} + +-(SDLVehicleDataResult*) airbagStatus { + NSObject* obj = [parameters objectForKey:NAMES_airbagStatus]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setEmergencyEvent:(SDLVehicleDataResult*) emergencyEvent { + if (emergencyEvent != nil) { + [parameters setObject:emergencyEvent forKey:NAMES_emergencyEvent]; + } else { + [parameters removeObjectForKey:NAMES_emergencyEvent]; + } +} + +-(SDLVehicleDataResult*) emergencyEvent { + NSObject* obj = [parameters objectForKey:NAMES_emergencyEvent]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setClusterModes:(SDLVehicleDataResult*) clusterModes { + if (clusterModes != nil) { + [parameters setObject:clusterModes forKey:NAMES_clusterModes]; + } else { + [parameters removeObjectForKey:NAMES_clusterModes]; + } +} + +-(SDLVehicleDataResult*) clusterModes { + NSObject* obj = [parameters objectForKey:NAMES_clusterModes]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setMyKey:(SDLVehicleDataResult*) myKey { + if (myKey != nil) { + [parameters setObject:myKey forKey:NAMES_myKey]; + } else { + [parameters removeObjectForKey:NAMES_myKey]; + } +} + +-(SDLVehicleDataResult*) myKey { + NSObject* obj = [parameters objectForKey:NAMES_myKey]; + if ([obj isKindOfClass:SDLVehicleDataResult.class]) { + return (SDLVehicleDataResult*)obj; + } else { + return [[SDLVehicleDataResult alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateMode.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateMode.h new file mode 100644 index 000000000..e25b0e4a0 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateMode.h @@ -0,0 +1,19 @@ +// SDLUpdateMode.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLUpdateMode : SDLEnum {} + ++(SDLUpdateMode*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLUpdateMode*) COUNTUP; ++(SDLUpdateMode*) COUNTDOWN; ++(SDLUpdateMode*) PAUSE; ++(SDLUpdateMode*) RESUME; ++(SDLUpdateMode*) CLEAR; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateMode.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateMode.m new file mode 100644 index 000000000..38bdd9f17 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateMode.m @@ -0,0 +1,74 @@ +// SDLUpdateMode.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLUpdateMode.h" + +SDLUpdateMode* SDLUpdateMode_COUNTUP = nil; +SDLUpdateMode* SDLUpdateMode_COUNTDOWN = nil; +SDLUpdateMode* SDLUpdateMode_PAUSE = nil; +SDLUpdateMode* SDLUpdateMode_RESUME = nil; +SDLUpdateMode* SDLUpdateMode_CLEAR = nil; + +NSMutableArray* SDLUpdateMode_values = nil; + +@implementation SDLUpdateMode + ++(SDLUpdateMode*) valueOf:(NSString*) value { + for (SDLUpdateMode* item in SDLUpdateMode.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLUpdateMode_values == nil) { + SDLUpdateMode_values = [[NSMutableArray alloc] initWithObjects: + SDLUpdateMode.COUNTUP, + SDLUpdateMode.COUNTDOWN, + SDLUpdateMode.PAUSE, + SDLUpdateMode.RESUME, + SDLUpdateMode.CLEAR, + nil]; + } + return SDLUpdateMode_values; +} + ++(SDLUpdateMode*) COUNTUP { + if (SDLUpdateMode_COUNTUP == nil) { + SDLUpdateMode_COUNTUP = [[SDLUpdateMode alloc] initWithValue:@"COUNTUP"]; + } + return SDLUpdateMode_COUNTUP; +} + ++(SDLUpdateMode*) COUNTDOWN { + if (SDLUpdateMode_COUNTDOWN == nil) { + SDLUpdateMode_COUNTDOWN = [[SDLUpdateMode alloc] initWithValue:@"COUNTDOWN"]; + } + return SDLUpdateMode_COUNTDOWN; +} + ++(SDLUpdateMode*) PAUSE { + if (SDLUpdateMode_PAUSE == nil) { + SDLUpdateMode_PAUSE = [[SDLUpdateMode alloc] initWithValue:@"PAUSE"]; + } + return SDLUpdateMode_PAUSE; +} + ++(SDLUpdateMode*) RESUME { + if (SDLUpdateMode_RESUME == nil) { + SDLUpdateMode_RESUME = [[SDLUpdateMode alloc] initWithValue:@"RESUME"]; + } + return SDLUpdateMode_RESUME; +} + ++(SDLUpdateMode*) CLEAR { + if (SDLUpdateMode_CLEAR == nil) { + SDLUpdateMode_CLEAR = [[SDLUpdateMode alloc] initWithValue:@"CLEAR"]; + } + return SDLUpdateMode_CLEAR; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnList.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnList.h new file mode 100644 index 000000000..ecbfbfd82 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnList.h @@ -0,0 +1,16 @@ +// SDLUpdateTurnList.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCRequest.h" + +@interface SDLUpdateTurnList : SDLRPCRequest {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSMutableArray* turnList; +@property(strong) NSMutableArray* softButtons; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnList.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnList.m new file mode 100644 index 000000000..671b61f45 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnList.m @@ -0,0 +1,65 @@ +// SDLUpdateTurnList.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLUpdateTurnList.h" + +#import "SDLNames.h" +#import "SDLTurn.h" +#import "SDLSoftButton.h" + +@implementation SDLUpdateTurnList + +-(id) init { + if (self = [super initWithName:NAMES_UpdateTurnList]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setTurnList:(NSMutableArray*) turnList { + if (turnList != nil) { + [parameters setObject:turnList forKey:NAMES_turnList]; + } else { + [parameters removeObjectForKey:NAMES_turnList]; + } +} + +-(NSMutableArray*) turnList { + NSMutableArray* array = [parameters objectForKey:NAMES_turnList]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLTurn.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSDictionary* dict in array) { + [newList addObject:[[SDLTurn alloc] initWithDictionary:(NSMutableDictionary*)dict]]; + } + return newList; + } +} + +-(void) setSoftButtons:(NSMutableArray*) softButtons { + if (softButtons != nil) { + [parameters setObject:softButtons forKey:NAMES_softButtons]; + } else { + [parameters removeObjectForKey:NAMES_softButtons]; + } +} + +-(NSMutableArray*) softButtons { + NSMutableArray* array = [parameters objectForKey:NAMES_softButtons]; + if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLSoftButton.class]) { + return array; + } else { + NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]]; + for (NSDictionary* dict in array) { + [newList addObject:[[SDLSoftButton alloc] initWithDictionary:(NSMutableDictionary*)dict]]; + } + return newList; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnListResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnListResponse.h new file mode 100644 index 000000000..b2abc4c87 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnListResponse.h @@ -0,0 +1,13 @@ +// SDLUpdateTurnListResponse.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCResponse.h" + +@interface SDLUpdateTurnListResponse : SDLRPCResponse {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnListResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnListResponse.m new file mode 100644 index 000000000..50749c1ff --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnListResponse.m @@ -0,0 +1,21 @@ +// SDLUpdateTurnListResponse.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLUpdateTurnListResponse.h" + +#import "SDLNames.h" + +@implementation SDLUpdateTurnListResponse + +-(id) init { + if (self = [super initWithName:NAMES_UpdateTurnList]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolHeader.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolHeader.h new file mode 100644 index 000000000..7fb50d757 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolHeader.h @@ -0,0 +1,15 @@ +// SDLSmartDeviceLinkV1ProtocolHeader.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLProtocolHeader.h" + +@interface SDLV1ProtocolHeader : SDLProtocolHeader + +- (id)init; +- (NSData *)data; +- (id)copyWithZone:(NSZone *)zone; +- (void)parse:(NSData *)data; +- (NSString *)description; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolHeader.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolHeader.m new file mode 100644 index 000000000..d68a3c403 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolHeader.m @@ -0,0 +1,78 @@ +// SDLSmartDeviceLinkV1ProtocolHeader.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLV1ProtocolHeader.h" + +const int V1PROTOCOL_HEADERSIZE = 8; + +@implementation SDLV1ProtocolHeader + +- (id)init { + if (self = [super init]) { + _version = 1; + _size = V1PROTOCOL_HEADERSIZE; + } + return self; +} + +- (NSData *)data { + // Assembles the properties in the binary header format + Byte headerBytes[V1PROTOCOL_HEADERSIZE] = {0}; + + Byte version = (self.version & 0xF) << 4; // first 4 bits + Byte compressed = self.compressed?1:0 << 3; // next 1 bit + Byte frameType = (self.frameType & 0x7); // last 3 bits + + headerBytes[0] = version | compressed | frameType; + headerBytes[1] = self.serviceType; + headerBytes[2] = self.frameData; + headerBytes[3] = self.sessionID; + + // Need to write the larger ints as big-endian. + UInt32 *p = (UInt32 *)&headerBytes[4]; + *p = CFSwapInt32HostToBig(self.bytesInPayload); // swap the byte order + + // Now put it all in an NSData object. + NSData *dataOut = [NSData dataWithBytes:headerBytes length:V1PROTOCOL_HEADERSIZE]; + + return dataOut; +} + +- (id)copyWithZone:(NSZone *)zone +{ + SDLV1ProtocolHeader *newHeader = [[SDLV1ProtocolHeader allocWithZone: zone] init]; + newHeader.compressed = self.compressed; + newHeader.frameType = self.frameType; + newHeader.serviceType = self.serviceType; + newHeader.frameData = self.frameData; + newHeader.compressed = self.compressed; + newHeader.sessionID = self.sessionID; + + return newHeader; +} + +- (void)parse:(NSData *)data { + NSAssert(data.length >= _size, @"Error: insufficient data available to parse V1 header."); + + Byte *bytePointer = (Byte *)data.bytes; + Byte firstByte = bytePointer[0]; + self.compressed = ((firstByte & 8) != 0); + self.frameType = (firstByte & 7); + self.serviceType = bytePointer[1]; + self.frameData = bytePointer[2]; + self.sessionID = bytePointer[3]; + + UInt32 *uintPointer = (UInt32 *)data.bytes; + self.bytesInPayload = CFSwapInt32BigToHost(uintPointer[1]); // Data is coming in in big-endian, so swap it. +} + +- (NSString *)description { + NSMutableString* description = [[NSMutableString alloc] init]; + [description appendFormat:@"Version:%i, compressed:%i, frameType:%i, serviceType:%i, frameData:%i, sessionID:%i, dataSize:%i", + self.version, self.compressed, self.frameType, self.serviceType, self.frameData, self.sessionID, (unsigned int)self.bytesInPayload]; + return description; +} + + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolMessage.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolMessage.h new file mode 100644 index 000000000..aef22ee64 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolMessage.h @@ -0,0 +1,12 @@ +// SDLSmartDeviceLinkV1ProtocolMessage.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLProtocolMessage.h" + +@interface SDLV1ProtocolMessage : SDLProtocolMessage + +- (id)initWithHeader:(SDLProtocolHeader*)header andPayload:(NSData *)payload; +- (NSDictionary *)rpcDictionary; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolMessage.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolMessage.m new file mode 100644 index 000000000..4982ccb2f --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolMessage.m @@ -0,0 +1,24 @@ +// SDLSmartDeviceLinkV1ProtocolMessage.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLV1ProtocolMessage.h" +#import "SDLJsonDecoder.h" + +@implementation SDLV1ProtocolMessage + +- (id)initWithHeader:(SDLProtocolHeader*)header andPayload:(NSData *)payload { + if (self = [self init]) { + self.header = header; + self.payload = payload; + } + return self; +} + +- (NSDictionary *)rpcDictionary { + NSDictionary* rpcMessageAsDictionary = [[SDLJsonDecoder instance] decode:self.payload]; + return rpcMessageAsDictionary; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolHeader.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolHeader.h new file mode 100644 index 000000000..9a5f3f200 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolHeader.h @@ -0,0 +1,17 @@ +// SDLSmartDeviceLinkV2ProtocolHeader.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLProtocolHeader.h" + +@interface SDLV2ProtocolHeader : SDLProtocolHeader + +@property (assign) UInt32 messageID; + +- (id)init; +- (id)copyWithZone:(NSZone *)zone; +- (NSData *)data; +- (void)parse:(NSData *)data; +- (NSString *)description; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolHeader.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolHeader.m new file mode 100644 index 000000000..0a0a102a1 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolHeader.m @@ -0,0 +1,104 @@ +// SDLSmartDeviceLinkV2ProtocolHeader.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLV2ProtocolHeader.h" + +const int V2PROTOCOL_HEADERSIZE = 12; + +@implementation SDLV2ProtocolHeader + +- (id)init { + if (self = [super init]) { + _version = 2; + _size = V2PROTOCOL_HEADERSIZE; + } + return self; +} + +- (NSData *)data { + // Assembles the properties in the binary header format + Byte headerBytes[V2PROTOCOL_HEADERSIZE] = {0}; + + Byte version = (self.version & 0xF) << 4; // first 4 bits + Byte compressed = self.compressed?1:0 << 3; // next 1 bit + Byte frameType = (self.frameType & 0x7); // last 3 bits + + headerBytes[0] = version | compressed | frameType; + headerBytes[1] = self.serviceType; + headerBytes[2] = self.frameData; + headerBytes[3] = self.sessionID; + + // Need to write these ints as big-endian. + UInt32 *p = (UInt32 *)&headerBytes[4]; + *p = CFSwapInt32HostToBig(self.bytesInPayload); + + p = (UInt32 *)&headerBytes[8]; + *p = CFSwapInt32HostToBig(self.messageID); + + // Now put it all in an NSData object. + NSData *dataOut = [NSData dataWithBytes:headerBytes length:V2PROTOCOL_HEADERSIZE]; + + return dataOut; +} + +- (id)copyWithZone:(NSZone *)zone +{ + SDLV2ProtocolHeader *newHeader = [[SDLV2ProtocolHeader allocWithZone: zone] init]; + newHeader.compressed = self.compressed; + newHeader.frameType = self.frameType; + newHeader.serviceType = self.serviceType; + newHeader.frameData = self.frameData; + newHeader.compressed = self.compressed; + newHeader.sessionID = self.sessionID; + newHeader.messageID = self.messageID; + + return newHeader; +} + +- (void)parse:(NSData *)data { + NSAssert(data.length >= _size, @"Error: insufficient data available to parse V2 header."); + + Byte *bytePointer = (Byte *)data.bytes; + Byte firstByte = bytePointer[0]; + self.compressed = ((firstByte & 8) != 0); + self.frameType = (firstByte & 7); + self.serviceType = bytePointer[1]; + self.frameData = bytePointer[2]; + self.sessionID = bytePointer[3]; + + UInt32 *uintPointer = (UInt32 *)data.bytes; + self.bytesInPayload = CFSwapInt32BigToHost(uintPointer[1]); // Data is coming in in big-endian, so swap it. + self.messageID = CFSwapInt32BigToHost(uintPointer[2]); // Data is coming in in big-endian, so swap it. +} + +- (NSString *)description { + + NSString *frameTypeString = nil; + if (self.frameType >= 0 && self.frameType <= 3) { + NSArray *frameTypeNames = @[@"Control", @"Single", @"First", @"Consecutive"]; + frameTypeString = frameTypeNames[self.frameType]; + } + + + NSString *frameDataString = nil; + if (self.frameType == SDLFrameType_Control) { + if (self.frameData >= 0 && self.frameData <=5) { + NSArray *controlFrameDataNames = @[@"Heartbeat", @"StartSession", @"StartSessionACK", @"StartSessionNACK", @"EndSession", @"EndSessionNACK"]; + frameDataString = controlFrameDataNames[self.frameData]; + } else { + frameDataString = @"Reserved"; + } + } else if (self.frameType == SDLFrameType_Single || self.frameType == SDLFrameType_First) { + frameDataString = @"Reserved"; + } else if (self.frameType == SDLFrameType_Consecutive) { + frameDataString = @"Frame#"; + } + + NSMutableString* description = [[NSMutableString alloc] init]; + [description appendFormat:@"Version:%i, compressed:%i, frameType:%@(%i), serviceType:%i, frameData:%@(%i), sessionID:%i, dataSize:%i, messageID:%i ", + self.version, self.compressed, frameTypeString, self.frameType, self.serviceType, frameDataString, self.frameData, self.sessionID, (unsigned int)self.bytesInPayload, (unsigned int)self.messageID]; + return description; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolMessage.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolMessage.h new file mode 100644 index 000000000..84a95a12c --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolMessage.h @@ -0,0 +1,12 @@ +// SDLSmartDeviceLinkV2ProtocolMessage.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLProtocolMessage.h" + +@interface SDLV2ProtocolMessage : SDLProtocolMessage + +- (id)initWithHeader:(SDLProtocolHeader*)header andPayload:(NSData *)payload; +- (NSDictionary *)rpcDictionary; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolMessage.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolMessage.m new file mode 100644 index 000000000..d4e310bbe --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolMessage.m @@ -0,0 +1,58 @@ +// SDLSmartDeviceLinkV2ProtocolMessage.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLV2ProtocolMessage.h" +#import "SDLRPCPayload.h" +#import "SDLJsonDecoder.h" +#import "SDLFunctionID.h" +#import "SDLNames.h" + + +@implementation SDLV2ProtocolMessage + +- (id)initWithHeader:(SDLProtocolHeader*)header andPayload:(NSData *)payload { + if (self = [self init]) { + self.header = header; + self.payload = payload; + } + return self; +} + +// Convert RPC payload to dictionary (for consumption by RPC layer) +- (NSDictionary *)rpcDictionary { + // Only applicable to RPCs + if (self.header.serviceType != SDLServiceType_RPC) { + return nil; + } + + + NSMutableDictionary* rpcMessageAsDictionary = [[NSMutableDictionary alloc] init]; + + // Parse the payload as RPC struct + SDLRPCPayload *rpcPayload = [SDLRPCPayload rpcPayloadWithData:self.payload]; + + // Get the json data from the struct + NSDictionary *jsonDictionary = [[SDLJsonDecoder instance] decode:rpcPayload.jsonData]; + + // Create the inner dictionary with the RPC properties + NSMutableDictionary *innerDictionary = [[NSMutableDictionary alloc] init]; + NSString *functionName = [[[SDLFunctionID alloc] init] getFunctionName:rpcPayload.functionID]; + [innerDictionary setObject:functionName forKey:NAMES_operation_name]; + [innerDictionary setObject:[NSNumber numberWithInt:rpcPayload.correlationID] forKey:NAMES_correlationID]; + [innerDictionary setObject:jsonDictionary forKey:NAMES_parameters]; + + // Store it in the containing dictionary + UInt8 rpcType = rpcPayload.rpcType; + NSArray *rpcTypeNames = @[NAMES_request, NAMES_response, NAMES_notification]; + [rpcMessageAsDictionary setObject:innerDictionary forKey:rpcTypeNames[rpcType]]; + + // The bulk data also goes in the dictionary + if (rpcPayload.binaryData) { + [rpcMessageAsDictionary setObject:rpcPayload.binaryData forKey:NAMES_bulkData]; + } + + return rpcMessageAsDictionary; + +} +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataActiveStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataActiveStatus.h new file mode 100644 index 000000000..a78178c0f --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataActiveStatus.h @@ -0,0 +1,19 @@ +// SDLVehicleDataActiveStatus.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLVehicleDataActiveStatus : SDLEnum {} + ++(SDLVehicleDataActiveStatus*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLVehicleDataActiveStatus*) INACTIVE_NOT_CONFIRMED; ++(SDLVehicleDataActiveStatus*) INACTIVE_CONFIRMED; ++(SDLVehicleDataActiveStatus*) ACTIVE_NOT_CONFIRMED; ++(SDLVehicleDataActiveStatus*) ACTIVE_CONFIRMED; ++(SDLVehicleDataActiveStatus*) FAULT; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataActiveStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataActiveStatus.m new file mode 100644 index 000000000..910c403ca --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataActiveStatus.m @@ -0,0 +1,74 @@ +// SDLVehicleDataActiveStatus.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLVehicleDataActiveStatus.h" + +SDLVehicleDataActiveStatus* SDLVehicleDataActiveStatus_INACTIVE_NOT_CONFIRMED = nil; +SDLVehicleDataActiveStatus* SDLVehicleDataActiveStatus_INACTIVE_CONFIRMED = nil; +SDLVehicleDataActiveStatus* SDLVehicleDataActiveStatus_ACTIVE_NOT_CONFIRMED = nil; +SDLVehicleDataActiveStatus* SDLVehicleDataActiveStatus_ACTIVE_CONFIRMED = nil; +SDLVehicleDataActiveStatus* SDLVehicleDataActiveStatus_FAULT = nil; + +NSMutableArray* SDLVehicleDataActiveStatus_values = nil; + +@implementation SDLVehicleDataActiveStatus + ++(SDLVehicleDataActiveStatus*) valueOf:(NSString*) value { + for (SDLVehicleDataActiveStatus* item in SDLVehicleDataActiveStatus.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLVehicleDataActiveStatus_values == nil) { + SDLVehicleDataActiveStatus_values = [[NSMutableArray alloc] initWithObjects: + SDLVehicleDataActiveStatus.INACTIVE_NOT_CONFIRMED, + SDLVehicleDataActiveStatus.INACTIVE_CONFIRMED, + SDLVehicleDataActiveStatus.ACTIVE_NOT_CONFIRMED, + SDLVehicleDataActiveStatus.ACTIVE_CONFIRMED, + SDLVehicleDataActiveStatus.FAULT, + nil]; + } + return SDLVehicleDataActiveStatus_values; +} + ++(SDLVehicleDataActiveStatus*) INACTIVE_NOT_CONFIRMED { + if (SDLVehicleDataActiveStatus_INACTIVE_NOT_CONFIRMED == nil) { + SDLVehicleDataActiveStatus_INACTIVE_NOT_CONFIRMED = [[SDLVehicleDataActiveStatus alloc] initWithValue:@"INACTIVE_NOT_CONFIRMED"]; + } + return SDLVehicleDataActiveStatus_INACTIVE_NOT_CONFIRMED; +} + ++(SDLVehicleDataActiveStatus*) INACTIVE_CONFIRMED { + if (SDLVehicleDataActiveStatus_INACTIVE_CONFIRMED == nil) { + SDLVehicleDataActiveStatus_INACTIVE_CONFIRMED = [[SDLVehicleDataActiveStatus alloc] initWithValue:@"INACTIVE_CONFIRMED"]; + } + return SDLVehicleDataActiveStatus_INACTIVE_CONFIRMED; +} + ++(SDLVehicleDataActiveStatus*) ACTIVE_NOT_CONFIRMED { + if (SDLVehicleDataActiveStatus_ACTIVE_NOT_CONFIRMED == nil) { + SDLVehicleDataActiveStatus_ACTIVE_NOT_CONFIRMED = [[SDLVehicleDataActiveStatus alloc] initWithValue:@"ACTIVE_NOT_CONFIRMED"]; + } + return SDLVehicleDataActiveStatus_ACTIVE_NOT_CONFIRMED; +} + ++(SDLVehicleDataActiveStatus*) ACTIVE_CONFIRMED { + if (SDLVehicleDataActiveStatus_ACTIVE_CONFIRMED == nil) { + SDLVehicleDataActiveStatus_ACTIVE_CONFIRMED = [[SDLVehicleDataActiveStatus alloc] initWithValue:@"ACTIVE_CONFIRMED"]; + } + return SDLVehicleDataActiveStatus_ACTIVE_CONFIRMED; +} + ++(SDLVehicleDataActiveStatus*) FAULT { + if (SDLVehicleDataActiveStatus_FAULT == nil) { + SDLVehicleDataActiveStatus_FAULT = [[SDLVehicleDataActiveStatus alloc] initWithValue:@"FAULT"]; + } + return SDLVehicleDataActiveStatus_FAULT; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataEventStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataEventStatus.h new file mode 100644 index 000000000..f596ec5bd --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataEventStatus.h @@ -0,0 +1,19 @@ +// SDLVehicleDataEventStatus.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLVehicleDataEventStatus : SDLEnum {} + ++(SDLVehicleDataEventStatus*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLVehicleDataEventStatus*) NO_EVENT; ++(SDLVehicleDataEventStatus*) _NO; ++(SDLVehicleDataEventStatus*) _YES; ++(SDLVehicleDataEventStatus*) NOT_SUPPORTED; ++(SDLVehicleDataEventStatus*) FAULT; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataEventStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataEventStatus.m new file mode 100644 index 000000000..4ddbbfb46 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataEventStatus.m @@ -0,0 +1,74 @@ +// SDLVehicleDataEventStatus.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLVehicleDataEventStatus.h" + +SDLVehicleDataEventStatus* SDLVehicleDataEventStatus_NO_EVENT = nil; +SDLVehicleDataEventStatus* SDLVehicleDataEventStatus_NO = nil; +SDLVehicleDataEventStatus* SDLVehicleDataEventStatus_YES = nil; +SDLVehicleDataEventStatus* SDLVehicleDataEventStatus_NOT_SUPPORTED = nil; +SDLVehicleDataEventStatus* SDLVehicleDataEventStatus_FAULT = nil; + +NSMutableArray* SDLVehicleDataEventStatus_values = nil; + +@implementation SDLVehicleDataEventStatus + ++(SDLVehicleDataEventStatus*) valueOf:(NSString*) value { + for (SDLVehicleDataEventStatus* item in SDLVehicleDataEventStatus.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLVehicleDataEventStatus_values == nil) { + SDLVehicleDataEventStatus_values = [[NSMutableArray alloc] initWithObjects: + SDLVehicleDataEventStatus.NO_EVENT, + SDLVehicleDataEventStatus._NO, + SDLVehicleDataEventStatus._YES, + SDLVehicleDataEventStatus.NOT_SUPPORTED, + SDLVehicleDataEventStatus.FAULT, + nil]; + } + return SDLVehicleDataEventStatus_values; +} + ++(SDLVehicleDataEventStatus*) NO_EVENT { + if (SDLVehicleDataEventStatus_NO_EVENT == nil) { + SDLVehicleDataEventStatus_NO_EVENT = [[SDLVehicleDataEventStatus alloc] initWithValue:@"NO_EVENT"]; + } + return SDLVehicleDataEventStatus_NO_EVENT; +} + ++(SDLVehicleDataEventStatus*) _NO { + if (SDLVehicleDataEventStatus_NO == nil) { + SDLVehicleDataEventStatus_NO = [[SDLVehicleDataEventStatus alloc] initWithValue:@"NO"]; + } + return SDLVehicleDataEventStatus_NO; +} + ++(SDLVehicleDataEventStatus*) _YES { + if (SDLVehicleDataEventStatus_YES == nil) { + SDLVehicleDataEventStatus_YES = [[SDLVehicleDataEventStatus alloc] initWithValue:@"YES"]; + } + return SDLVehicleDataEventStatus_YES; +} + ++(SDLVehicleDataEventStatus*) NOT_SUPPORTED { + if (SDLVehicleDataEventStatus_NOT_SUPPORTED == nil) { + SDLVehicleDataEventStatus_NOT_SUPPORTED = [[SDLVehicleDataEventStatus alloc] initWithValue:@"NOT_SUPPORTED"]; + } + return SDLVehicleDataEventStatus_NOT_SUPPORTED; +} + ++(SDLVehicleDataEventStatus*) FAULT { + if (SDLVehicleDataEventStatus_FAULT == nil) { + SDLVehicleDataEventStatus_FAULT = [[SDLVehicleDataEventStatus alloc] initWithValue:@"FAULT"]; + } + return SDLVehicleDataEventStatus_FAULT; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataNotificationStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataNotificationStatus.h new file mode 100644 index 000000000..a3e289a9b --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataNotificationStatus.h @@ -0,0 +1,18 @@ +// SDLVehicleDataNotificationStatus.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLVehicleDataNotificationStatus : SDLEnum {} + ++(SDLVehicleDataNotificationStatus*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLVehicleDataNotificationStatus*) NOT_SUPPORTED; ++(SDLVehicleDataNotificationStatus*) NORMAL; ++(SDLVehicleDataNotificationStatus*) ACTIVE; ++(SDLVehicleDataNotificationStatus*) NOT_USED; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataNotificationStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataNotificationStatus.m new file mode 100644 index 000000000..51b3b85d9 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataNotificationStatus.m @@ -0,0 +1,65 @@ +// SDLVehicleDataNotificationStatus.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLVehicleDataNotificationStatus.h" + +SDLVehicleDataNotificationStatus* SDLVehicleDataNotificationStatus_NOT_SUPPORTED = nil; +SDLVehicleDataNotificationStatus* SDLVehicleDataNotificationStatus_NORMAL = nil; +SDLVehicleDataNotificationStatus* SDLVehicleDataNotificationStatus_ACTIVE = nil; +SDLVehicleDataNotificationStatus* SDLVehicleDataNotificationStatus_NOT_USED = nil; + +NSMutableArray* SDLVehicleDataNotificationStatus_values = nil; + +@implementation SDLVehicleDataNotificationStatus + ++(SDLVehicleDataNotificationStatus*) valueOf:(NSString*) value { + for (SDLVehicleDataNotificationStatus* item in SDLVehicleDataNotificationStatus.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLVehicleDataNotificationStatus_values == nil) { + SDLVehicleDataNotificationStatus_values = [[NSMutableArray alloc] initWithObjects: + SDLVehicleDataNotificationStatus.NOT_SUPPORTED, + SDLVehicleDataNotificationStatus.NORMAL, + SDLVehicleDataNotificationStatus.ACTIVE, + SDLVehicleDataNotificationStatus.NOT_USED, + nil]; + } + return SDLVehicleDataNotificationStatus_values; +} + ++(SDLVehicleDataNotificationStatus*) NOT_SUPPORTED { + if (SDLVehicleDataNotificationStatus_NOT_SUPPORTED == nil) { + SDLVehicleDataNotificationStatus_NOT_SUPPORTED = [[SDLVehicleDataNotificationStatus alloc] initWithValue:@"NOT_SUPPORTED"]; + } + return SDLVehicleDataNotificationStatus_NOT_SUPPORTED; +} + ++(SDLVehicleDataNotificationStatus*) NORMAL { + if (SDLVehicleDataNotificationStatus_NORMAL == nil) { + SDLVehicleDataNotificationStatus_NORMAL = [[SDLVehicleDataNotificationStatus alloc] initWithValue:@"NORMAL"]; + } + return SDLVehicleDataNotificationStatus_NORMAL; +} + ++(SDLVehicleDataNotificationStatus*) ACTIVE { + if (SDLVehicleDataNotificationStatus_ACTIVE == nil) { + SDLVehicleDataNotificationStatus_ACTIVE = [[SDLVehicleDataNotificationStatus alloc] initWithValue:@"ACTIVE"]; + } + return SDLVehicleDataNotificationStatus_ACTIVE; +} + ++(SDLVehicleDataNotificationStatus*) NOT_USED { + if (SDLVehicleDataNotificationStatus_NOT_USED == nil) { + SDLVehicleDataNotificationStatus_NOT_USED = [[SDLVehicleDataNotificationStatus alloc] initWithValue:@"NOT_USED"]; + } + return SDLVehicleDataNotificationStatus_NOT_USED; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResult.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResult.h new file mode 100644 index 000000000..eb013ebd6 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResult.h @@ -0,0 +1,19 @@ +// SDLVehicleDataResult.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +#import "SDLVehicleDataType.h" +#import "SDLVehicleDataResultCode.h" + +@interface SDLVehicleDataResult : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) SDLVehicleDataType* dataType; +@property(strong) SDLVehicleDataResultCode* resultCode; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResult.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResult.m new file mode 100644 index 000000000..12a02219c --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResult.m @@ -0,0 +1,55 @@ +// SDLVehicleDataResult.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLVehicleDataResult.h" + +#import "SDLNames.h" + +@implementation SDLVehicleDataResult + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setDataType:(SDLVehicleDataType*) dataType { + if (dataType != nil) { + [store setObject:dataType forKey:NAMES_dataType]; + } else { + [store removeObjectForKey:NAMES_dataType]; + } +} + +-(SDLVehicleDataType*) dataType { + NSObject* obj = [store objectForKey:NAMES_dataType]; + if ([obj isKindOfClass:SDLVehicleDataType.class]) { + return (SDLVehicleDataType*)obj; + } else { + return [SDLVehicleDataType valueOf:(NSString*)obj]; + } +} + +-(void) setResultCode:(SDLVehicleDataResultCode*) resultCode { + if (resultCode != nil) { + [store setObject:resultCode forKey:NAMES_resultCode]; + } else { + [store removeObjectForKey:NAMES_resultCode]; + } +} + +-(SDLVehicleDataResultCode*) resultCode { + NSObject* obj = [store objectForKey:NAMES_resultCode]; + if ([obj isKindOfClass:SDLVehicleDataResultCode.class]) { + return (SDLVehicleDataResultCode*)obj; + } else { + return [SDLVehicleDataResultCode valueOf:(NSString*)obj]; + } +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResultCode.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResultCode.h new file mode 100644 index 000000000..4af9ef12f --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResultCode.h @@ -0,0 +1,23 @@ +// SDLVehicleDataResultCode.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLVehicleDataResultCode : SDLEnum {} + ++(SDLVehicleDataResultCode*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLVehicleDataResultCode*) SUCCESS; ++(SDLVehicleDataResultCode*) TRUNCATED_DATA; ++(SDLVehicleDataResultCode*) DISALLOWED; ++(SDLVehicleDataResultCode*) USER_DISALLOWED; ++(SDLVehicleDataResultCode*) INVALID_ID; ++(SDLVehicleDataResultCode*) VEHICLE_DATA_NOT_AVAILABLE; ++(SDLVehicleDataResultCode*) DATA_ALREADY_SUBSCRIBED; ++(SDLVehicleDataResultCode*) DATA_NOT_SUBSCRIBED; ++(SDLVehicleDataResultCode*) IGNORED; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResultCode.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResultCode.m new file mode 100644 index 000000000..7dadb2057 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResultCode.m @@ -0,0 +1,110 @@ +// SDLVehicleDataResultCode.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLVehicleDataResultCode.h" + +SDLVehicleDataResultCode* SDLVehicleDataResultCode_SUCCESS = nil; +SDLVehicleDataResultCode* SDLVehicleDataResultCode_TRUNCATED_DATA = nil; +SDLVehicleDataResultCode* SDLVehicleDataResultCode_DISALLOWED = nil; +SDLVehicleDataResultCode* SDLVehicleDataResultCode_USER_DISALLOWED = nil; +SDLVehicleDataResultCode* SDLVehicleDataResultCode_INVALID_ID = nil; +SDLVehicleDataResultCode* SDLVehicleDataResultCode_VEHICLE_DATA_NOT_AVAILABLE = nil; +SDLVehicleDataResultCode* SDLVehicleDataResultCode_DATA_ALREADY_SUBSCRIBED = nil; +SDLVehicleDataResultCode* SDLVehicleDataResultCode_DATA_NOT_SUBSCRIBED = nil; +SDLVehicleDataResultCode* SDLVehicleDataResultCode_IGNORED = nil; + +NSMutableArray* SDLVehicleDataResultCode_values = nil; + +@implementation SDLVehicleDataResultCode + ++(SDLVehicleDataResultCode*) valueOf:(NSString*) value { + for (SDLVehicleDataResultCode* item in SDLVehicleDataResultCode.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLVehicleDataResultCode_values == nil) { + SDLVehicleDataResultCode_values = [[NSMutableArray alloc] initWithObjects: + SDLVehicleDataResultCode.SUCCESS, + SDLVehicleDataResultCode.TRUNCATED_DATA, + SDLVehicleDataResultCode.DISALLOWED, + SDLVehicleDataResultCode.USER_DISALLOWED, + SDLVehicleDataResultCode.INVALID_ID, + SDLVehicleDataResultCode.VEHICLE_DATA_NOT_AVAILABLE, + SDLVehicleDataResultCode.DATA_ALREADY_SUBSCRIBED, + SDLVehicleDataResultCode.DATA_NOT_SUBSCRIBED, + SDLVehicleDataResultCode.IGNORED, + nil]; + } + return SDLVehicleDataResultCode_values; +} + ++(SDLVehicleDataResultCode*) SUCCESS { + if (SDLVehicleDataResultCode_SUCCESS == nil) { + SDLVehicleDataResultCode_SUCCESS = [[SDLVehicleDataResultCode alloc] initWithValue:@"SUCCESS"]; + } + return SDLVehicleDataResultCode_SUCCESS; +} + ++(SDLVehicleDataResultCode*) TRUNCATED_DATA { + if (SDLVehicleDataResultCode_TRUNCATED_DATA == nil) { + SDLVehicleDataResultCode_TRUNCATED_DATA = [[SDLVehicleDataResultCode alloc] initWithValue:@"TRUNCATED_DATA"]; + } + return SDLVehicleDataResultCode_TRUNCATED_DATA; +} + ++(SDLVehicleDataResultCode*) DISALLOWED { + if (SDLVehicleDataResultCode_DISALLOWED == nil) { + SDLVehicleDataResultCode_DISALLOWED = [[SDLVehicleDataResultCode alloc] initWithValue:@"DISALLOWED"]; + } + return SDLVehicleDataResultCode_DISALLOWED; +} + ++(SDLVehicleDataResultCode*) USER_DISALLOWED { + if (SDLVehicleDataResultCode_USER_DISALLOWED == nil) { + SDLVehicleDataResultCode_USER_DISALLOWED = [[SDLVehicleDataResultCode alloc] initWithValue:@"USER_DISALLOWED"]; + } + return SDLVehicleDataResultCode_USER_DISALLOWED; +} + ++(SDLVehicleDataResultCode*) INVALID_ID { + if (SDLVehicleDataResultCode_INVALID_ID == nil) { + SDLVehicleDataResultCode_INVALID_ID = [[SDLVehicleDataResultCode alloc] initWithValue:@"INVALID_ID"]; + } + return SDLVehicleDataResultCode_INVALID_ID; +} + ++(SDLVehicleDataResultCode*) VEHICLE_DATA_NOT_AVAILABLE { + if (SDLVehicleDataResultCode_VEHICLE_DATA_NOT_AVAILABLE == nil) { + SDLVehicleDataResultCode_VEHICLE_DATA_NOT_AVAILABLE = [[SDLVehicleDataResultCode alloc] initWithValue:@"VEHICLE_DATA_NOT_AVAILABLE"]; + } + return SDLVehicleDataResultCode_VEHICLE_DATA_NOT_AVAILABLE; +} + ++(SDLVehicleDataResultCode*) DATA_ALREADY_SUBSCRIBED { + if (SDLVehicleDataResultCode_DATA_ALREADY_SUBSCRIBED == nil) { + SDLVehicleDataResultCode_DATA_ALREADY_SUBSCRIBED = [[SDLVehicleDataResultCode alloc] initWithValue:@"DATA_ALREADY_SUBSCRIBED"]; + } + return SDLVehicleDataResultCode_DATA_ALREADY_SUBSCRIBED; +} + ++(SDLVehicleDataResultCode*) DATA_NOT_SUBSCRIBED { + if (SDLVehicleDataResultCode_DATA_NOT_SUBSCRIBED == nil) { + SDLVehicleDataResultCode_DATA_NOT_SUBSCRIBED = [[SDLVehicleDataResultCode alloc] initWithValue:@"DATA_NOT_SUBSCRIBED"]; + } + return SDLVehicleDataResultCode_DATA_NOT_SUBSCRIBED; +} + ++(SDLVehicleDataResultCode*) IGNORED { + if (SDLVehicleDataResultCode_IGNORED == nil) { + SDLVehicleDataResultCode_IGNORED = [[SDLVehicleDataResultCode alloc] initWithValue:@"IGNORED"]; + } + return SDLVehicleDataResultCode_IGNORED; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataStatus.h new file mode 100644 index 000000000..421402ae1 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataStatus.h @@ -0,0 +1,17 @@ +// SDLVehicleDataStatus.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLVehicleDataStatus : SDLEnum {} + ++(SDLVehicleDataStatus*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLVehicleDataStatus*) NO_DATA_EXISTS; ++(SDLVehicleDataStatus*) OFF; ++(SDLVehicleDataStatus*) ON; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataStatus.m new file mode 100644 index 000000000..5b7bec930 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataStatus.m @@ -0,0 +1,56 @@ +// SDLVehicleDataStatus.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLVehicleDataStatus.h" + +SDLVehicleDataStatus* SDLVehicleDataStatus_NO_DATA_EXISTS = nil; +SDLVehicleDataStatus* SDLVehicleDataStatus_OFF = nil; +SDLVehicleDataStatus* SDLVehicleDataStatus_ON = nil; + +NSMutableArray* SDLVehicleDataStatus_values = nil; + +@implementation SDLVehicleDataStatus + ++(SDLVehicleDataStatus*) valueOf:(NSString*) value { + for (SDLVehicleDataStatus* item in SDLVehicleDataStatus.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLVehicleDataStatus_values == nil) { + SDLVehicleDataStatus_values = [[NSMutableArray alloc] initWithObjects: + SDLVehicleDataStatus.NO_DATA_EXISTS, + SDLVehicleDataStatus.OFF, + SDLVehicleDataStatus.ON, + nil]; + } + return SDLVehicleDataStatus_values; +} + ++(SDLVehicleDataStatus*) NO_DATA_EXISTS { + if (SDLVehicleDataStatus_NO_DATA_EXISTS == nil) { + SDLVehicleDataStatus_NO_DATA_EXISTS = [[SDLVehicleDataStatus alloc] initWithValue:@"NO_DATA_EXISTS"]; + } + return SDLVehicleDataStatus_NO_DATA_EXISTS; +} + ++(SDLVehicleDataStatus*) OFF { + if (SDLVehicleDataStatus_OFF == nil) { + SDLVehicleDataStatus_OFF = [[SDLVehicleDataStatus alloc] initWithValue:@"OFF"]; + } + return SDLVehicleDataStatus_OFF; +} + ++(SDLVehicleDataStatus*) ON { + if (SDLVehicleDataStatus_ON == nil) { + SDLVehicleDataStatus_ON = [[SDLVehicleDataStatus alloc] initWithValue:@"ON"]; + } + return SDLVehicleDataStatus_ON; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataType.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataType.h new file mode 100644 index 000000000..44246543b --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataType.h @@ -0,0 +1,40 @@ +// SDLVehicleDataType.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLVehicleDataType : SDLEnum {} + ++(SDLVehicleDataType*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLVehicleDataType*) VEHICLEDATA_GPS; ++(SDLVehicleDataType*) VEHICLEDATA_SPEED; ++(SDLVehicleDataType*) VEHICLEDATA_RPM; ++(SDLVehicleDataType*) VEHICLEDATA_FUELLEVEL; ++(SDLVehicleDataType*) VEHICLEDATA_FUELLEVEL_STATE; ++(SDLVehicleDataType*) VEHICLEDATA_FUELCONSUMPTION; ++(SDLVehicleDataType*) VEHICLEDATA_EXTERNTEMP; ++(SDLVehicleDataType*) VEHICLEDATA_VIN; ++(SDLVehicleDataType*) VEHICLEDATA_PRNDL; ++(SDLVehicleDataType*) VEHICLEDATA_TIREPRESSURE; ++(SDLVehicleDataType*) VEHICLEDATA_ODOMETER; ++(SDLVehicleDataType*) VEHICLEDATA_BELTSTATUS; ++(SDLVehicleDataType*) VEHICLEDATA_BODYINFO; ++(SDLVehicleDataType*) VEHICLEDATA_DEVICESTATUS; ++(SDLVehicleDataType*) VEHICLEDATA_ECALLINFO; ++(SDLVehicleDataType*) VEHICLEDATA_AIRBAGSTATUS; ++(SDLVehicleDataType*) VEHICLEDATA_EMERGENCYEVENT; ++(SDLVehicleDataType*) VEHICLEDATA_CLUSTERMODESTATUS; ++(SDLVehicleDataType*) VEHICLEDATA_MYKEY; ++(SDLVehicleDataType*) VEHICLEDATA_BRAKING; ++(SDLVehicleDataType*) VEHICLEDATA_WIPERSTATUS; ++(SDLVehicleDataType*) VEHICLEDATA_HEADLAMPSTATUS; ++(SDLVehicleDataType*) VEHICLEDATA_BATTVOLTAGE; ++(SDLVehicleDataType*) VEHICLEDATA_ENGINETORQUE; ++(SDLVehicleDataType*) VEHICLEDATA_ACCPEDAL; ++(SDLVehicleDataType*) VEHICLEDATA_STEERINGWHEEL; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataType.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataType.m new file mode 100644 index 000000000..24120d41e --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataType.m @@ -0,0 +1,263 @@ +// SDLVehicleDataType.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLVehicleDataType.h" + +SDLVehicleDataType* SDLVehicleDataType_VEHICLEDATA_GPS = nil; +SDLVehicleDataType* SDLVehicleDataType_VEHICLEDATA_SPEED = nil; +SDLVehicleDataType* SDLVehicleDataType_VEHICLEDATA_RPM = nil; +SDLVehicleDataType* SDLVehicleDataType_VEHICLEDATA_FUELLEVEL = nil; +SDLVehicleDataType* SDLVehicleDataType_VEHICLEDATA_FUELLEVEL_STATE = nil; +SDLVehicleDataType* SDLVehicleDataType_VEHICLEDATA_FUELCONSUMPTION = nil; +SDLVehicleDataType* SDLVehicleDataType_VEHICLEDATA_EXTERNTEMP = nil; +SDLVehicleDataType* SDLVehicleDataType_VEHICLEDATA_VIN = nil; +SDLVehicleDataType* SDLVehicleDataType_VEHICLEDATA_PRNDL = nil; +SDLVehicleDataType* SDLVehicleDataType_VEHICLEDATA_TIREPRESSURE = nil; +SDLVehicleDataType* SDLVehicleDataType_VEHICLEDATA_ODOMETER = nil; +SDLVehicleDataType* SDLVehicleDataType_VEHICLEDATA_BELTSTATUS = nil; +SDLVehicleDataType* SDLVehicleDataType_VEHICLEDATA_BODYINFO = nil; +SDLVehicleDataType* SDLVehicleDataType_VEHICLEDATA_DEVICESTATUS = nil; +SDLVehicleDataType* SDLVehicleDataType_VEHICLEDATA_ECALLINFO = nil; +SDLVehicleDataType* SDLVehicleDataType_VEHICLEDATA_AIRBAGSTATUS = nil; +SDLVehicleDataType* SDLVehicleDataType_VEHICLEDATA_EMERGENCYEVENT = nil; +SDLVehicleDataType* SDLVehicleDataType_VEHICLEDATA_CLUSTERMODESTATUS = nil; +SDLVehicleDataType* SDLVehicleDataType_VEHICLEDATA_MYKEY = nil; +SDLVehicleDataType* SDLVehicleDataType_VEHICLEDATA_BRAKING = nil; +SDLVehicleDataType* SDLVehicleDataType_VEHICLEDATA_WIPERSTATUS = nil; +SDLVehicleDataType* SDLVehicleDataType_VEHICLEDATA_HEADLAMPSTATUS = nil; +SDLVehicleDataType* SDLVehicleDataType_VEHICLEDATA_BATTVOLTAGE = nil; +SDLVehicleDataType* SDLVehicleDataType_VEHICLEDATA_ENGINETORQUE = nil; +SDLVehicleDataType* SDLVehicleDataType_VEHICLEDATA_ACCPEDAL = nil; +SDLVehicleDataType* SDLVehicleDataType_VEHICLEDATA_STEERINGWHEEL = nil; + +NSMutableArray* SDLVehicleDataType_values = nil; + +@implementation SDLVehicleDataType + ++(SDLVehicleDataType*) valueOf:(NSString*) value { + for (SDLVehicleDataType* item in SDLVehicleDataType.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLVehicleDataType_values == nil) { + SDLVehicleDataType_values = [[NSMutableArray alloc] initWithObjects: + SDLVehicleDataType.VEHICLEDATA_GPS, + SDLVehicleDataType.VEHICLEDATA_SPEED, + SDLVehicleDataType.VEHICLEDATA_RPM, + SDLVehicleDataType.VEHICLEDATA_FUELLEVEL, + SDLVehicleDataType.VEHICLEDATA_FUELLEVEL_STATE, + SDLVehicleDataType.VEHICLEDATA_FUELCONSUMPTION, + SDLVehicleDataType.VEHICLEDATA_EXTERNTEMP, + SDLVehicleDataType.VEHICLEDATA_VIN, + SDLVehicleDataType.VEHICLEDATA_PRNDL, + SDLVehicleDataType.VEHICLEDATA_TIREPRESSURE, + SDLVehicleDataType.VEHICLEDATA_ODOMETER, + SDLVehicleDataType.VEHICLEDATA_BELTSTATUS, + SDLVehicleDataType.VEHICLEDATA_BODYINFO, + SDLVehicleDataType.VEHICLEDATA_DEVICESTATUS, + SDLVehicleDataType.VEHICLEDATA_ECALLINFO, + SDLVehicleDataType.VEHICLEDATA_AIRBAGSTATUS, + SDLVehicleDataType.VEHICLEDATA_EMERGENCYEVENT, + SDLVehicleDataType.VEHICLEDATA_CLUSTERMODESTATUS, + SDLVehicleDataType.VEHICLEDATA_MYKEY, + SDLVehicleDataType.VEHICLEDATA_BRAKING, + SDLVehicleDataType.VEHICLEDATA_WIPERSTATUS, + SDLVehicleDataType.VEHICLEDATA_HEADLAMPSTATUS, + SDLVehicleDataType.VEHICLEDATA_BATTVOLTAGE, + SDLVehicleDataType.VEHICLEDATA_ENGINETORQUE, + SDLVehicleDataType.VEHICLEDATA_ACCPEDAL, + SDLVehicleDataType.VEHICLEDATA_STEERINGWHEEL, + nil]; + } + return SDLVehicleDataType_values; +} + ++(SDLVehicleDataType*) VEHICLEDATA_GPS { + if (SDLVehicleDataType_VEHICLEDATA_GPS == nil) { + SDLVehicleDataType_VEHICLEDATA_GPS = [[SDLVehicleDataType alloc] initWithValue:@"VEHICLEDATA_GPS"]; + } + return SDLVehicleDataType_VEHICLEDATA_GPS; +} + ++(SDLVehicleDataType*) VEHICLEDATA_SPEED { + if (SDLVehicleDataType_VEHICLEDATA_SPEED == nil) { + SDLVehicleDataType_VEHICLEDATA_SPEED = [[SDLVehicleDataType alloc] initWithValue:@"VEHICLEDATA_SPEED"]; + } + return SDLVehicleDataType_VEHICLEDATA_SPEED; +} + ++(SDLVehicleDataType*) VEHICLEDATA_RPM { + if (SDLVehicleDataType_VEHICLEDATA_RPM == nil) { + SDLVehicleDataType_VEHICLEDATA_RPM = [[SDLVehicleDataType alloc] initWithValue:@"VEHICLEDATA_RPM"]; + } + return SDLVehicleDataType_VEHICLEDATA_RPM; +} + ++(SDLVehicleDataType*) VEHICLEDATA_FUELLEVEL { + if (SDLVehicleDataType_VEHICLEDATA_FUELLEVEL == nil) { + SDLVehicleDataType_VEHICLEDATA_FUELLEVEL = [[SDLVehicleDataType alloc] initWithValue:@"VEHICLEDATA_FUELLEVEL"]; + } + return SDLVehicleDataType_VEHICLEDATA_FUELLEVEL; +} + ++(SDLVehicleDataType*) VEHICLEDATA_FUELLEVEL_STATE { + if (SDLVehicleDataType_VEHICLEDATA_FUELLEVEL_STATE == nil) { + SDLVehicleDataType_VEHICLEDATA_FUELLEVEL_STATE = [[SDLVehicleDataType alloc] initWithValue:@"VEHICLEDATA_FUELLEVEL_STATE"]; + } + return SDLVehicleDataType_VEHICLEDATA_FUELLEVEL_STATE; +} + ++(SDLVehicleDataType*) VEHICLEDATA_FUELCONSUMPTION { + if (SDLVehicleDataType_VEHICLEDATA_FUELCONSUMPTION == nil) { + SDLVehicleDataType_VEHICLEDATA_FUELCONSUMPTION = [[SDLVehicleDataType alloc] initWithValue:@"VEHICLEDATA_FUELCONSUMPTION"]; + } + return SDLVehicleDataType_VEHICLEDATA_FUELCONSUMPTION; +} + ++(SDLVehicleDataType*) VEHICLEDATA_EXTERNTEMP { + if (SDLVehicleDataType_VEHICLEDATA_EXTERNTEMP == nil) { + SDLVehicleDataType_VEHICLEDATA_EXTERNTEMP = [[SDLVehicleDataType alloc] initWithValue:@"VEHICLEDATA_EXTERNTEMP"]; + } + return SDLVehicleDataType_VEHICLEDATA_EXTERNTEMP; +} + ++(SDLVehicleDataType*) VEHICLEDATA_VIN { + if (SDLVehicleDataType_VEHICLEDATA_VIN == nil) { + SDLVehicleDataType_VEHICLEDATA_VIN = [[SDLVehicleDataType alloc] initWithValue:@"VEHICLEDATA_VIN"]; + } + return SDLVehicleDataType_VEHICLEDATA_VIN; +} + ++(SDLVehicleDataType*) VEHICLEDATA_PRNDL { + if (SDLVehicleDataType_VEHICLEDATA_PRNDL == nil) { + SDLVehicleDataType_VEHICLEDATA_PRNDL = [[SDLVehicleDataType alloc] initWithValue:@"VEHICLEDATA_PRNDL"]; + } + return SDLVehicleDataType_VEHICLEDATA_PRNDL; +} + ++(SDLVehicleDataType*) VEHICLEDATA_TIREPRESSURE { + if (SDLVehicleDataType_VEHICLEDATA_TIREPRESSURE == nil) { + SDLVehicleDataType_VEHICLEDATA_TIREPRESSURE = [[SDLVehicleDataType alloc] initWithValue:@"VEHICLEDATA_TIREPRESSURE"]; + } + return SDLVehicleDataType_VEHICLEDATA_TIREPRESSURE; +} + ++(SDLVehicleDataType*) VEHICLEDATA_ODOMETER { + if (SDLVehicleDataType_VEHICLEDATA_ODOMETER == nil) { + SDLVehicleDataType_VEHICLEDATA_ODOMETER = [[SDLVehicleDataType alloc] initWithValue:@"VEHICLEDATA_ODOMETER"]; + } + return SDLVehicleDataType_VEHICLEDATA_ODOMETER; +} + ++(SDLVehicleDataType*) VEHICLEDATA_BELTSTATUS { + if (SDLVehicleDataType_VEHICLEDATA_BELTSTATUS == nil) { + SDLVehicleDataType_VEHICLEDATA_BELTSTATUS = [[SDLVehicleDataType alloc] initWithValue:@"VEHICLEDATA_BELTSTATUS"]; + } + return SDLVehicleDataType_VEHICLEDATA_BELTSTATUS; +} + ++(SDLVehicleDataType*) VEHICLEDATA_BODYINFO { + if (SDLVehicleDataType_VEHICLEDATA_BODYINFO == nil) { + SDLVehicleDataType_VEHICLEDATA_BODYINFO = [[SDLVehicleDataType alloc] initWithValue:@"VEHICLEDATA_BODYINFO"]; + } + return SDLVehicleDataType_VEHICLEDATA_BODYINFO; +} + ++(SDLVehicleDataType*) VEHICLEDATA_DEVICESTATUS { + if (SDLVehicleDataType_VEHICLEDATA_DEVICESTATUS == nil) { + SDLVehicleDataType_VEHICLEDATA_DEVICESTATUS = [[SDLVehicleDataType alloc] initWithValue:@"VEHICLEDATA_DEVICESTATUS"]; + } + return SDLVehicleDataType_VEHICLEDATA_DEVICESTATUS; +} + ++(SDLVehicleDataType*) VEHICLEDATA_ECALLINFO { + if (SDLVehicleDataType_VEHICLEDATA_ECALLINFO == nil) { + SDLVehicleDataType_VEHICLEDATA_ECALLINFO = [[SDLVehicleDataType alloc] initWithValue:@"VEHICLEDATA_ECALLINFO"]; + } + return SDLVehicleDataType_VEHICLEDATA_ECALLINFO; +} + ++(SDLVehicleDataType*) VEHICLEDATA_AIRBAGSTATUS { + if (SDLVehicleDataType_VEHICLEDATA_AIRBAGSTATUS == nil) { + SDLVehicleDataType_VEHICLEDATA_AIRBAGSTATUS = [[SDLVehicleDataType alloc] initWithValue:@"VEHICLEDATA_AIRBAGSTATUS"]; + } + return SDLVehicleDataType_VEHICLEDATA_AIRBAGSTATUS; +} + ++(SDLVehicleDataType*) VEHICLEDATA_EMERGENCYEVENT { + if (SDLVehicleDataType_VEHICLEDATA_EMERGENCYEVENT == nil) { + SDLVehicleDataType_VEHICLEDATA_EMERGENCYEVENT = [[SDLVehicleDataType alloc] initWithValue:@"VEHICLEDATA_EMERGENCYEVENT"]; + } + return SDLVehicleDataType_VEHICLEDATA_EMERGENCYEVENT; +} + ++(SDLVehicleDataType*) VEHICLEDATA_CLUSTERMODESTATUS { + if (SDLVehicleDataType_VEHICLEDATA_CLUSTERMODESTATUS == nil) { + SDLVehicleDataType_VEHICLEDATA_CLUSTERMODESTATUS = [[SDLVehicleDataType alloc] initWithValue:@"VEHICLEDATA_CLUSTERMODESTATUS"]; + } + return SDLVehicleDataType_VEHICLEDATA_CLUSTERMODESTATUS; +} + ++(SDLVehicleDataType*) VEHICLEDATA_MYKEY { + if (SDLVehicleDataType_VEHICLEDATA_MYKEY == nil) { + SDLVehicleDataType_VEHICLEDATA_MYKEY = [[SDLVehicleDataType alloc] initWithValue:@"VEHICLEDATA_MYKEY"]; + } + return SDLVehicleDataType_VEHICLEDATA_MYKEY; +} + ++(SDLVehicleDataType*) VEHICLEDATA_BRAKING { + if (SDLVehicleDataType_VEHICLEDATA_BRAKING == nil) { + SDLVehicleDataType_VEHICLEDATA_BRAKING = [[SDLVehicleDataType alloc] initWithValue:@"VEHICLEDATA_BRAKING"]; + } + return SDLVehicleDataType_VEHICLEDATA_BRAKING; +} + ++(SDLVehicleDataType*) VEHICLEDATA_WIPERSTATUS { + if (SDLVehicleDataType_VEHICLEDATA_WIPERSTATUS == nil) { + SDLVehicleDataType_VEHICLEDATA_WIPERSTATUS = [[SDLVehicleDataType alloc] initWithValue:@"VEHICLEDATA_WIPERSTATUS"]; + } + return SDLVehicleDataType_VEHICLEDATA_WIPERSTATUS; +} + ++(SDLVehicleDataType*) VEHICLEDATA_HEADLAMPSTATUS { + if (SDLVehicleDataType_VEHICLEDATA_HEADLAMPSTATUS == nil) { + SDLVehicleDataType_VEHICLEDATA_HEADLAMPSTATUS = [[SDLVehicleDataType alloc] initWithValue:@"VEHICLEDATA_HEADLAMPSTATUS"]; + } + return SDLVehicleDataType_VEHICLEDATA_HEADLAMPSTATUS; +} + ++(SDLVehicleDataType*) VEHICLEDATA_BATTVOLTAGE { + if (SDLVehicleDataType_VEHICLEDATA_BATTVOLTAGE == nil) { + SDLVehicleDataType_VEHICLEDATA_BATTVOLTAGE = [[SDLVehicleDataType alloc] initWithValue:@"VEHICLEDATA_BATTVOLTAGE"]; + } + return SDLVehicleDataType_VEHICLEDATA_BATTVOLTAGE; +} + ++(SDLVehicleDataType*) VEHICLEDATA_ENGINETORQUE { + if (SDLVehicleDataType_VEHICLEDATA_ENGINETORQUE == nil) { + SDLVehicleDataType_VEHICLEDATA_ENGINETORQUE = [[SDLVehicleDataType alloc] initWithValue:@"VEHICLEDATA_ENGINETORQUE"]; + } + return SDLVehicleDataType_VEHICLEDATA_ENGINETORQUE; +} + ++(SDLVehicleDataType*) VEHICLEDATA_ACCPEDAL { + if (SDLVehicleDataType_VEHICLEDATA_ACCPEDAL == nil) { + SDLVehicleDataType_VEHICLEDATA_ACCPEDAL = [[SDLVehicleDataType alloc] initWithValue:@"VEHICLEDATA_ACCPEDAL"]; + } + return SDLVehicleDataType_VEHICLEDATA_ACCPEDAL; +} + ++(SDLVehicleDataType*) VEHICLEDATA_STEERINGWHEEL { + if (SDLVehicleDataType_VEHICLEDATA_STEERINGWHEEL == nil) { + SDLVehicleDataType_VEHICLEDATA_STEERINGWHEEL = [[SDLVehicleDataType alloc] initWithValue:@"VEHICLEDATA_STEERINGWHEEL"]; + } + return SDLVehicleDataType_VEHICLEDATA_STEERINGWHEEL; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleType.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleType.h new file mode 100644 index 000000000..96ae49a05 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleType.h @@ -0,0 +1,18 @@ +// SDLVehicleType.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +@interface SDLVehicleType : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSString* make; +@property(strong) NSString* model; +@property(strong) NSString* modelYear; +@property(strong) NSString* trim; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleType.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleType.m new file mode 100644 index 000000000..846e4ab5c --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleType.m @@ -0,0 +1,69 @@ +// SDLVehicleType.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLVehicleType.h" + +#import "SDLNames.h" + +@implementation SDLVehicleType + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setMake:(NSString*) make { + if (make != nil) { + [store setObject:make forKey:NAMES_make]; + } else { + [store removeObjectForKey:NAMES_make]; + } +} + +-(NSString*) make { + return [store objectForKey:NAMES_make]; +} + +-(void) setModel:(NSString*) model { + if (model != nil) { + [store setObject:model forKey:NAMES_model]; + } else { + [store removeObjectForKey:NAMES_model]; + } +} + +-(NSString*) model { + return [store objectForKey:NAMES_model]; +} + +-(void) setModelYear:(NSString*) modelYear { + if (modelYear != nil) { + [store setObject:modelYear forKey:NAMES_modelYear]; + } else { + [store removeObjectForKey:NAMES_modelYear]; + } +} + +-(NSString*) modelYear { + return [store objectForKey:NAMES_modelYear]; +} + +-(void) setTrim:(NSString*) trim { + if (trim != nil) { + [store setObject:trim forKey:NAMES_trim]; + } else { + [store removeObjectForKey:NAMES_trim]; + } +} + +-(NSString*) trim { + return [store objectForKey:NAMES_trim]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVrCapabilities.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVrCapabilities.h new file mode 100644 index 000000000..9a392ad6d --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVrCapabilities.h @@ -0,0 +1,15 @@ +// SDLVrCapabilities.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLVrCapabilities : SDLEnum {} + ++(SDLVrCapabilities*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLVrCapabilities*) TEXT; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVrCapabilities.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVrCapabilities.m new file mode 100644 index 000000000..601a3a727 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVrCapabilities.m @@ -0,0 +1,42 @@ +// SDLVrCapabilities.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLVrCapabilities.h" + +SDLVrCapabilities* SDLVrCapabilities_TEXT = nil; + +NSMutableArray* SDLVrCapabilities_values = nil; + +@implementation SDLVrCapabilities + ++(SDLVrCapabilities*) valueOf:(NSString*) value { + for (SDLVrCapabilities* item in SDLVrCapabilities.values) { + //NOTE: This was added for Sync Module Compatability, V1 module resturns "Text" and a + // Gen 1.1 module returns "TEXT", the new if statement makes a case insensitive + // check instead to accept both + //if ([item.value isEqualToString:value]) { + if (item.value && [item.value caseInsensitiveCompare:value] == NSOrderedSame) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLVrCapabilities_values == nil) { + SDLVrCapabilities_values = [[NSMutableArray alloc] initWithObjects: + SDLVrCapabilities.TEXT, + nil]; + } + return SDLVrCapabilities_values; +} + ++(SDLVrCapabilities*) TEXT { + if (SDLVrCapabilities_TEXT == nil) { + SDLVrCapabilities_TEXT = [[SDLVrCapabilities alloc] initWithValue:@"TEXT"]; + } + return SDLVrCapabilities_TEXT; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVrHelpItem.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVrHelpItem.h new file mode 100644 index 000000000..2a027fc17 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVrHelpItem.h @@ -0,0 +1,19 @@ +// SDLVrHelpItem.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLRPCMessage.h" + +#import "SDLImage.h" + +@interface SDLVrHelpItem : SDLRPCStruct {} + +-(id) init; +-(id) initWithDictionary:(NSMutableDictionary*) dict; + +@property(strong) NSString* text; +@property(strong) SDLImage* image; +@property(strong) NSNumber* position; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVrHelpItem.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVrHelpItem.m new file mode 100644 index 000000000..5edb237d6 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVrHelpItem.m @@ -0,0 +1,62 @@ +// SDLVrHelpItem.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLVrHelpItem.h" + +#import "SDLNames.h" + +@implementation SDLVrHelpItem + +-(id) init { + if (self = [super init]) {} + return self; +} + +-(id) initWithDictionary:(NSMutableDictionary*) dict { + if (self = [super initWithDictionary:dict]) {} + return self; +} + +-(void) setText:(NSString*) text { + if (text != nil) { + [store setObject:text forKey:NAMES_text]; + } else { + [store removeObjectForKey:NAMES_text]; + } +} + +-(NSString*) text { + return [store objectForKey:NAMES_text]; +} + +-(void) setImage:(SDLImage*) image { + if (image != nil) { + [store setObject:image forKey:NAMES_image]; + } else { + [store removeObjectForKey:NAMES_image]; + } +} + +-(SDLImage*) image { + NSObject* obj = [store objectForKey:NAMES_image]; + if ([obj isKindOfClass:SDLImage.class]) { + return (SDLImage*)obj; + } else { + return [[SDLImage alloc] initWithDictionary:(NSMutableDictionary*)obj]; + } +} + +-(void) setPosition:(NSNumber*) position { + if (position != nil) { + [store setObject:position forKey:NAMES_position]; + } else { + [store removeObjectForKey:NAMES_position]; + } +} + +-(NSNumber*) position { + return [store objectForKey:NAMES_position]; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLWarningLightStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLWarningLightStatus.h new file mode 100644 index 000000000..9a603f493 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLWarningLightStatus.h @@ -0,0 +1,18 @@ +// SDLWarningLightStatus.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLWarningLightStatus : SDLEnum {} + ++(SDLWarningLightStatus*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLWarningLightStatus*) OFF; ++(SDLWarningLightStatus*) ON; ++(SDLWarningLightStatus*) FLASH; ++(SDLWarningLightStatus*) NOT_USED; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLWarningLightStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLWarningLightStatus.m new file mode 100644 index 000000000..dca24e6bc --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLWarningLightStatus.m @@ -0,0 +1,65 @@ +// SDLWarningLightStatus.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLWarningLightStatus.h" + +SDLWarningLightStatus* SDLWarningLightStatus_OFF = nil; +SDLWarningLightStatus* SDLWarningLightStatus_ON = nil; +SDLWarningLightStatus* SDLWarningLightStatus_FLASH = nil; +SDLWarningLightStatus* SDLWarningLightStatus_NOT_USED = nil; + +NSMutableArray* SDLWarningLightStatus_values = nil; + +@implementation SDLWarningLightStatus + ++(SDLWarningLightStatus*) valueOf:(NSString*) value { + for (SDLWarningLightStatus* item in SDLWarningLightStatus.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLWarningLightStatus_values == nil) { + SDLWarningLightStatus_values = [[NSMutableArray alloc] initWithObjects: + SDLWarningLightStatus.OFF, + SDLWarningLightStatus.ON, + SDLWarningLightStatus.FLASH, + SDLWarningLightStatus.NOT_USED, + nil]; + } + return SDLWarningLightStatus_values; +} + ++(SDLWarningLightStatus*) OFF { + if (SDLWarningLightStatus_OFF == nil) { + SDLWarningLightStatus_OFF = [[SDLWarningLightStatus alloc] initWithValue:@"OFF"]; + } + return SDLWarningLightStatus_OFF; +} + ++(SDLWarningLightStatus*) ON { + if (SDLWarningLightStatus_ON == nil) { + SDLWarningLightStatus_ON = [[SDLWarningLightStatus alloc] initWithValue:@"ON"]; + } + return SDLWarningLightStatus_ON; +} + ++(SDLWarningLightStatus*) FLASH { + if (SDLWarningLightStatus_FLASH == nil) { + SDLWarningLightStatus_FLASH = [[SDLWarningLightStatus alloc] initWithValue:@"FLASH"]; + } + return SDLWarningLightStatus_FLASH; +} + ++(SDLWarningLightStatus*) NOT_USED { + if (SDLWarningLightStatus_NOT_USED == nil) { + SDLWarningLightStatus_NOT_USED = [[SDLWarningLightStatus alloc] initWithValue:@"NOT_USED"]; + } + return SDLWarningLightStatus_NOT_USED; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLWiperStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLWiperStatus.h new file mode 100644 index 000000000..0e709681d --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLWiperStatus.h @@ -0,0 +1,29 @@ +// SDLWiperStatus.h +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + + +#import "SDLEnum.h" + +@interface SDLWiperStatus : SDLEnum {} + ++(SDLWiperStatus*) valueOf:(NSString*) value; ++(NSMutableArray*) values; + ++(SDLWiperStatus*) OFF; ++(SDLWiperStatus*) AUTO_OFF; ++(SDLWiperStatus*) OFF_MOVING; ++(SDLWiperStatus*) MAN_INT_OFF; ++(SDLWiperStatus*) MAN_INT_ON; ++(SDLWiperStatus*) MAN_LOW; ++(SDLWiperStatus*) MAN_HIGH; ++(SDLWiperStatus*) MAN_FLICK; ++(SDLWiperStatus*) WASH; ++(SDLWiperStatus*) AUTO_LOW; ++(SDLWiperStatus*) AUTO_HIGH; ++(SDLWiperStatus*) COURTESYWIPE; ++(SDLWiperStatus*) AUTO_ADJUST; ++(SDLWiperStatus*) STALLED; ++(SDLWiperStatus*) NO_DATA_EXISTS; + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLWiperStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLWiperStatus.m new file mode 100644 index 000000000..e780455df --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLWiperStatus.m @@ -0,0 +1,164 @@ +// SDLWiperStatus.m +// +// Copyright (c) 2014 Ford Motor Company. All rights reserved. + +#import "SDLWiperStatus.h" + +SDLWiperStatus* SDLWiperStatus_OFF = nil; +SDLWiperStatus* SDLWiperStatus_AUTO_OFF = nil; +SDLWiperStatus* SDLWiperStatus_OFF_MOVING = nil; +SDLWiperStatus* SDLWiperStatus_MAN_INT_OFF = nil; +SDLWiperStatus* SDLWiperStatus_MAN_INT_ON = nil; +SDLWiperStatus* SDLWiperStatus_MAN_LOW = nil; +SDLWiperStatus* SDLWiperStatus_MAN_HIGH = nil; +SDLWiperStatus* SDLWiperStatus_MAN_FLICK = nil; +SDLWiperStatus* SDLWiperStatus_WASH = nil; +SDLWiperStatus* SDLWiperStatus_AUTO_LOW = nil; +SDLWiperStatus* SDLWiperStatus_AUTO_HIGH = nil; +SDLWiperStatus* SDLWiperStatus_COURTESYWIPE = nil; +SDLWiperStatus* SDLWiperStatus_AUTO_ADJUST = nil; +SDLWiperStatus* SDLWiperStatus_STALLED = nil; +SDLWiperStatus* SDLWiperStatus_NO_DATA_EXISTS = nil; + +NSMutableArray* SDLWiperStatus_values = nil; + +@implementation SDLWiperStatus + ++(SDLWiperStatus*) valueOf:(NSString*) value { + for (SDLWiperStatus* item in SDLWiperStatus.values) { + if ([item.value isEqualToString:value]) { + return item; + } + } + return nil; +} + ++(NSMutableArray*) values { + if (SDLWiperStatus_values == nil) { + SDLWiperStatus_values = [[NSMutableArray alloc] initWithObjects: + SDLWiperStatus.OFF, + SDLWiperStatus.AUTO_OFF, + SDLWiperStatus.OFF_MOVING, + SDLWiperStatus.MAN_INT_OFF, + SDLWiperStatus.MAN_INT_ON, + SDLWiperStatus.MAN_LOW, + SDLWiperStatus.MAN_HIGH, + SDLWiperStatus.MAN_FLICK, + SDLWiperStatus.WASH, + SDLWiperStatus.AUTO_LOW, + SDLWiperStatus.AUTO_HIGH, + SDLWiperStatus.COURTESYWIPE, + SDLWiperStatus.AUTO_ADJUST, + SDLWiperStatus.STALLED, + SDLWiperStatus.NO_DATA_EXISTS, + nil]; + } + return SDLWiperStatus_values; +} + ++(SDLWiperStatus*) OFF { + if (SDLWiperStatus_OFF == nil) { + SDLWiperStatus_OFF = [[SDLWiperStatus alloc] initWithValue:@"OFF"]; + } + return SDLWiperStatus_OFF; +} + ++(SDLWiperStatus*) AUTO_OFF { + if (SDLWiperStatus_AUTO_OFF == nil) { + SDLWiperStatus_AUTO_OFF = [[SDLWiperStatus alloc] initWithValue:@"AUTO_OFF"]; + } + return SDLWiperStatus_AUTO_OFF; +} + ++(SDLWiperStatus*) OFF_MOVING { + if (SDLWiperStatus_OFF_MOVING == nil) { + SDLWiperStatus_OFF_MOVING = [[SDLWiperStatus alloc] initWithValue:@"OFF_MOVING"]; + } + return SDLWiperStatus_OFF_MOVING; +} + ++(SDLWiperStatus*) MAN_INT_OFF { + if (SDLWiperStatus_MAN_INT_OFF == nil) { + SDLWiperStatus_MAN_INT_OFF = [[SDLWiperStatus alloc] initWithValue:@"MAN_INT_OFF"]; + } + return SDLWiperStatus_MAN_INT_OFF; +} + ++(SDLWiperStatus*) MAN_INT_ON { + if (SDLWiperStatus_MAN_INT_ON == nil) { + SDLWiperStatus_MAN_INT_ON = [[SDLWiperStatus alloc] initWithValue:@"MAN_INT_ON"]; + } + return SDLWiperStatus_MAN_INT_ON; +} + ++(SDLWiperStatus*) MAN_LOW { + if (SDLWiperStatus_MAN_LOW == nil) { + SDLWiperStatus_MAN_LOW = [[SDLWiperStatus alloc] initWithValue:@"MAN_LOW"]; + } + return SDLWiperStatus_MAN_LOW; +} + ++(SDLWiperStatus*) MAN_HIGH { + if (SDLWiperStatus_MAN_HIGH == nil) { + SDLWiperStatus_MAN_HIGH = [[SDLWiperStatus alloc] initWithValue:@"MAN_HIGH"]; + } + return SDLWiperStatus_MAN_HIGH; +} + ++(SDLWiperStatus*) MAN_FLICK { + if (SDLWiperStatus_MAN_FLICK == nil) { + SDLWiperStatus_MAN_FLICK = [[SDLWiperStatus alloc] initWithValue:@"MAN_FLICK"]; + } + return SDLWiperStatus_MAN_FLICK; +} + ++(SDLWiperStatus*) WASH { + if (SDLWiperStatus_WASH == nil) { + SDLWiperStatus_WASH = [[SDLWiperStatus alloc] initWithValue:@"WASH"]; + } + return SDLWiperStatus_WASH; +} + ++(SDLWiperStatus*) AUTO_LOW { + if (SDLWiperStatus_AUTO_LOW == nil) { + SDLWiperStatus_AUTO_LOW = [[SDLWiperStatus alloc] initWithValue:@"AUTO_LOW"]; + } + return SDLWiperStatus_AUTO_LOW; +} + ++(SDLWiperStatus*) AUTO_HIGH { + if (SDLWiperStatus_AUTO_HIGH == nil) { + SDLWiperStatus_AUTO_HIGH = [[SDLWiperStatus alloc] initWithValue:@"AUTO_HIGH"]; + } + return SDLWiperStatus_AUTO_HIGH; +} + ++(SDLWiperStatus*) COURTESYWIPE { + if (SDLWiperStatus_COURTESYWIPE == nil) { + SDLWiperStatus_COURTESYWIPE = [[SDLWiperStatus alloc] initWithValue:@"COURTESYWIPE"]; + } + return SDLWiperStatus_COURTESYWIPE; +} + ++(SDLWiperStatus*) AUTO_ADJUST { + if (SDLWiperStatus_AUTO_ADJUST == nil) { + SDLWiperStatus_AUTO_ADJUST = [[SDLWiperStatus alloc] initWithValue:@"AUTO_ADJUST"]; + } + return SDLWiperStatus_AUTO_ADJUST; +} + ++(SDLWiperStatus*) STALLED { + if (SDLWiperStatus_STALLED == nil) { + SDLWiperStatus_STALLED = [[SDLWiperStatus alloc] initWithValue:@"STALLED"]; + } + return SDLWiperStatus_STALLED; +} + ++(SDLWiperStatus*) NO_DATA_EXISTS { + if (SDLWiperStatus_NO_DATA_EXISTS == nil) { + SDLWiperStatus_NO_DATA_EXISTS = [[SDLWiperStatus alloc] initWithValue:@"NO_DATA_EXISTS"]; + } + return SDLWiperStatus_NO_DATA_EXISTS; +} + +@end diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SmartDeviceLink.h b/SmartDeviceLink-iOS/SmartDeviceLink/SmartDeviceLink.h new file mode 100644 index 000000000..ce6a0ff28 --- /dev/null +++ b/SmartDeviceLink-iOS/SmartDeviceLink/SmartDeviceLink.h @@ -0,0 +1,273 @@ +// +// SmartDeviceLink.h +// SmartDeviceLink +// +// Created by Joel Fischer on 2/5/15. +// Copyright (c) 2015 smartdevicelink. All rights reserved. +// + +#import <UIKit/UIKit.h> + +//! Project version number for SmartDeviceLink. +FOUNDATION_EXPORT double SmartDeviceLinkVersionNumber; + +//! Project version string for SmartDeviceLink. +FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[]; + +/**** Utilities *****/ +#import <SmartDeviceLink/SDLJingle.h> + +/***** Proxy *****/ +#import <SmartDeviceLink/SDLProxy.h> +#import <SmartDeviceLink/SDLProxyListener.h> +#import <SmartDeviceLink/SDLProxyFactory.h> +#import <SmartDeviceLink/SDLTTSChunkFactory.h> + +/***** Debug *****/ +#import <SmartDeviceLink/SDLConsoleController.h> +#import <SmartDeviceLink/SDLDebugTool.h> +#import <SmartDeviceLink/SDLSiphonServer.h> + +/***** Transport *****/ +#import <SmartDeviceLink/SDLAbstractTransport.h> +#import <SmartDeviceLink/SDLIAPTransport.h> +#import <SmartDeviceLink/SDLTCPTransport.h> +#import <SmartDeviceLink/SDLTransport.h> +#import <SmartDeviceLink/SDLTransportDelegate.h> +#import <SmartDeviceLink/SDLInterfaceProtocol.h> + +/***** Protocol *****/ +#import <SmartDeviceLink/SDLProtocolListener.h> +#import <SmartDeviceLink/SDLAbstractProtocol.h> +#import <SmartDeviceLink/SDLProtocol.h> + +// Header +#import <SmartDeviceLink/SDLProtocolHeader.h> + +// Message +#import <SmartDeviceLink/SDLProtocolMessage.h> + +/***** RPCs *****/ +// Superclasses +#import <SmartDeviceLink/SDLEnum.h> +#import <SmartDeviceLink/SDLRPCMessage.h> +#import <SmartDeviceLink/SDLRPCNotification.h> +#import <SmartDeviceLink/SDLRPCRequest.h> +#import <SmartDeviceLink/SDLRPCResponse.h> + +// Factories +#import <SmartDeviceLink/SDLRPCRequestFactory.h> + +// Requests +#import <SmartDeviceLink/SDLAddCommand.h> +#import <SmartDeviceLink/SDLAddSubMenu.h> +#import <SmartDeviceLink/SDLAlert.h> +#import <SmartDeviceLink/SDLAlertManeuver.h> +#import <SmartDeviceLink/SDLChangeRegistration.h> +#import <SmartDeviceLink/SDLCreateInteractionChoiceSet.h> +#import <SmartDeviceLink/SDLDeleteCommand.h> +#import <SmartDeviceLink/SDLDeleteFile.h> +#import <SmartDeviceLink/SDLDeleteInteractionChoiceSet.h> +#import <SmartDeviceLink/SDLDeleteSubMenu.h> +#import <SmartDeviceLink/SDLDiagnosticMessage.h> +#import <SmartDeviceLink/SDLEncodedSyncPData.h> +#import <SmartDeviceLink/SDLEndAudioPassThru.h> +#import <SmartDeviceLink/SDLGetDTCs.h> +#import <SmartDeviceLink/SDLGetVehicleData.h> +#import <SmartDeviceLink/SDLListFiles.h> +#import <SmartDeviceLink/SDLPerformAudioPassThru.h> +#import <SmartDeviceLink/SDLPerformInteraction.h> +#import <SmartDeviceLink/SDLPutFile.h> +#import <SmartDeviceLink/SDLReadDID.h> +#import <SmartDeviceLink/SDLRegisterAppInterface.h> +#import <SmartDeviceLink/SDLResetGlobalProperties.h> +#import <SmartDeviceLink/SDLScrollableMessage.h> +#import <SmartDeviceLink/SDLSetAppIcon.h> +#import <SmartDeviceLink/SDLSetDisplayLayout.h> +#import <SmartDeviceLink/SDLSetGlobalProperties.h> +#import <SmartDeviceLink/SDLSetMediaClockTimer.h> +#import <SmartDeviceLink/SDLShow.h> +#import <SmartDeviceLink/SDLShowConstantTBT.h> +#import <SmartDeviceLink/SDLSlider.h> +#import <SmartDeviceLink/SDLSpeak.h> +#import <SmartDeviceLink/SDLSubscribeButton.h> +#import <SmartDeviceLink/SDLSubscribeVehicleData.h> +#import <SmartDeviceLink/SDLSyncPData.h> +#import <SmartDeviceLink/SDLUnregisterAppInterface.h> +#import <SmartDeviceLink/SDLUnsubscribeButton.h> +#import <SmartDeviceLink/SDLUnsubscribeVehicleData.h> +#import <SmartDeviceLink/SDLUpdateTurnList.h> + +// Responses +#import <SmartDeviceLink/SDLAddCommandResponse.h> +#import <SmartDeviceLink/SDLAddSubMenuResponse.h> +#import <SmartDeviceLink/SDLAlertManeuverResponse.h> +#import <SmartDeviceLink/SDLAlertResponse.h> +#import <SmartDeviceLink/SDLChangeRegistrationResponse.h> +#import <SmartDeviceLink/SDLCreateInteractionChoiceSetResponse.h> +#import <SmartDeviceLink/SDLDeleteCommandResponse.h> +#import <SmartDeviceLink/SDLDeleteFileResponse.h> +#import <SmartDeviceLink/SDLDeleteInteractionChoiceSetResponse.h> +#import <SmartDeviceLink/SDLDeleteSubMenuResponse.h> +#import <SmartDeviceLink/SDLDiagnosticMessageResponse.h> +#import <SmartDeviceLink/SDLEncodedSyncPDataResponse.h> +#import <SmartDeviceLink/SDLEndAudioPassThruResponse.h> +#import <SmartDeviceLink/SDLGenericResponse.h> +#import <SmartDeviceLink/SDLGetDTCsResponse.h> +#import <SmartDeviceLink/SDLGetVehicleDataResponse.h> +#import <SmartDeviceLink/SDLListFilesResponse.h> +#import <SmartDeviceLink/SDLPerformAudioPassThruResponse.h> +#import <SmartDeviceLink/SDLPerformInteractionResponse.h> +#import <SmartDeviceLink/SDLPutFileResponse.h> +#import <SmartDeviceLink/SDLReadDIDResponse.h> +#import <SmartDeviceLink/SDLRegisterAppInterfaceResponse.h> +#import <SmartDeviceLink/SDLResetGlobalPropertiesResponse.h> +#import <SmartDeviceLink/SDLScrollableMessageResponse.h> +#import <SmartDeviceLink/SDLSetAppIconResponse.h> +#import <SmartDeviceLink/SDLSetDisplayLayoutResponse.h> +#import <SmartDeviceLink/SDLSetGlobalPropertiesResponse.h> +#import <SmartDeviceLink/SDLSetMediaClockTimerResponse.h> +#import <SmartDeviceLink/SDLShowConstantTBTResponse.h> +#import <SmartDeviceLink/SDLShowResponse.h> +#import <SmartDeviceLink/SDLSliderResponse.h> +#import <SmartDeviceLink/SDLSpeakResponse.h> +#import <SmartDeviceLink/SDLSubscribeButtonResponse.h> +#import <SmartDeviceLink/SDLSubscribeVehicleDataResponse.h> +#import <SmartDeviceLink/SDLSyncPDataResponse.h> +#import <SmartDeviceLink/SDLUnregisterAppInterfaceResponse.h> +#import <SmartDeviceLink/SDLUnsubscribeButtonResponse.h> +#import <SmartDeviceLink/SDLUnsubscribeVehicleDataResponse.h> +#import <SmartDeviceLink/SDLUpdateTurnListResponse.h> + +// Notifications +#import <SmartDeviceLink/SDLOnAppInterfaceUnregistered.h> +#import <SmartDeviceLink/SDLOnAudioPassThru.h> +#import <SmartDeviceLink/SDLOnButtonEvent.h> +#import <SmartDeviceLink/SDLOnButtonPress.h> +#import <SmartDeviceLink/SDLOnCommand.h> +#import <SmartDeviceLink/SDLOnDriverDistraction.h> +#import <SmartDeviceLink/SDLOnEncodedSyncPData.h> +#import <SmartDeviceLink/SDLOnHashChange.h> +#import <SmartDeviceLink/SDLOnHMIStatus.h> +#import <SmartDeviceLink/SDLOnKeyboardInput.h> +#import <SmartDeviceLink/SDLOnLanguageChange.h> +#import <SmartDeviceLink/SDLOnLockScreenStatus.h> +#import <SmartDeviceLink/SDLOnPermissionsChange.h> +#import <SmartDeviceLink/SDLOnSyncPData.h> +#import <SmartDeviceLink/SDLOnSystemRequest.h> +#import <SmartDeviceLink/SDLOnTBTClientState.h> +#import <SmartDeviceLink/SDLOnTouchEvent.h> +#import <SmartDeviceLink/SDLOnVehicleData.h> + +// Structs +#import <SmartDeviceLink/SDLAirbagStatus.h> +#import <SmartDeviceLink/SDLAudioPassThruCapabilities.h> +#import <SmartDeviceLink/SDLBeltStatus.h> +#import <SmartDeviceLink/SDLBodyInformation.h> +#import <SmartDeviceLink/SDLButtonCapabilities.h> +#import <SmartDeviceLink/SDLChoice.h> +#import <SmartDeviceLink/SDLClusterModeStatus.h> +#import <SmartDeviceLink/SDLDeviceInfo.h> +#import <SmartDeviceLink/SDLDeviceStatus.h> +#import <SmartDeviceLink/SDLDIDResult.h> +#import <SmartDeviceLink/SDLDisplayCapabilities.h> +#import <SmartDeviceLink/SDLECallInfo.h> +#import <SmartDeviceLink/SDLEmergencyEvent.h> +#import <SmartDeviceLink/SDLGPSData.h> +#import <SmartDeviceLink/SDLHeadLampStatus.h> +#import <SmartDeviceLink/SDLHMIPermissions.h> +#import <SmartDeviceLink/SDLImage.h> +#import <SmartDeviceLink/SDLImageField.h> +#import <SmartDeviceLink/SDLImageResolution.h> +#import <SmartDeviceLink/SDLKeyboardProperties.h> +#import <SmartDeviceLink/SDLMenuParams.h> +#import <SmartDeviceLink/SDLMyKey.h> +#import <SmartDeviceLink/SDLParameterPermissions.h> +#import <SmartDeviceLink/SDLPermissionItem.h> +#import <SmartDeviceLink/SDLPresetBankCapabilities.h> +#import <SmartDeviceLink/SDLScreenParams.h> +#import <SmartDeviceLink/SDLSingleTireStatus.h> +#import <SmartDeviceLink/SDLSoftButton.h> +#import <SmartDeviceLink/SDLSoftButtonCapabilities.h> +#import <SmartDeviceLink/SDLStartTime.h> +#import <SmartDeviceLink/SDLSyncMsgVersion.h> +#import <SmartDeviceLink/SDLTextField.h> +#import <SmartDeviceLink/SDLTireStatus.h> +#import <SmartDeviceLink/SDLTouchCoord.h> +#import <SmartDeviceLink/SDLTouchEvent.h> +#import <SmartDeviceLink/SDLTouchEventCapabilities.h> +#import <SmartDeviceLink/SDLTTSChunk.h> +#import <SmartDeviceLink/SDLTurn.h> +#import <SmartDeviceLink/SDLVehicleDataResult.h> +#import <SmartDeviceLink/SDLVehicleType.h> +#import <SmartDeviceLink/SDLVrHelpItem.h> + +// Enums +#import <SmartDeviceLink/SDLAmbientLightStatus.h> +#import <SmartDeviceLink/SDLAppHMIType.h> +#import <SmartDeviceLink/SDLAppInterfaceUnregisteredReason.h> +#import <SmartDeviceLink/SDLAudioStreamingState.h> +#import <SmartDeviceLink/SDLAudioType.h> +#import <SmartDeviceLink/SDLBitsPerSample.h> +#import <SmartDeviceLink/SDLButtonEventMode.h> +#import <SmartDeviceLink/SDLButtonName.h> +#import <SmartDeviceLink/SDLButtonPressMode.h> +#import <SmartDeviceLink/SDLCarModeStatus.h> +#import <SmartDeviceLink/SDLCharacterSet.h> +#import <SmartDeviceLink/SDLCompassDirection.h> +#import <SmartDeviceLink/SDLComponentVolumeStatus.h> +#import <SmartDeviceLink/SDLDeviceLevelStatus.h> +#import <SmartDeviceLink/SDLDimension.h> +#import <SmartDeviceLink/SDLDisplayType.h> +#import <SmartDeviceLink/SDLDriverDistractionState.h> +#import <SmartDeviceLink/SDLECallConfirmationStatus.h> +#import <SmartDeviceLink/SDLEmergencyEventType.h> +#import <SmartDeviceLink/SDLFileType.h> +#import <SmartDeviceLink/SDLFuelCutoffStatus.h> +#import <SmartDeviceLink/SDLGlobalProperty.h> +#import <SmartDeviceLink/SDLHMILevel.h> +#import <SmartDeviceLink/SDLHMIZoneCapabilities.h> +#import <SmartDeviceLink/SDLIgnitionStableStatus.h> +#import <SmartDeviceLink/SDLIgnitionStatus.h> +#import <SmartDeviceLink/SDLImageFieldName.h> +#import <SmartDeviceLink/SDLImageType.h> +#import <SmartDeviceLink/SDLInteractionMode.h> +#import <SmartDeviceLink/SDLKeyboardEvent.h> +#import <SmartDeviceLink/SDLKeyboardLayout.h> +#import <SmartDeviceLink/SDLKeypressMode.h> +#import <SmartDeviceLink/SDLLanguage.h> +#import <SmartDeviceLink/SDLLayoutMode.h> +#import <SmartDeviceLink/SDLLockScreenStatus.h> +#import <SmartDeviceLink/SDLMaintenanceModeStatus.h> +#import <SmartDeviceLink/SDLMediaClockFormat.h> +#import <SmartDeviceLink/SDLPermissionStatus.h> +#import <SmartDeviceLink/SDLPowerModeQualificationStatus.h> +#import <SmartDeviceLink/SDLPowerModeStatus.h> +#import <SmartDeviceLink/SDLPredefinedLayout.h> +#import <SmartDeviceLink/SDLPrerecordedSpeech.h> +#import <SmartDeviceLink/SDLPrimaryAudioSource.h> +#import <SmartDeviceLink/SDLPRNDL.h> +#import <SmartDeviceLink/SDLRequestType.h> +#import <SmartDeviceLink/SDLResult.h> +#import <SmartDeviceLink/SDLRPCMessageType.h> +#import <SmartDeviceLink/SDLSamplingRate.h> +#import <SmartDeviceLink/SDLSoftButtonType.h> +#import <SmartDeviceLink/SDLSpeechCapabilities.h> +#import <SmartDeviceLink/SDLSystemAction.h> +#import <SmartDeviceLink/SDLSystemContext.h> +#import <SmartDeviceLink/SDLTBTState.h> +#import <SmartDeviceLink/SDLTextAlignment.h> +#import <SmartDeviceLink/SDLTextFieldName.h> +#import <SmartDeviceLink/SDLTimerMode.h> +#import <SmartDeviceLink/SDLTouchType.h> +#import <SmartDeviceLink/SDLTriggerSource.h> +#import <SmartDeviceLink/SDLUpdateMode.h> +#import <SmartDeviceLink/SDLVehicleDataActiveStatus.h> +#import <SmartDeviceLink/SDLVehicleDataEventStatus.h> +#import <SmartDeviceLink/SDLVehicleDataNotificationStatus.h> +#import <SmartDeviceLink/SDLVehicleDataResultCode.h> +#import <SmartDeviceLink/SDLVehicleDataStatus.h> +#import <SmartDeviceLink/SDLVehicleDataType.h> +#import <SmartDeviceLink/SDLVrCapabilities.h> +#import <SmartDeviceLink/SDLWarningLightStatus.h> +#import <SmartDeviceLink/SDLWiperStatus.h> |