// SDLPerformInteraction.h // #import "SDLRPCRequest.h" #import "SDLInteractionMode.h" #import "SDLLayoutMode.h" @class SDLTTSChunk; @class SDLVRHelpItem; /** * Performs an application-initiated interaction in which the user can select a * {@linkplain Choice} from among the specified Choice Sets. For instance, an * application may use a PerformInteraction to ask a user to say the name of a * song to play. The user's response is only valid if it appears in the * specified Choice Sets and is recognized by SDL *

* Function Group: Base *

* HMILevel needs to be FULL *

* * Since SmartDeviceLink 1.0
* See SDLCreateInteractionChoiceSet SDLDeleteInteractionChoiceSet */ NS_ASSUME_NONNULL_BEGIN @interface SDLPerformInteraction : SDLRPCRequest - (instancetype)initWithInteractionChoiceSetId:(UInt16)interactionChoiceSetId; - (instancetype)initWithInteractionChoiceSetIdList:(NSArray *> *)interactionChoiceSetIdList; - (instancetype)initWithInitialPrompt:(nullable NSString *)initialPrompt initialText:(NSString *)initialText interactionChoiceSetID:(UInt16)interactionChoiceSetID; - (instancetype)initWithInitialPrompt:(nullable NSString *)initialPrompt initialText:(NSString *)initialText interactionChoiceSetID:(UInt16)interactionChoiceSetID vrHelp:(nullable NSArray *)vrHelp; - (instancetype)initWithInitialPrompt:(nullable NSString *)initialPrompt initialText:(NSString *)initialText interactionChoiceSetIDList:(NSArray *> *)interactionChoiceSetIDList helpPrompt:(nullable NSString *)helpPrompt timeoutPrompt:(nullable NSString *)timeoutPrompt interactionMode:(SDLInteractionMode)interactionMode timeout:(UInt32)timeout; - (instancetype)initWithInitialPrompt:(nullable NSString *)initialPrompt initialText:(NSString *)initialText interactionChoiceSetIDList:(NSArray *> *)interactionChoiceSetIDList helpPrompt:(nullable NSString *)helpPrompt timeoutPrompt:(nullable NSString *)timeoutPrompt interactionMode:(SDLInteractionMode)interactionMode timeout:(UInt32)timeout vrHelp:(nullable NSArray *)vrHelp; - (instancetype)initWithInitialChunks:(nullable NSArray *)initialChunks initialText:(NSString *)initialText interactionChoiceSetIDList:(NSArray *> *)interactionChoiceSetIDList helpChunks:(nullable NSArray *)helpChunks timeoutChunks:(nullable NSArray *)timeoutChunks interactionMode:(SDLInteractionMode)interactionMode timeout:(UInt32)timeout vrHelp:(nullable NSArray *)vrHelp; - (instancetype)initWithInitialChunks:(nullable NSArray *)initialChunks initialText:(NSString *)initialText interactionChoiceSetIDList:(NSArray *> *)interactionChoiceSetIDList helpChunks:(nullable NSArray *)helpChunks timeoutChunks:(nullable NSArray *)timeoutChunks interactionMode:(SDLInteractionMode)interactionMode timeout:(UInt32)timeout vrHelp:(nullable NSArray *)vrHelp interactionLayout:(nullable SDLLayoutMode)layout; /** * @abstract The Text that Displayed when the interaction begins. This text may * be overlaid by the "Listening" prompt during the interaction. Text is * displayed on first line of multiline display, and is centered. If text * does not fit on line, it will be truncated */ @property (strong, nonatomic) NSString *initialText; /** * @abstract An array of one or more TTSChunks that, taken together, specify * what is to be spoken to the user at the start of an interaction */ @property (nullable, strong, nonatomic) NSArray *initialPrompt; /** * @abstract The Indicates mode that indicate how user selects interaction * choice. User can choose either by voice (VR_ONLY), by visual selection * from the menu (MANUAL_ONLY), or by either mode (BOTH) */ @property (strong, nonatomic) SDLInteractionMode interactionMode; /** * @abstract A Vector value representing an Array of one or more Choice * Set IDs */ @property (strong, nonatomic) NSArray *> *interactionChoiceSetIDList; /** * @abstract A Vector which taken together, specify the help phrase to * be spoken when the user says "help" during the VR session */ @property (nullable, strong, nonatomic) NSArray *helpPrompt; /** * @abstract An array of TTSChunks which, taken together, specify the phrase to * be spoken when the listen times out during the VR session */ @property (nullable, strong, nonatomic) NSArray *timeoutPrompt; /** * @abstract An Integer value representing the amount of time, in milliseconds, * SDL will wait for the user to make a choice (VR or Menu) */ @property (nullable, strong, nonatomic) NSNumber *timeout; /** * @abstract A Voice recognition Help, which is a suggested VR Help Items to * display on-screen during Perform Interaction * @since SmartDeviceLink 2.0 */ @property (nullable, strong, nonatomic) NSArray *vrHelp; @property (nullable, strong, nonatomic) SDLLayoutMode interactionLayout; @end NS_ASSUME_NONNULL_END