summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksandr Mishchenko <AMishchenko@luxoft.com>2020-02-27 13:23:40 +0100
committerAleksandr Mishchenko <AMishchenko@luxoft.com>2020-02-27 13:23:40 +0100
commit6276035234e13b585372bc52b79362649f02b014 (patch)
tree94d94c33faa8e5866625ec8b8cf870bc8cde124c
parent7ca64540fbda90d984778f096bd936f84c1f155b (diff)
downloadsdl_ios-6276035234e13b585372bc52b79362649f02b014.tar.gz
update doc
-rw-r--r--generator/README.md1013
1 files changed, 0 insertions, 1013 deletions
diff --git a/generator/README.md b/generator/README.md
index 60155f4c6..1804079bc 100644
--- a/generator/README.md
+++ b/generator/README.md
@@ -1144,1016 +1144,3 @@ NS_ASSUME_NONNULL_BEGIN
NS_ASSUME_NONNULL_END
```
-
-# Custom mapping
-
-There are cases named `edge cases` when it is not possible to get the required info from XML or some manual additions are required in generated classes. For that purpose the generator includes the custom mapping file `mapping.json` that allows to add required customizations.
-
-## Structure of `mapping.json`
-
-The customization script contains the JSON object. Below is the schema:
-
-Enums:
-```json5
-{
- ["enums"]: {
- [enum_name]: {
- "template": [true|custom_template_name],
- "name": [custom_enum_namee],
- "description": [custom_description_string],
- "deprecated": [custom_deprecated_description_string],
- "-params": [element_to_delete, param_to_delete, ...],
- "params_title": false
- [element_name]: {
- "origin": [custom_element_name],
- "description": [custom_description_string],
- "since": [custom_since_version_string],
- "value": [custom_value]
- }
- }
- }
-}
-```
-
-Structs and Functions:
-```json5
-{
- ["structs"|"functions"]: {
- [struct_name|function_name]: {
- "template": [true|custom_template_name],
- "name": [custom_struct_name|custom_function_name],
- "description": [custom_description_string],
- "deprecated": [custom_deprecated_description_string],
- "sort_constructor": true,
- "-params": [element_to_delete, param_to_delete, ...],
- [param_name|member_name]: {
- "origin": [custom_param_name|custom_member_name],
- "constructor_argument": [custom_constructor_argument_name_string],
- "constructor_prefix": [custom_constructor_parameter_name_string],
- "method_suffix": [custom_forName:SDLRPCParameterName_method_suffix_name_string],
- "deprecated": [custom_deprecated_description_string],
- "mandatory": [true|false],
- "since": [custom_since_version_string],
- "of_class": [custom_"ofClass:{{of_class}}"_string],
- "type_native": [custom_type_used_in_constructor_string],
- "type_sdl": [custom_type_used_in_methods_string],
- "modifier": [assign|copy|strong|weak],
- "for_name": [custom_"_sdl_{{for_name}}"_name_string],
- "description": [custom_description_string],
- "constructor_argument_override": [custom_constructor_argument_string],
- }
- }
- }
-}
-```
-
-Root keys in the structure are `"enums"`, `"structs"` and `"functions"`.
-On the next level expected `name`, `template`, `description`, `deprecated`, `sort_constructor`, `-params`, `params_title` or corresponding name of required `<enum>`, `<struct>`, `<function>`.
-Then the next level, is set of properties which present in each corresponding structure.
-In case when corresponding structure exist not required to list all properties.
-
-The mapping object provide the possibility to create brand new `<enum>`, `<struct>` or `<function>`, in this case all corresponding properties should be provided.
-
-## "template"
-
-It is possible to create custom template for any corresponding structure (`<enum>`, `<struct>`, `<function>`).
-
-As template engine used jinja, which has own language, documentation - https://jinja.palletsprojects.com/en/2.11.x/
-like it was done for `sdl_ios/generator/templates/enums/FunctionID.*`, otherwise you can extend existing template and add required functionality.
-
-There are following block's in default template:
-* {% block imports %}
-* {% block constructors %}
-* {% block methods %}
-
-You can extend it by adding your custom code and call `{{super()}}` to add code from parent template, example:
-```jinja
-{%- block imports %}
-yout code
-{{super()}}
-{%- endblock -%}
-```
-
-To enable custom template feature add following into `sdl_ios/generator/mapping.json`:
-```json
-{
- "functions": {
- "PutFile": {
- "template": true
- }
- }
-}
-```
-
-Create custom template - `sdl_ios/generator/templates/functions/PutFile.h`:
-```jinja
-{% extends 'functions/template.h' %}
-{%- block imports %}
-#import <Foundation/Foundation.h>
-{{super()}}
-{%- endblock -%}
-{%- block constructors -%}
-{{super()}}
-- (instancetype)initWithFileName:(NSString *)fileName fileType:(SDLFileType)fileType persistentFile:(BOOL)persistentFile systemFile:(BOOL)systemFile offset:(UInt32)offset length:(UInt32)length bulkData:(NSData *)bulkData;
-{% endblock -%}
-{%- block methods %}
-@property (nullable, copy, nonatomic) SDLRPCCommandNotificationHandler handler;
-{{super()}}
-{%- endblock -%}
-```
-
-As a result the generated file will look like the following - `sdl_ios/SmartDeviceLink/SDLPutFile.h`:
-```objc
-...
-#import <Foundation/Foundation.h>
-...
-- (instancetype)initWithFileName:(NSString *)fileName fileType:(SDLFileType)fileType persistentFile:(BOOL)persistentFile systemFile:(BOOL)systemFile offset:(UInt32)offset length:(UInt32)length bulkData:(NSData *)bulkData;
-...
-@property (nullable, copy, nonatomic) SDLRPCCommandNotificationHandler handler;
-...
-```
-
-Create custom template - `sdl_ios/generator/templates/functions/PutFile.m`:
-```jinja
-{% extends 'functions/template.h' %}
-{%- block imports -%}
-{{super()}}
-
-static NSString *const SDLBundleShortVersionStringKey = @"CFBundleShortVersionString";
-static NSString *const SDLBundleAppNameKey = @"CFBundleName";
-{%- endblock -%}
-{%- block constructors -%}
-{{super()}}
-- (instancetype)initWithFileName:(NSString *)fileName fileType:(SDLFileType)fileType persistentFile:(BOOL)persistentFile systemFile:(BOOL)systemFile offset:(UInt32)offset length:(UInt32)length bulkData:(NSData *)bulkData {
-
- self = [self initWithFileName:fileName fileType:fileType persistentFile:persistentFile systemFile:systemFile offset:offset length:length crc:[self.class sdl_getCRC32ChecksumForBulkData:bulkData]];
- if (!self) {
- return nil;
- }
-
- self.bulkData = bulkData;
-
- return self;
-}
-
-#pragma mark - Getters and Setters
-{% endblock -%}
-{%- block methods %}
-#pragma mark - Getters / Setters
-{{super()}}
--(id)copyWithZone:(nullable NSZone *)zone {
- SDLAddCommand *newCommand = [super copyWithZone:zone];
- newCommand->_handler = self.handler;
-
- return newCommand;
-}
-{% endblock -%}
-```
-
-As result generated file will look like the following - `sdl_ios/SmartDeviceLink/SDLPutFile.m`:
-```objc
-...
-static NSString *const SDLBundleShortVersionStringKey = @"CFBundleShortVersionString";
-static NSString *const SDLBundleAppNameKey = @"CFBundleName";
-...
-- (instancetype)initWithFileName:(NSString *)fileName fileType:(SDLFileType)fileType persistentFile:(BOOL)persistentFile systemFile:(BOOL)systemFile offset:(UInt32)offset length:(UInt32)length bulkData:(NSData *)bulkData {
-
- self = [self initWithFileName:fileName fileType:fileType persistentFile:persistentFile systemFile:systemFile offset:offset length:length crc:[self.class sdl_getCRC32ChecksumForBulkData:bulkData]];
- if (!self) {
- return nil;
- }
-
- self.bulkData = bulkData;
-
- return self;
-}
-
-#pragma mark - Getters and Setters
-...
--(id)copyWithZone:(nullable NSZone *)zone {
- SDLAddCommand *newCommand = [super copyWithZone:zone];
- newCommand->_handler = self.handler;
-
- return newCommand;
-}
-...
-```
-
-## "name"
-
-Change name of original structure.
-
-Notice: Name of class and name of file is the the same, so overriding of "name" property aso change the name of target file.
-
-Example:
-```json
-{
- "enums": {
- "HmiZoneCapabilities": {
- "name": "SDLHMIZoneCapabilities"
- }
- }
-}
-```
-
-`sdl_ios/SmartDeviceLink/SDLHMIZoneCapabilities.m`:
-```objc
-...
-#import "SDLHMIZoneCapabilities.h"
-...
-SDLHMIZoneCapabilities const SDLHMIZoneCapabilitiesFront = @"FRONT";
-...
-```
-
-`sdl_ios/SmartDeviceLink/SDLHMIZoneCapabilities.h`:
-```objc
-...
-typedef SDLEnum SDLHMIZoneCapabilities SDL_SWIFT_ENUM;
-...
-extern SDLHMIZoneCapabilities const SDLHMIZoneCapabilitiesFront;
-...
-```
-
-## "description"
-
-```json
-{
- "functions": {
- "RegisterAppInterfaceResponse": {
- "description": "long custom description"
- }
- }
-}
-```
-
-As a result the generated file will look like the following - `sdl_ios/SmartDeviceLink/SDLRegisterAppInterfaceResponse.h`:
-```objc
-...
-/**
- * long custom description
- */
-@interface SDLRegisterAppInterfaceResponse : SDLRPCResponse
-...
-```
-
-## "deprecated"
-
-If particular structure marked as deprecated is source xml, e.g.:
-```xml
-<enum name="SupportedSeat" deprecated="true" since="6.0">
-```
-
-By default the generated file will look like the following:
-```objc
-...
-/**
- * @deprecated
- */
-typedef SDLEnum SDLSupportedSeat SDL_SWIFT_ENUM __deprecated;
-...
-```
-
-But you are able to provide description for deprecated structure:
-```json
-{
- "enums": {
- "SupportedSeat": {
- "deprecated": "custom deprecated description"
- }
- }
-}
-```
-As a result the generated file will look like the following - `sdl_ios/SmartDeviceLink/SDLSupportedSeat.h`:
-```objc
-...
-/**
- * @deprecated
- */
-typedef SDLEnum SDLSupportedSeat SDL_SWIFT_ENUM __deprecated_msg("custom deprecated description");
-...
-```
-
-In case if particular structure wasn't marked as deprecated is source xml and you added "deprecated" for it into "mapping.json", appropriate structure will be marked as deprecated
-
-## "sort_constructor"
-
-All "elements|members|params" from particular structure will be transformed into target code in same sequence in which it present in source xml.
-By default the appropriate initiator (constructor) will be created from all "elements|members|params" with same sequence in which it present in source xml.
-
-To sort all "elements|members|params" by alphabetical order and then creating appropriate initiator (constructor) use following mapping parameter:
-
-```json
-{
- "functions": {
- "RegisterAppInterfaceResponse": {
- "sort_constructor": true
- }
- }
-}
-```
-
-Before:
-```objc
-...
-/**
- * @param syncMsgVersion - syncMsgVersion
- * @param language - language
- * @param hmiDisplayLanguage - hmiDisplayLanguage
- * @param displayCapabilities - displayCapabilities
- * @param buttonCapabilities - buttonCapabilities
- * @param softButtonCapabilities - softButtonCapabilities
- * @param presetBankCapabilities - presetBankCapabilities
- * @param hmiZoneCapabilities - hmiZoneCapabilities
- * @param speechCapabilities - speechCapabilities
- * @param prerecordedSpeech - prerecordedSpeech
- * @param vrCapabilities - vrCapabilities
- * @param audioPassThruCapabilities - audioPassThruCapabilities
- * @param pcmStreamCapabilities - pcmStreamCapabilities
- * @param vehicleType - vehicleType
- * @param supportedDiagModes - supportedDiagModes
- * @param hmiCapabilities - hmiCapabilities
- * @param sdlVersion - sdlVersion
- * @param systemSoftwareVersion - systemSoftwareVersion
- * @param iconResumed - @(iconResumed)
- * @return A SDLRegisterAppInterfaceResponse object
- */
-- (instancetype)initWithSyncMsgVersion:(nullable SDLSyncMsgVersion *)syncMsgVersion language:(nullable SDLLanguage)language hmiDisplayLanguage:(nullable SDLLanguage)hmiDisplayLanguage displayCapabilities:(nullable SDLDisplayCapabilities *)displayCapabilities buttonCapabilities:(nullable NSArray<SDLButtonCapabilities *> *)buttonCapabilities softButtonCapabilities:(nullable NSArray<SDLSoftButtonCapabilities *> *)softButtonCapabilities presetBankCapabilities:(nullable SDLPresetBankCapabilities *)presetBankCapabilities hmiZoneCapabilities:(nullable NSArray<SDLHmiZoneCapabilities> *)hmiZoneCapabilities speechCapabilities:(nullable NSArray<SDLSpeechCapabilities> *)speechCapabilities prerecordedSpeech:(nullable NSArray<SDLPrerecordedSpeech> *)prerecordedSpeech vrCapabilities:(nullable NSArray<SDLVrCapabilities> *)vrCapabilities audioPassThruCapabilities:(nullable NSArray<SDLAudioPassThruCapabilities *> *)audioPassThruCapabilities pcmStreamCapabilities:(nullable SDLAudioPassThruCapabilities *)pcmStreamCapabilities vehicleType:(nullable SDLVehicleType *)vehicleType supportedDiagModes:(nullable NSArray<NSNumber<SDLUInt> *> *)supportedDiagModes hmiCapabilities:(nullable SDLHMICapabilities *)hmiCapabilities sdlVersion:(nullable NSString *)sdlVersion systemSoftwareVersion:(nullable NSString *)systemSoftwareVersion iconResumed:(BOOL)iconResumed;
-...
-```
-
-After:
-```objc
-/**
- * @param audioPassThruCapabilities - audioPassThruCapabilities
- * @param buttonCapabilities - buttonCapabilities
- * @param displayCapabilities - displayCapabilities
- * @param hmiCapabilities - hmiCapabilities
- * @param hmiDisplayLanguage - hmiDisplayLanguage
- * @param hmiZoneCapabilities - hmiZoneCapabilities
- * @param iconResumed - @(iconResumed)
- * @param language - language
- * @param pcmStreamCapabilities - pcmStreamCapabilities
- * @param prerecordedSpeech - prerecordedSpeech
- * @param presetBankCapabilities - presetBankCapabilities
- * @param sdlVersion - sdlVersion
- * @param softButtonCapabilities - softButtonCapabilities
- * @param speechCapabilities - speechCapabilities
- * @param supportedDiagModes - supportedDiagModes
- * @param syncMsgVersion - syncMsgVersion
- * @param systemSoftwareVersion - systemSoftwareVersion
- * @param vehicleType - vehicleType
- * @param vrCapabilities - vrCapabilities
- * @return A SDLRegisterAppInterfaceResponse object
- */
-- (instancetype)initWithAudioPassThruCapabilities:(nullable NSArray<SDLAudioPassThruCapabilities *> *)audioPassThruCapabilities buttonCapabilities:(nullable NSArray<SDLButtonCapabilities *> *)buttonCapabilities displayCapabilities:(nullable SDLDisplayCapabilities *)displayCapabilities hmiCapabilities:(nullable SDLHMICapabilities *)hmiCapabilities hmiDisplayLanguage:(nullable SDLLanguage)hmiDisplayLanguage hmiZoneCapabilities:(nullable NSArray<SDLHmiZoneCapabilities> *)hmiZoneCapabilities iconResumed:(BOOL)iconResumed language:(nullable SDLLanguage)language pcmStreamCapabilities:(nullable SDLAudioPassThruCapabilities *)pcmStreamCapabilities prerecordedSpeech:(nullable NSArray<SDLPrerecordedSpeech> *)prerecordedSpeech presetBankCapabilities:(nullable SDLPresetBankCapabilities *)presetBankCapabilities sdlVersion:(nullable NSString *)sdlVersion softButtonCapabilities:(nullable NSArray<SDLSoftButtonCapabilities *> *)softButtonCapabilities speechCapabilities:(nullable NSArray<SDLSpeechCapabilities> *)speechCapabilities supportedDiagModes:(nullable NSArray<NSNumber<SDLUInt> *> *)supportedDiagModes syncMsgVersion:(nullable SDLSyncMsgVersion *)syncMsgVersion systemSoftwareVersion:(nullable NSString *)systemSoftwareVersion vehicleType:(nullable SDLVehicleType *)vehicleType vrCapabilities:(nullable NSArray<SDLVrCapabilities> *)vrCapabilities;
-```
-
-## "-params"
-
-If you need to remove some "elements|members|params", list them as follow:
-```json
-{
- "functions": {
- "RegisterAppInterfaceResponse": {
- "-params": [
- "syncMsgVersion"
- ]
- }
- }
-}
-```
-
-Before:
-```objc
-...
-@class SDLSyncMsgVersion;
-...
-/**
- * @param syncMsgVersion - syncMsgVersion
- * @param language - language
- * @param hmiDisplayLanguage - hmiDisplayLanguage
- * @return A SDLRegisterAppInterfaceResponse object
- */
-- (instancetype)initWithSyncMsgVersion:(nullable SDLSyncMsgVersion *)syncMsgVersion language:(nullable SDLLanguage)language hmiDisplayLanguage:(nullable SDLLanguage)hmiDisplayLanguage;
-
-@property (nullable, strong, nonatomic) SDLSyncMsgVersion *syncMsgVersion;
-...
-```
-
-After:
-```objc
-...
-/**
- * @param language - language
- * @param hmiDisplayLanguage - hmiDisplayLanguage
- * @return A SDLRegisterAppInterfaceResponse object
- */
-- (instancetype)initWithLanguage:(nullable SDLLanguage)language hmiDisplayLanguage:(nullable SDLLanguage)hmiDisplayLanguage;
-...
-```
-
-As result generated listed "elements|members|params" will be removed from appropriate getters/setters, initiators (constructors) and imports.
-
-## "params_title"
-
-Used for Enums only.
-
-To avoid capitalizing elements (used named from original source XML) use following parameter:
-```json
-{
- "enums": {
- "AudioType": {
- "params_title": false
- }
- }
-}
-```
-
-Before:
-```objc
-...
-extern SDLAudioType const SDLAudioTypePcm;
-...
-```
-
-After:
-```objc
-..
-extern SDLAudioType const SDLAudioTypePCM;
-...
-```
-
-## Customization sub elements|params|members
-
-## `Enum` elements customization
-
-### "value"
-
-```json
-{
- "enums": {
- "FunctionID": {
- "PerformInteractionID": {
- "value": "0XFF"
- }
- }
- }
-}
-```
-
-Before:
-```objc
-...
-@10: SDLRPCFunctionNamePerformInteraction,
-...
-```
-
-After:
-```objc
-...
-@0XFF: SDLRPCFunctionNamePerformInteraction,
-...
-```
-
-## `Struct` members and `Function` params customization
-
-### "origin"
-
-changing of "origin" also will affect "constructor_argument", "constructor_prefix" and "method_suffix"
-
-```json
-{
- "structs": {
- "RdsData": {
- "PS": {
- "origin": "programService"
- }
- }
- }
-}
-```
-
-Before:
-```objc
-...
-- (instancetype)initWithPS:(nullable NSString *)PS
-...
-@property (nullable, strong, nonatomic) NSString *PS;
-...
-```
-
-After:
-```objc
-...
-- (instancetype)initWithProgramService:(nullable NSString *)programService
-...
-@property (nullable, strong, nonatomic) NSString *programService;
-...
-```
-
-### "constructor_argument"
-
-initiator (constructor) parameter name
-
-```json
-{
- "structs": {
- "KeyboardProperties": {
- "limitedCharacterList": {
- "constructor_argument": "example_limitedCharacterList"
- }
- }
- }
-}
-```
-
-After:
-
-sdl_ios/SmartDeviceLink/SDLKeyboardProperties.h
-```objc
-...
-/**
- * @param language - language
- * @param example_limitedCharacterList - example_limitedCharacterList
- * @return A SDLKeyboardProperties object
- */
-- (instancetype)initWithLanguage:(nullable SDLLanguage)language limitedCharacterList:(nullable NSArray<NSString *> *)example_limitedCharacterList;
-...
-```
-
-sdl_ios/SmartDeviceLink/SDLKeyboardProperties.m
-```objc
-...
-- (instancetype)initWithLanguage:(nullable SDLLanguage)language limitedCharacterList:(nullable NSArray<NSString *> *)example_limitedCharacterList{
- self = [super init];
- if (!self) {
- return nil;
- }
- self.language = language;
- self.limitedCharacterList = example_limitedCharacterList;
-...
-```
-
-### "constructor_argument_override"
-
-```json
-{
- "structs": {
- "KeyboardProperties": {
- "limitedCharacterList": {
- "constructor_argument_override": "[limitedCharacterList mutableCopy]"
- }
- }
- }
-}
-```
-
-After:
-
-sdl_ios/SmartDeviceLink/SDLKeyboardProperties.h
-```objc
-...
-/**
- * @param language - language
- * @param limitedCharacterList - [limitedCharacterList mutableCopy]
- * @return A SDLKeyboardProperties object
- */
-- (instancetype)initWithLanguage:(nullable SDLLanguage)language limitedCharacterList:(nullable NSArray<NSString *> *)limitedCharacterList;
-...
-```
-
-sdl_ios/SmartDeviceLink/SDLKeyboardProperties.m
-```objc
-...
-- (instancetype)initWithLanguage:(nullable SDLLanguage)language limitedCharacterList:(nullable NSArray<NSString *> *)limitedCharacterList {
- self = [super init];
- if (!self) {
- return nil;
- }
- self.language = language;
- self.limitedCharacterList = [limitedCharacterList mutableCopy];
-...
-```
-
-### "constructor_prefix"
-
-```json
-{
- "structs": {
- "ImageResolution": {
- "resolutionWidth": {
- "constructor_prefix": "Width"
- }
- }
- }
-}
-```
-
-Before:
-```objc
-...
-/**
- * @param resolutionWidth - @(resolutionWidth)
- * @return A SDLImageResolution object
- */
-- (instancetype)initWithResolutionWidth:(UInt16)resolutionWidth;
-...
-```
-
-After:
-```objc
-...
-/**
- * @param width - @(resolutionWidth)
- * @return A SDLImageResolution object
- */
-- (instancetype)initWithWidth:(UInt16)resolutionWidth;
-...
-```
-
-### "method_suffix"
-
-```json
-{
- "structs": {
- "TouchEvent": {
- "c": {
- "method_suffix": "Coordinate"
- }
- }
- }
-}
-```
-
-Before:
-```objc
-...
-- (void)setC:(NSArray<SDLTouchCoord *> *)c {
- [self.store sdl_setObject:c forName:SDLRPCParameterNameC];
-}
-
-- (NSArray<SDLTouchCoord *> *)c {
- NSError *error = nil;
- return [self.store sdl_objectsForName:SDLRPCParameterNameC ofClass:SDLTouchCoord.class error:&error];
-}
-...
-```
-
-After:
-```objc
-...
-- (void)setC:(NSArray<SDLTouchCoord *> *)c {
- [self.store sdl_setObject:c forName:SDLRPCParameterNameCoordinate];
-}
-
-- (NSArray<SDLTouchCoord *> *)c {
- NSError *error = nil;
- return [self.store sdl_objectsForName:SDLRPCParameterNameCoordinate ofClass:SDLTouchCoord.class error:&error];
-}
-...
-```
-
-### "deprecated"
-
-```json
-{
- "structs": {
- "KeyboardProperties": {
- "autoCompleteText": {
- "deprecated": false
- }
- }
- }
-}
-```
-```objc
-...
-@property (nullable, strong, nonatomic) NSString *autoCompleteText;
-...
-```
-####
-```json
-{
- "structs": {
- "KeyboardProperties": {
- "autoCompleteText": {
- "deprecated": "long deprecation description"
- }
- }
- }
-}
-```
-```objc
-...
-/**
- * @deprecated
- */
-@property (nullable, strong, nonatomic) NSString *autoCompleteText __deprecated_msg("long deprecation description");
-...
-```
-####
-```json
-{
- "structs": {
- "KeyboardProperties": {
- "autoCompleteText": {
- "deprecated": true
- }
- }
- }
-}
-```
-```objc
-...
-/**
- * @deprecated
- */
-@property (nullable, strong, nonatomic) NSString *autoCompleteText __deprecated;
-...
-```
-
-### "mandatory"
-
-```json
-{
- "structs": {
- "Image": {
- "isTemplate": {
- "mandatory": true
- }
- }
- }
-}
-```
-
-Before:
-```objc
-...
-/**
- * @param value - value
- * @param imageType - imageType
- * @return A SDLImage object
- */
-- (instancetype)initWithValue:(NSString *)value imageType:(SDLImageType)imageType;
-
-/**
- * @param value - value
- * @param imageType - imageType
- * @param isTemplate - @(isTemplate)
- * @return A SDLImage object
- */
-- (instancetype)initWithValue:(NSString *)value imageType:(SDLImageType)imageType isTemplate:(BOOL)isTemplate;
-...
-/**
- * Optional, BOOL
- */
-@property (nullable, strong, nonatomic) NSNumber<SDLBool> *isTemplate;
-...
-```
-
-After:
-```objc
-...
-/**
- * @param value - value
- * @param imageType - imageType
- * @param isTemplate - @(isTemplate)
- * @return A SDLImage object
- */
-- (instancetype)initWithValue:(NSString *)value imageType:(SDLImageType)imageType isTemplate:(BOOL)isTemplate;
-...
-/**
- * Required, BOOL
- */
-@property (strong, nonatomic) NSNumber<SDLBool> *isTemplate;
-...
-```
-
-### "since"
-
-```json
-{
- "structs": {
- "AppServiceManifest": {
- "rpcSpecVersion": {
- "since": "5.0.0"
- }
- }
- }
-}
-```
-
-Before:
-```objc
-...
-/**
- * This is the max RPC Spec version the app service understands. This is important during the RPC passthrough
- * functionality. If not included, it is assumed the max version of the module is acceptable.
- *
- * Optional, SDLSyncMsgVersion *
- */
-@property (nullable, strong, nonatomic) SDLSyncMsgVersion *rpcSpecVersion;
-...
-```
-
-After:
-```objc
-...
-/**
- * This is the max RPC Spec version the app service understands. This is important during the RPC passthrough
- * functionality. If not included, it is assumed the max version of the module is acceptable.
- *
- * @since SDL 5.0.0
- *
- * Optional, SDLSyncMsgVersion *
- */
-@property (nullable, strong, nonatomic) SDLSyncMsgVersion *rpcSpecVersion;
-...
-```
-
-### "of_class"
-
-```json
-{
- "functions": {
- "AddSubMenuRequest": {
- "menuIcon": {
- "of_class": "[SDLImage class]"
- }
- }
- }
-}
-```
-
-Before:
-```objc
-...
-- (nullable SDLImage *)menuIcon {
- return [self.parameters sdl_objectForName:SDLRPCParameterNameMenuIcon ofClass:SDLImage.class error:nil];
-}
-...
-```
-
-After:
-```objc
-...
-- (nullable SDLImage *)menuIcon {
- return [self.parameters sdl_objectForName:SDLRPCParameterNameMenuIcon ofClass:[SDLImage class] error:nil];
-}
-...
-```
-
-
-### "type_native"
-
-```json
-{
- "structs": {
- "LightState": {
- "density": {
- "type_native": "double"
- }
- }
- }
-}
-```
-
-Before:
-```objc
-...
-- (instancetype)initWithId:(SDLLightName)id status:(SDLLightStatus)status density:(float)density color:(nullable SDLRGBColor *)color;
-...
-```
-
-After:
-```objc
-...
-- (instancetype)initWithId:(SDLLightName)id status:(SDLLightStatus)status density:(double)density color:(nullable SDLRGBColor *)color;
-...
-```
-
-### "type_sdl"
-
-```json
-{
- "functions": {
- "RegisterAppInterfaceRequest": {
- "appHMIType": {
- "type_sdl": "NSArray<SDLAppHMIType *> *"
- }
- }
- }
-}
-```
-
-sdl_ios/SmartDeviceLink/SDLRegisterAppInterface.h
-
-Before:
-```objc
-...
-@property (nullable, strong, nonatomic) NSArray<SDLAppHMIType> *appHMIType;
-...
-```
-
-After:
-```objc
-...
-@property (nullable, strong, nonatomic) NSArray<SDLAppHMIType *> *appHMIType;
-...
-```
-
-### "modifier"
-
-```json
-{
- "structs": {
- "LocationDetails": {
- "locationName": {
- "modifier": "copy"
- }
- }
- }
-}
-```
-
-Before:
-```objc
-...
-@property (nullable, strong, nonatomic) NSString *locationName;
-...
-```
-
-After:
-```objc
-...
-@property (nullable, copy, nonatomic) NSString *locationName;
-...
-```
-
-### "for_name"
-
-```json
-{
- "structs": {
- "VehicleDataResult": {
- "oemCustomDataType": {
- "for_name": "enum"
- }
- }
- }
-}
-```
-
-Before:
-```objc
-...
-- (nullable NSString *)oemCustomDataType {
- return [self.store sdl_objectForName:SDLRPCParameterNameOemCustomDataType ofClass:NSString.class error:nil];
-}
-...
-```
-
-After:
-```objc
-...
-- (nullable NSString *)oemCustomDataType {
- return [self.store sdl_enumForName:SDLRPCParameterNameOemCustomDataType ofClass:NSString.class error:nil];
-}
-...
-```
-
-
-### "description"
-
-```json
-{
- "functions": {
- "RegisterAppInterfaceResponse": {
- "syncMsgVersion": {
- "description": "Specifies the negotiated version number of the SmartDeviceLink protocol that is to be supported by the mobile application."
- }
- }
- }
-}
-```
-
-Before:
-```objc
-...
-/**
- * See SyncMsgVersion
- */
-@property (nullable, strong, nonatomic) SDLSyncMsgVersion *syncMsgVersion;
-...
-```
-
-After:
-```objc
-...
-/**
- * Specifies the negotiated version number of the SmartDeviceLink protocol that is to be supported by the mobile
- * application.
- */
-@property (nullable, strong, nonatomic) SDLSyncMsgVersion *syncMsgVersion;
-...
-```