From 459f970ebf7ae093ae26af7c377a9e841e612026 Mon Sep 17 00:00:00 2001 From: JackLivio Date: Wed, 30 Jan 2019 13:02:28 -0500 Subject: [PATCH 01/10] App Services Base + Media + Weather --- MOBILE_API.xml | 463 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 462 insertions(+), 1 deletion(-) diff --git a/MOBILE_API.xml b/MOBILE_API.xml index 2db1b97f2..eac5c3472 100644 --- a/MOBILE_API.xml +++ b/MOBILE_API.xml @@ -2608,6 +2608,10 @@ + + + + + + + + + + + + + + + + + + + + + + + This data is related to what a media service should provide + + The type of the currently playing or paused track. + + + + Music: The name of the current track + Podcast: The name of the current episode + Audiobook: The name of the current chapter + + + + + Music: The name of the current album artist + Podcast: The provider of the podcast (hosts, network, company) + Audiobook: The book author's name + + + + + Music: The name of the current album + Podcast: The name of the current podcast show + Audiobook: The name of the current book + + + + + Music: The name of the playlist or radio station, if the user is playing from a playlist, otherwise, Null + Podcast: The name of the playlist, if the user is playing from a playlist, otherwise, Null + Audiobook: Likely not applicable, possibly a collection or "playlist" of books + + + + Whether or not the content currently playing (e.g. the track, episode, or book) contains explicit content + + + + Music: The current progress of the track in seconds + Podcast: The current progress of the episode in seconds + Audiobook: The current progress of the current segment (e.g. the chapter) in seconds + + + + + Music: The total duration of the track in seconds + Podcast: The total duration of the episode in seconds + Audiobook: The total duration of the current segment (e.g. the chapter) in seconds + + + + + Music: The current progress of the playback queue in seconds + Podcast: The current progress of the playback queue in seconds + Audiobook: The current progress of the playback queue (e.g. the book) in seconds + + + + + Music: The total duration of the playback queue in seconds + Podcast: The total duration of the playback queue in seconds + Audiobook: The total duration of the playback queue (e.g. the book) in seconds + + + + + Music: The current number (1 based) of the track in the playback queue + Podcast: The current number (1 based) of the episode in the playback queue + Audiobook: The current number (1 based) of the episode in the playback queue (e.g. the chapter number in the book) + + + + + Music: The total number of tracks in the playback queue + Podcast: The total number of episodes in the playback queue + Audiobook: The total number of sections in the playback queue (e.g. the number of chapters in the book) + + + + + + + + + + + + + + This data is related to what a weather service would provide + + + + + + + This array should be ordered with the first object being the current day + + + + + + + + + + + + + + + 0 to 1, percentage humidity + + + 0 to 1, percentage cloud cover + + + 0 to 1, percentage of the moon seen, e.g. 0 = no moon, 0.25 = quarter moon + + + + In degrees, true north at 0 degrees + + + km/hr + + + km/hr + + + + In degrees, true north at 0 degrees + + + In km + + + cm + + + cm of water per hour + + + 0 to 1, percentage chance + + + e.g. "rain", "snow", "sleet", "hail" + + + In km + + + + + + + + + + + + + + + + This manifest contains all the information necessary for the service to be published, activated, and consumers able to interact with it + + + Unique name of this service + + + + The type of service that is to be offered by this app + + + + The file name of the icon to be associated with this service. Most likely the same as the appIcon. + + + + If true, app service consumers beyond the IVI system will be able to access this service. If false, only the IVI system will be able consume the service. If not provided, it is assumed to be false. + + + + + The URI prefix for this service. If provided, all PerformAppServiceInteraction requests must start with it. + + + This is a custom schema for this service. SDL will not do any verification on this param past that it has a correctly formated JSON Object as its base. The uriScheme should contain all available actions to be taken through a PerformAppServiceInteraction request from an app service consumer. + + + + + 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. + + + This field contains the Function IDs for the RPCs that this service intends to handle correctly. This means the service will provide meaningful responses. + + + + + + + + This is the record of an app service publisher that the module has. It should contain the most up to date information including the service's active state + + + A unique ID tied to this specific service record. The ID is supplied by the module that services publish themselves. + + + + Manifest for the service that this record is for. + + + + If true, the service is published and available. If false, the service has likely just been unpublished, and should be considered unavailable. + + + + If true, the service is the active primary service of the supplied service type. It will receive all potential RPCs that are passed through to that service type. If false, it is not the primary service of the supplied type. See servicePublished for its availability. + + + + + Contains all the current data of the app service. The serviceType will link to which of the service data objects are included in this object. (eg if service type equals MEDIA, the mediaServiceData param should be included. + + + + + + + + + + + The service has just been published with the module and once activated to the primary service of its type, it will be ready for possible consumption. + + + The service has just been unpublished with the module and is no longer accessible + + + The service is activated as the primary service of this type. All requests dealing with this service type will be handled by this service. + + + The service has been deactivated as the primary service of its type + + + The service has updated its manifest. This could imply updated capabilities + + + + + + Only included in OnSystemCapabilityUpdated. Update reason for service record. + + + Service record for a specific app service provider + + + + + Capabilities of app services including what service types are supported and the current state of services. + + An array of supported app service types + + + An array of currently available services. If this is an update to the capability the affected services will include an update reason in that item + + + + @@ -6554,6 +6854,9 @@ The type of system capability to get more information on + + Flag to subscribe to updates of the supplied service capability type. If true, the requester will be subscribed. If false, the requester will not be subscribed and be removed as a subscriber if it was previously subscribed. + @@ -6606,6 +6909,150 @@ + + + Registers a service offered by this app on the module + + + The manifest of the service that wishes to be published. + + + + + + Response to the request to register a service offered by this app on the module + + + If the request was successful, this object will be the current status of the service record for the published service. This will include the Core supplied service ID. + + + + true, if successful; false, if failed + + + + See Result + + + + + + + + + + + + Provides additional human readable info regarding the result. + + + + + This request asks the module for current data related to the specific service. It also includes an option to subscribe to that service for future updates + + + + + If true, the consumer is requesting to subscribe to all future updates from the service publisher. If false, the consumer doesn't wish to subscribe and should be unsubscribed if it was previously subscribed. + + + + + + This response includes the data that is requested from the specific service + + + true, if successful; false, if failed + + + + See Result + + + + + + + + + + + + Provides additional human readable info regarding the result. + + + + + + + + + + This request is sent to the module to retrieve a file + + + File name that should be retrieved. + + + + ID of the service that should have uploaded the requested file. + + + + Selected file type. + + + + + Optional offset in bytes for resuming partial data chunks + + + + Optional length in bytes for resuming partial data chunks if offset is set to 0, then length is the total length of the file to be downloaded + + + + + + + + Fully qualified URI based on the URI prefix and URI scheme the app service provided. SDL makes no gurantee that this URI is correct. + + + + The service ID that the app consumer wishes to send this URI. + + + + This string is the appID of the app requesting the app service provider take the specific action. + + + + This flag signals the requesting consumer would like this service to become the active primary service of the destination's type. + + + + + + + + + true, if successful; false, if failed + + + + See Result. All results will be available for this response. + + + + Provides additional human readable info regarding the result. + + + + The service can provide specific result strings to the consumer through this param. These results should be described in the URI schema set in the Service Manifest + + + @@ -6732,7 +7179,13 @@ The status of the park brake as provided by Electric Park Brake (EPB) system. - + + + This notification includes the data that is updated from the specific service + + + + Emergency Call notification and confirmation data @@ -6896,6 +7349,14 @@ Contains a list (zero or more) of module types that are free to access for the application. + + + A notification to inform the connected device that a specific system capability has changed. + + + The system capability that has been updated + + From 0fab1b6d034ca59c97e26e760db24bba03cb3c8c Mon Sep 17 00:00:00 2001 From: JackLivio Date: Thu, 21 Feb 2019 16:31:12 -0500 Subject: [PATCH 02/10] Update based on revisions --- MOBILE_API.xml | 151 ++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 137 insertions(+), 14 deletions(-) diff --git a/MOBILE_API.xml b/MOBILE_API.xml index eac5c3472..963360866 100644 --- a/MOBILE_API.xml +++ b/MOBILE_API.xml @@ -2611,7 +2611,7 @@ - + - - The systemCapabilityType indicates which type of data should be changed and identifies which data object exists in this struct. For example, if the SystemCapability Type is NAVIGATION then a "navigationCapability" should exist - - Used as a descriptor of what data to expect in this struct. The corresponding param to this enum should be included and the only other para included. - - - Describes extended capabilities for onboard navigation system - - - Describes extended capabilities of the module's phone feature - - - Describes extended capabilities of the module's phone feature - - - Describes extended capabilities of the module's phone feature - - - An array of currently available services. If this is an update to the capability the affected services will include an update reason in that item - - @@ -3715,100 +3694,112 @@ + - - - - - - - - - - - - - This data is related to what a media service should provide + + + + + + + + + + + + This data is related to what a media service should provide + The type of the currently playing or paused track. + - Music: The name of the current track - Podcast: The name of the current episode - Audiobook: The name of the current chapter + Music: The name of the current track + Podcast: The name of the current episode + Audiobook: The name of the current chapter + - Music: The name of the current album artist - Podcast: The provider of the podcast (hosts, network, company) - Audiobook: The book author's name + Music: The name of the current album artist + Podcast: The provider of the podcast (hosts, network, company) + Audiobook: The book author's name + - Music: The name of the current album - Podcast: The name of the current podcast show - Audiobook: The name of the current book + Music: The name of the current album + Podcast: The name of the current podcast show + Audiobook: The name of the current book + - Music: The name of the playlist or radio station, if the user is playing from a playlist, otherwise, Null - Podcast: The name of the playlist, if the user is playing from a playlist, otherwise, Null - Audiobook: Likely not applicable, possibly a collection or "playlist" of books + Music: The name of the playlist or radio station, if the user is playing from a playlist, otherwise, Null + Podcast: The name of the playlist, if the user is playing from a playlist, otherwise, Null + Audiobook: Likely not applicable, possibly a collection or "playlist" of books - + + Whether or not the content currently playing (e.g. the track, episode, or book) contains explicit content - + + - Music: The current progress of the track in seconds - Podcast: The current progress of the episode in seconds - Audiobook: The current progress of the current segment (e.g. the chapter) in seconds + Music: The current progress of the track in seconds + Podcast: The current progress of the episode in seconds + Audiobook: The current progress of the current segment (e.g. the chapter) in seconds - + + - Music: The total duration of the track in seconds - Podcast: The total duration of the episode in seconds - Audiobook: The total duration of the current segment (e.g. the chapter) in seconds + Music: The total duration of the track in seconds + Podcast: The total duration of the episode in seconds + Audiobook: The total duration of the current segment (e.g. the chapter) in seconds - + + - Music: The current progress of the playback queue in seconds - Podcast: The current progress of the playback queue in seconds - Audiobook: The current progress of the playback queue (e.g. the book) in seconds + Music: The current progress of the playback queue in seconds + Podcast: The current progress of the playback queue in seconds + Audiobook: The current progress of the playback queue (e.g. the book) in seconds - + + - Music: The total duration of the playback queue in seconds - Podcast: The total duration of the playback queue in seconds - Audiobook: The total duration of the playback queue (e.g. the book) in seconds + Music: The total duration of the playback queue in seconds + Podcast: The total duration of the playback queue in seconds + Audiobook: The total duration of the playback queue (e.g. the book) in seconds - + + - Music: The current number (1 based) of the track in the playback queue - Podcast: The current number (1 based) of the episode in the playback queue - Audiobook: The current number (1 based) of the episode in the playback queue (e.g. the chapter number in the book) + Music: The current number (1 based) of the track in the playback queue + Podcast: The current number (1 based) of the episode in the playback queue + Audiobook: The current number (1 based) of the episode in the playback queue (e.g. the chapter number in the book) - + + - Music: The total number of tracks in the playback queue - Podcast: The total number of episodes in the playback queue - Audiobook: The total number of sections in the playback queue (e.g. the number of chapters in the book) + Music: The total number of tracks in the playback queue + Podcast: The total number of episodes in the playback queue + Audiobook: The total number of sections in the playback queue (e.g. the number of chapters in the book) - + @@ -3816,19 +3807,16 @@ - - This data is related to what a weather service would provide - - - - - - - This array should be ordered with the first object being the current day - + + + + + + + - + @@ -3838,13 +3826,13 @@ - + 0 to 1, percentage humidity - + 0 to 1, percentage cloud cover - + 0 to 1, percentage of the moon seen, e.g. 0 = no moon, 0.25 = quarter moon @@ -3864,183 +3852,172 @@ In km - + cm - + cm of water per hour - + 0 to 1, percentage chance - + e.g. "rain", "snow", "sleet", "hail" - + In km - + - - - - - - - + + This data is related to what a weather service would provide + + + + + + + This array should be ordered with the first object being the current day + - - Informs the subscriber if this service can actually accept way points. - - - - - This data is related to what a navigation service would provide. - - - This is the timestamp of when the data was generated. This is to ensure any time or distance given in the data can accurately be adjusted if necessary. - - - - - - - - - - - This array should be ordered with all remaining instructions. The start of this array should always contain the next instruction. - - - - - The distance to this instruction from current location. This should only be updated ever .1 unit of distance. For more accuracy the consumer can use the GPS location of itself and the next instruction. - - - Distance till next maneuver (starting from) from previous maneuver. - - - - This is a prompt message that should be conveyed to the user through either display or voice (TTS). This param will change often as it should represent the following: approaching instruction, post instruction, alerts that affect the current navigation session, etc. + + Informs the subscriber if this service can actually accept way points. - - - - - - - - - - - - The angle at which this instruction takes place. For example, 0 would mean straight, <=45 is bearing right, >= 135 is sharp right, between 45 and 135 is a regular right, and 180 is a U-Turn, etc. - - - - - - - Used to infer which side of the road this instruction takes place. For a U-Turn (Action=Turn, direction=180) this will determine which direction the turn should take place. - - - - This is a string representation of this instruction, used to display instructions to the users. This is not intended to be read aloud to the users, see the param prompt in NavigationServiceData for that. - - - - An image representation of this instruction. - - - Using this action plus a supplied direction can give the type of turn. - - - - - - - - - - - - - - + + + + + + + + - A junction that represents a standard intersection with a single road crossing another. + A junction that represents a standard intersection with a single road crossing another. - A junction where the road splits off into two paths; a fork in the road. + A junction where the road splits off into two paths; a fork in the road. - A junction that has multiple intersections and paths. - + A junction that has multiple intersections and paths. + - A junction where traffic moves in a single direction around a central, non-traversable point to reach one of the connecting roads. + A junction where traffic moves in a single direction around a central, non-traversable point to reach one of the connecting roads. - Similar to a roundabout, however the center of the roundabout is fully traversable. Also known as a mini-roundabout. + Similar to a roundabout, however the center of the roundabout is fully traversable. Also known as a mini-roundabout. - A junction where lefts diverge to the right, then curve to the left, converting a left turn to a crossing maneuver. + A junction where lefts diverge to the right, then curve to the left, converting a left turn to a crossing maneuver. - Multiple way intersection that allows traffic to flow based on priority; most commonly right of way and first in, first out. + Multiple way intersection that allows traffic to flow based on priority; most commonly right of way and first in, first out. - A junction designated for traffic turn arounds. + A junction designated for traffic turn arounds. - + - - - This manifest contains all the information necessary for the service to be published, activated, and allow consumers to interact with it - - - Unique name of this service - - - - The type of service that is to be offered by this app. See AppServiceType for known enum equivalent types. Parameter is a string to allow for new service types to be used by apps on older versions of SDL Core. - - - - The icon to be associated with this service. Most likely the same as the appIcon. - - - - If true, app service consumers beyond the IVI system will be able to access this service. If false, only the IVI system will be able consume the service. If not provided, it is assumed to be false. - - - - 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. - - - - This field contains the Function IDs for the RPCs that this service intends to handle correctly. This means the service will provide meaningful responses. See FunctionID for enum equivalent values. This parameter is an integer to allow for new function IDs to be used by apps on older versions of SDL Core. - - - - - - + + + + + + + + + The angle at which this instruction takes place. For example, 0 would mean straight, less than 45 is bearing right, greater than 135 is sharp right, between 45 and 135 is a regular right, and 180 is a U-Turn, etc. + + + + + + Used to infer which side of the road this instruction takes place. For a U-Turn (Action=Turn, direction=180) this will determine which direction the turn should take place. + + + + This is a string representation of this instruction, used to display instructions to the users. This is not intended to be read aloud to the users, see the param prompt in NavigationServiceData for that. + + + + An image representation of this instruction. + + + + + This data is related to what a navigation service would provide. + + + This is the timestamp of when the data was generated. This is to ensure any time or distance given in the data can accurately be adjusted if necessary. + + + + + + + + This array should be ordered with all remaining instructions. The start of this array should always contain the next instruction. + + + + + The distance to this instruction from current location. This should only be updated ever .1 unit of distance. For more accuracy the consumer can use the GPS location of itself and the next instruction. + + + Distance till next maneuver (starting from) from previous maneuver. + + + + This is a prompt message that should be conveyed to the user through either display or voice (TTS). This param will change often as it should represent the following: approaching instruction, post instruction, alerts that affect the current navigation session, etc. + + + + + This manifest contains all the information necessary for the service to be published, activated, and consumers able to interact with it + + + Unique name of this service + + + + The type of service that is to be offered by this app + + + + The file name of the icon to be associated with this service. Most likely the same as the appIcon. + + + + If true, app service consumers beyond the IVI system will be able to access this service. If false, only the IVI system will be able consume the service. If not provided, it is assumed to be false. + + + + 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. + + + + This field contains the Function IDs for the RPCs that this service intends to handle correctly. This means the service will provide meaningful responses. + + + + + + This is the record of an app service publisher that the module has. It should contain the most up to date information including the service's active state @@ -4066,9 +4043,10 @@ Contains all the current data of the app service. The serviceType will link to which of the service data objects are included in this object. (eg if service type equals MEDIA, the mediaServiceData param should be included. - The type of service that is to be offered by this app. See AppServiceType for known enum equivalent types. Parameter is a string to allow for new service types to be used by apps on older versions of SDL Core. - + The type of service that is to be offered by this app. See AppServiceType for known enum equivalent types. Parameter is a string to allow for new service types to be used by apps on older versions of SDL Core. + + @@ -4076,19 +4054,19 @@ - The service has just been published with the module and once activated to the primary service of its type, it will be ready for possible consumption. + The service has just been published with the module and once activated to the primary service of its type, it will be ready for possible consumption. - The service has just been unpublished with the module and is no longer accessible + The service has just been unpublished with the module and is no longer accessible - The service is activated as the primary service of this type. All requests dealing with this service type will be handled by this service. + The service is activated as the primary service of this type. All requests dealing with this service type will be handled by this service. - The service has been deactivated as the primary service of its type + The service has been deactivated as the primary service of its type - The service has updated its manifest. This could imply updated capabilities + The service has updated its manifest. This could imply updated capabilities @@ -4103,16 +4081,35 @@ Capabilities of app services including what service types are supported and the current state of services. - - An array of supported app service types - An array of currently available services. If this is an update to the capability the affected services will include an update reason in that item - + + + The systemCapabilityType identifies which data object exists in this struct. For example, if the SystemCapability Type is NAVIGATION then a "navigationCapability" should exist + + Used as a descriptor of what data to expect in this struct. The corresponding param to this enum should be included and the only other para included. + + + Describes extended capabilities for onboard navigation system + + + Describes extended capabilities of the module's phone feature + + + Describes extended capabilities of the module's phone feature + + + Describes extended capabilities of the module's phone feature + + + An array of currently available services. If this is an update to the capability the affected services will include an update reason in that item + + + @@ -6426,7 +6423,65 @@ Provides additional human readable info regarding the result. - + + + This request is sent to the module to retrieve a file + + File name that should be retrieved + + + ID of the service that should have uploaded the requested file. + + + Selected file type. + + + Optional offset in bytes for resuming partial data chunks + + + Optional length in bytes for resuming partial data chunks if offset is set to 0, then length is the total length of the file to be downloaded + + + + + This response includes the data that is requested from the specific service + + true, if successful; false, if failed + + + See Result + + + + + + + + + + + + Provides additional human readable info regarding the result. + + + + + Optional offset in bytes for resuming partial data chunks + + + + Optional length in bytes for resuming partial data chunks if offset is set to 0, then length is the total length of the file to be downloaded + + + + File type that is being sent in response. + + + + Additional CRC32 checksum to protect data integrity up to 512 Mbits + + + Used to delete a file resident on the module in the app's local cache. @@ -7023,26 +7078,21 @@ - + Registers a service offered by this app on the module The manifest of the service that wishes to be published. - - + Response to the request to register a service offered by this app on the module - - If the request was successful, this object will be the current status of the service record for the published service. This will include the Core supplied service ID. - - true, if successful; false, if failed - + See Result @@ -7054,10 +7104,14 @@ - + Provides additional human readable info regarding the result. + + + If the request was successful, this object will be the current status of the service record for the published service. This will include the Core supplied service ID. + @@ -7070,7 +7124,6 @@ If true, the consumer is requesting to subscribe to all future updates from the service publisher. If false, the consumer doesn't wish to subscribe and should be unsubscribed if it was previously subscribed. - @@ -7096,65 +7149,33 @@ Provides additional human readable info regarding the result. - - - - - - - - This request is sent to the module to retrieve a file - - - File name that should be retrieved. - - - - ID of the service that should have uploaded the requested file. - - - - Selected file type. - - - - - Optional offset in bytes for resuming partial data chunks - - - - Optional length in bytes for resuming partial data chunks if offset is set to 0, then length is the total length of the file to be downloaded - - + + - Fully qualified URI based on the URI prefix and URI scheme the app service provided. SDL makes no gurantee that this URI is correct. - - The service ID that the app consumer wishes to send this URI. + + The service ID that the app consumer wishes to send this URI. - This string is the appID of the app requesting the app service provider take the specific action. + This string is the appID of the app requesting the app service provider take the specific action. - This flag signals the requesting consumer would like this service to become the active primary service of the destination's type. + This flag signals the requesting consumer would like this service to become the active primary service of the destination's type. - - - true, if successful; false, if failed - + See Result. All results will be available for this response. @@ -7163,12 +7184,11 @@ Provides additional human readable info regarding the result. - + The service can provide specific result strings to the consumer through this param. These results should be described in the URI schema set in the Service Manifest - - + @@ -7294,13 +7314,6 @@ The status of the park brake as provided by Electric Park Brake (EPB) system. - - - This notification includes the data that is updated from the specific service - - - - Emergency Call notification and confirmation data @@ -7465,11 +7478,16 @@ + + This notification includes the data that is updated from the specific service + + + + - A notification to inform the connected device that a specific system capability has changed. - + A notification to inform the connected device that a specific system capability has changed. - The system capability that has been updated + The system capability that has been updated diff --git a/README.md b/README.md index 77daefbb5..c2eb33bbf 100644 --- a/README.md +++ b/README.md @@ -1352,6 +1352,10 @@ Enumeration linking function names with function IDs in SmartDeviceLink protocol |`UnsubscribeWayPointsID`|| |`GetSystemCapabilityID`|| |`SendHapticDataID`|| +|`PublishAppServiceID`|| +|`GetAppServiceDataID`|| +|`GetFileID`|| +|`PerformAppServiceInteractionID`|| |`OnHMIStatusID`|| |`OnAppInterfaceUnregisteredID`|| |`OnButtonEventID`|| @@ -1370,6 +1374,8 @@ Enumeration linking function names with function IDs in SmartDeviceLink protocol |`OnInteriorVehicleDataID`|| |`OnWayPointChangeID`|| |`OnRCStatusID`|| +|`OnAppServiceDataID`|| +|`OnSystemCapabilityUpdatedID`|| |`EncodedSyncPDataID`|| |`SyncPDataID`|| |`OnEncodedSyncPDataID`|| @@ -1412,6 +1418,7 @@ Enumerations of all available system capability types |`PHONE_CALL`|| |`VIDEO_STREAMING`|| |`REMOTE_CONTROL`|| +|`APP_SERVICES`|| ### MassageZone @@ -1578,6 +1585,77 @@ List possible seats that is a remote controllable seat. |`humidity`|The data in this field describes the current humidity value.| +### AppServiceType +##### Elements + +| Value | Description | +| ---------- |:-----------:| +|`MEDIA`|| +|`WEATHER`|| +|`NAVIGATION`|| + + +### MediaType +##### Elements + +| Value | Description | +| ---------- |:-----------:| +|`MUSIC`|| +|`PODCAST`|| +|`AUDIOBOOK`|| +|`OTHER`|| + + +### NavigationAction +##### Elements + +| Value | Description | +| ---------- |:-----------:| +|`TURN`|Using this action plus a supplied direction can give the type of turn. | +|`EXIT`|| +|`STAY`|| +|`MERGE`|| +|`FERRY`|| +|`CAR_SHUTTLE_TRAIN`|| +|`WAYPOINT`|| + + +### NavigationJunction +##### Elements + +| Value | Description | +| ---------- |:-----------:| +|`REGULAR`|A junction that represents a standard intersection with a single road crossing another. | +|`BIFURCATION`|A junction where the road splits off into two paths; a fork in the road. | +|`MULTI_CARRIAGEWAY`|A junction that has multiple intersections and paths. | +|`ROUNDABOUT`|A junction where traffic moves in a single direction around a central, non-traversable point to reach one of the connecting roads. | +|`TRAVERSABLE_ROUNDABOUT`|Similar to a roundabout, however the center of the roundabout is fully traversable. Also known as a mini-roundabout. | +|`JUGHANDLE`|A junction where lefts diverge to the right, then curve to the left, converting a left turn to a crossing maneuver. | +|`ALL_WAY_YIELD`|Multiple way intersection that allows traffic to flow based on priority; most commonly right of way and first in, first out. | +|`TURN_AROUND`|A junction designated for traffic turn arounds. | + + +### Direction +##### Elements + +| Value | Description | +| ---------- |:-----------:| +|`LEFT`|| +|`RIGHT`|| + + +### ServiceUpdateReason +##### Elements + +| Value | Description | +| ---------- |:-----------:| +|`PUBLISHED`|The service has just been published with the module and once activated to the primary service of its type, it will be ready for possible consumption.| +|`REMOVED`|The service has just been unpublished with the module and is no longer accessible| +|`ACTIVATED`|The service is activated as the primary service of this type. All requests dealing with this service type will be handled by this service.| +|`DEACTIVATED`|The service has been deactivated as the primary service of its type| +|`MANIFEST_UPDATE`|The service has updated its manifest. This could imply updated capabilities| + +
@@ -2582,20 +2660,6 @@ The moduleType indicates which type of data should be changed and identifies whi |`seatControlCapabilities`|SeatControlCapabilities[]|False|If included, the platform supports seat controls.| -### SystemCapability -The systemCapabilityType indicates which type of data should be changed and identifies which data object exists in this struct. For example, if the SystemCapability Type is NAVIGATION then a "navigationCapability" should exist - -##### Parameters - -| Value | Type | Mandatory | Description | -| ---------- | ---------- |:-----------: |:-----------:| -|`systemCapabilityType`|SystemCapabilityType|True|Used as a descriptor of what data to expect in this struct. The corresponding param to this enum should be included and the only other para included.| -|`navigationCapability`|NavigationCapability|False|Describes extended capabilities for onboard navigation system | -|`phoneCapability`|PhoneCapability|False|Describes extended capabilities of the module's phone feature| -|`videoStreamingCapability`|VideoStreamingCapability|False|Describes extended capabilities of the module's phone feature| -|`remoteControlCapability`|RemoteControlCapabilities|False|Describes extended capabilities of the module's phone feature| - - ### MetadataTags ##### Parameters @@ -2629,6 +2693,218 @@ Defines haptic data for each user control object for video streaming application |`rect`|Rectangle|True|The position of the haptic rectangle to be highlighted. The center of this rectangle will be "touched" when a press occurs.| +### MediaServiceManifest + +### MediaServiceData +This data is related to what a media service should provide + +##### Parameters + +| Value | Type | Mandatory | Description | +| ---------- | ---------- |:-----------: |:-----------:| +|`mediaType`|MediaType|False|The type of the currently playing or paused track.| +|`mediaTitle`|String|False|Music: The name of the current track Podcast: The name of the current episode Audiobook: The name of the current chapter | +|`mediaArtist`|String|False|Music: The name of the current album artist Podcast: The provider of the podcast (hosts, network, company) Audiobook: The book author's name | +|`mediaAlbum`|String|False|Music: The name of the current album Podcast: The name of the current podcast show Audiobook: The name of the current book | +|`playlistName`|String|False|Music: The name of the playlist or radio station, if the user is playing from a playlist, otherwise, Null Podcast: The name of the playlist, if the user is playing from a playlist, otherwise, Null Audiobook: Likely not applicable, possibly a collection or "playlist" of books | +|`isExplicit`|Boolean|False|Whether or not the content currently playing (e.g. the track, episode, or book) contains explicit content| +|`trackPlaybackProgress`|Integer|False|Music: The current progress of the track in seconds Podcast: The current progress of the episode in seconds Audiobook: The current progress of the current segment (e.g. the chapter) in seconds | +|`trackPlaybackDuration`|Integer|False|Music: The total duration of the track in seconds Podcast: The total duration of the episode in seconds Audiobook: The total duration of the current segment (e.g. the chapter) in seconds | +|`queuePlaybackProgress`|Integer|False|Music: The current progress of the playback queue in seconds Podcast: The current progress of the playback queue in seconds Audiobook: The current progress of the playback queue (e.g. the book) in seconds | +|`queuePlaybackDuration`|Integer|False|Music: The total duration of the playback queue in seconds Podcast: The total duration of the playback queue in seconds Audiobook: The total duration of the playback queue (e.g. the book) in seconds | +|`queueCurrentTrackNumber`|Integer|False|Music: The current number (1 based) of the track in the playback queue Podcast: The current number (1 based) of the episode in the playback queue Audiobook: The current number (1 based) of the episode in the playback queue (e.g. the chapter number in the book) | +|`queueTotalTrackCount`|Integer|False|Music: The total number of tracks in the playback queue Podcast: The total number of episodes in the playback queue Audiobook: The total number of sections in the playback queue (e.g. the number of chapters in the book) | + + +### WeatherServiceManifest +##### Parameters + +| Value | Type | Mandatory | Description | +| ---------- | ---------- |:-----------: |:-----------:| +|`currentForecastSupported`|Boolean|False|| +|`maxMultidayForecastAmount`|Integer|False|| +|`maxHourlyForecastAmount`|Integer|False|| +|`maxMinutelyForecastAmount`|Integer|False|| +|`weatherForLocationSupported`|Boolean|False|| + + +### WeatherAlert +##### Parameters + +| Value | Type | Mandatory | Description | +| ---------- | ---------- |:-----------: |:-----------:| +|`title`|String|False|| +|`summary`|String|False|| +|`expires`|DateTime|False|| +|`regions`|String[]|False|| +|`severity`|String|False|| +|`timeIssued`|DateTime|False|| + + +### WeatherData +##### Parameters + +| Value | Type | Mandatory | Description | +| ---------- | ---------- |:-----------: |:-----------:| +|`currentTemperature`|Temperature|False|| +|`temperatureHigh`|Temperature|False|| +|`temperatureLow`|Temperature|False|| +|`apparentTemperature`|Temperature|False|| +|`apparentTemperatureHigh`|Temperature|False|| +|`apparentTemperatureLow`|Temperature|False|| +|`weatherSummary`|String|False|| +|`time`|DateTime|False|| +|`humidity`|Float|False|0 to 1, percentage humidity | +|`cloudCover`|Float|False|0 to 1, percentage cloud cover | +|`moonPhase`|Float|False|0 to 1, percentage of the moon seen, e.g. 0 = no moon, 0.25 = quarter moon | +|`windBearing`|Integer|False|In degrees, true north at 0 degrees | +|`windGust`|Float|False|km/hr | +|`windSpeed`|Float|False|km/hr | +|`nearestStormBearing`|Integer|False|In degrees, true north at 0 degrees | +|`nearestStormDistance`|Integer|False|In km | +|`precipAccumulation`|Float|False|cm | +|`precipIntensity`|Float|False|cm of water per hour | +|`precipProbability`|Float|False|0 to 1, percentage chance | +|`precipType`|String|False|e.g. "rain", "snow", "sleet", "hail" | +|`visibility`|Float|False|In km | +|`weatherIconImageName`|String|False|| + + +### WeatherServiceData +This data is related to what a weather service would provide + +##### Parameters + +| Value | Type | Mandatory | Description | +| ---------- | ---------- |:-----------: |:-----------:| +|`location`|LocationDetails|True|| +|`currentForecast`|WeatherData|False|| +|`minuteForecast`|WeatherData[]|False|| +|`hourlyForecast`|WeatherData[]|False|| +|`multidayForecast`|WeatherData[]|False|| +|`alerts`|WeatherAlert[]|False|This array should be ordered with the first object being the current day| + + +### NavigationServiceManifest +##### Parameters + +| Value | Type | Mandatory | Description | +| ---------- | ---------- |:-----------: |:-----------:| +|`acceptsWayPoints`|Boolean|False|Informs the subscriber if this service can actually accept way points. | + + +### NavigationInstruction +##### Parameters + +| Value | Type | Mandatory | Description | +| ---------- | ---------- |:-----------: |:-----------:| +|`locationDetails`|LocationDetails|True|| +|`action`|NavigationAction|True|| +|`eta`|DateTime|False|| +|`bearing`|Integer|False|The angle at which this instruction takes place. For example, 0 would mean straight, less than 45 is bearing right, greater than 135 is sharp right, between 45 and 135 is a regular right, and 180 is a U-Turn, etc. | +|`junctionType`|NavigationJunction|False|| +|`drivingSide`|Direction|False|Used to infer which side of the road this instruction takes place. For a U-Turn (Action=Turn, direction=180) this will determine which direction the turn should take place. | +|`details`|String|False|This is a string representation of this instruction, used to display instructions to the users. This is not intended to be read aloud to the users, see the param prompt in NavigationServiceData for that. | +|`image`|Image|False|An image representation of this instruction. | + + +### NavigationServiceData +This data is related to what a navigation service would provide. + +##### Parameters + +| Value | Type | Mandatory | Description | +| ---------- | ---------- |:-----------: |:-----------:| +|`timeStamp`|DateTime|True|This is the timestamp of when the data was generated. This is to ensure any time or distance given in the data can accurately be adjusted if necessary. | +|`origin`|LocationDetails|False|| +|`destination`|LocationDetails|False|| +|`destinationETA`|DateTime|False|| +|`instructions`|NavigationInstruction[]|False|This array should be ordered with all remaining instructions. The start of this array should always contain the next instruction.| +|`nextInstructionETA`|DateTime|False|| +|`nextInstructionDistance`|Float|False|The distance to this instruction from current location. This should only be updated ever .1 unit of distance. For more accuracy the consumer can use the GPS location of itself and the next instruction. | +|`nextInstructionDistanceScale`|Float|False|Distance till next maneuver (starting from) from previous maneuver.| +|`prompt`|String|False|This is a prompt message that should be conveyed to the user through either display or voice (TTS). This param will change often as it should represent the following: approaching instruction, post instruction, alerts that affect the current navigation session, etc.| + + +### AppServiceManifest +This manifest contains all the information necessary for the service to be published, activated, and consumers able to interact with it + +##### Parameters + +| Value | Type | Mandatory | Description | +| ---------- | ---------- |:-----------: |:-----------:| +|`serviceName`|String|False|Unique name of this service | +|`serviceType`|String|True|The type of service that is to be offered by this app | +|`serviceIcon`|String|False|The file name of the icon to be associated with this service. Most likely the same as the appIcon. | +|`allowAppConsumers`|Boolean|False|If true, app service consumers beyond the IVI system will be able to access this service. If false, only the IVI system will be able consume the service. If not provided, it is assumed to be false. | +|`rpcSpecVersion`|SyncMsgVersion|False|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. | +|`handledRPCs`|Integer[]|False|This field contains the Function IDs for the RPCs that this service intends to handle correctly. This means the service will provide meaningful responses. | +|`mediaServiceManifest`|MediaServiceManifest|False|| +|`weatherServiceManifest`|WeatherServiceManifest|False|| +|`navigationServiceManifest`|NavigationServiceManifest|False|| + + +### AppServiceRecord +This is the record of an app service publisher that the module has. It should contain the most up to date information including the service's active state + +##### Parameters + +| Value | Type | Mandatory | Description | +| ---------- | ---------- |:-----------: |:-----------:| +|`serviceID`|String|True|A unique ID tied to this specific service record. The ID is supplied by the module that services publish themselves. | +|`serviceManifest`|AppServiceManifest|True|Manifest for the service that this record is for.| +|`servicePublished`|Boolean|True|If true, the service is published and available. If false, the service has likely just been unpublished, and should be considered unavailable.| +|`serviceActive`|Boolean|True|If true, the service is the active primary service of the supplied service type. It will receive all potential RPCs that are passed through to that service type. If false, it is not the primary service of the supplied type. See servicePublished for its availability. | + + +### AppServiceData +Contains all the current data of the app service. The serviceType will link to which of the service data objects are included in this object. (eg if service type equals MEDIA, the mediaServiceData param should be included. + +##### Parameters + +| Value | Type | Mandatory | Description | +| ---------- | ---------- |:-----------: |:-----------:| +|`serviceType`|String|True|The type of service that is to be offered by this app. See AppServiceType for known enum equivalent types. Parameter is a string to allow for new service types to be used by apps on older versions of SDL Core.| +|`serviceID`|String|True|| +|`mediaServiceData`|MediaServiceData|False|| +|`weatherServiceData`|WeatherServiceData|False|| +|`navigationServiceData`|NavigationServiceData|False|| + + +### AppServiceCapability +##### Parameters + +| Value | Type | Mandatory | Description | +| ---------- | ---------- |:-----------: |:-----------:| +|`updateReason`|ServiceUpdateReason|False|Only included in OnSystemCapabilityUpdated. Update reason for service record.| +|`updatedAppServiceRecord`|AppServiceRecord|True|Service record for a specific app service provider| + + +### AppServicesCapabilities +Capabilities of app services including what service types are supported and the current state of services. + +##### Parameters + +| Value | Type | Mandatory | Description | +| ---------- | ---------- |:-----------: |:-----------:| +|`appServices`|AppServiceCapability[]|False|An array of currently available services. If this is an update to the capability the affected services will include an update reason in that item| + + +### SystemCapability +The systemCapabilityType identifies which data object exists in this struct. For example, if the SystemCapability Type is NAVIGATION then a "navigationCapability" should exist + +##### Parameters + +| Value | Type | Mandatory | Description | +| ---------- | ---------- |:-----------: |:-----------:| +|`systemCapabilityType`|SystemCapabilityType|True|Used as a descriptor of what data to expect in this struct. The corresponding param to this enum should be included and the only other para included.| +|`navigationCapability`|NavigationCapability|False|Describes extended capabilities for onboard navigation system | +|`phoneCapability`|PhoneCapability|False|Describes extended capabilities of the module's phone feature| +|`videoStreamingCapability`|VideoStreamingCapability|False|Describes extended capabilities of the module's phone feature| +|`remoteControlCapability`|RemoteControlCapabilities|False|Describes extended capabilities of the module's phone feature| +|`appServicesCapabilities`|AppServicesCapabilities|False|An array of currently available services. If this is an update to the capability the affected services will include an update reason in that item| + +
@@ -3724,6 +4000,40 @@ Response is sent, when the file data was copied (success case). Or when an error |`info`|String|False|Provides additional human readable info regarding the result.| +### GetFile +Message Type: **request** + +This request is sent to the module to retrieve a file + +##### Parameters + +| Value | Type | Mandatory | Description | +| ---------- | ---------- |:-----------: |:-----------:| +|`fileName`|String|True|File name that should be retrieved| +|`appServiceId`|String|False|ID of the service that should have uploaded the requested file.| +|`fileType`|FileType|False|Selected file type.| +|`offset`|Integer|False|Optional offset in bytes for resuming partial data chunks| +|`length`|Integer|False|Optional length in bytes for resuming partial data chunks if offset is set to 0, then length is the total length of the file to be downloaded| + + +### GetFile +Message Type: **response** + +This response includes the data that is requested from the specific service + +##### Parameters + +| Value | Type | Mandatory | Description | +| ---------- | ---------- |:-----------: |:-----------:| +|`success`|Boolean|True|true, if successful; false, if failed | +|`resultCode`|Result|True|See Result| +|`info`|String|False|Provides additional human readable info regarding the result.| +|`offset`|Integer|False|Optional offset in bytes for resuming partial data chunks| +|`length`|Integer|False|Optional length in bytes for resuming partial data chunks if offset is set to 0, then length is the total length of the file to be downloaded| +|`fileType`|FileType|False|File type that is being sent in response.| +|`crc`|Integer|False|Additional CRC32 checksum to protect data integrity up to 512 Mbits| + + ### DeleteFile Message Type: **request** @@ -4084,6 +4394,7 @@ Request for expanded information about a supported system/HMI capability | Value | Type | Mandatory | Description | | ---------- | ---------- |:-----------: |:-----------:| |`systemCapabilityType`|SystemCapabilityType|True|The type of system capability to get more information on| +|`subscribe`|Boolean|False|Flag to subscribe to updates of the supplied service capability type. If true, the requester will be subscribed. If false, the requester will not be subscribed and be removed as a subscriber if it was previously subscribed.| ### GetSystemCapability @@ -4123,6 +4434,87 @@ Message Type: **response** |`resultCode`|Result|True|See Result| +### PublishAppService +Message Type: **request** + +Registers a service offered by this app on the module + +##### Parameters + +| Value | Type | Mandatory | Description | +| ---------- | ---------- |:-----------: |:-----------:| +|`appServiceManifest`|AppServiceManifest|True|The manifest of the service that wishes to be published.| + + +### PublishAppService +Message Type: **response** + +Response to the request to register a service offered by this app on the module + +##### Parameters + +| Value | Type | Mandatory | Description | +| ---------- | ---------- |:-----------: |:-----------:| +|`success`|Boolean|True|true, if successful; false, if failed | +|`resultCode`|Result|True|See Result| +|`info`|String|False|Provides additional human readable info regarding the result.| +|`appServiceRecord`|AppServiceRecord|False|If the request was successful, this object will be the current status of the service record for the published service. This will include the Core supplied service ID.| + + +### GetAppServiceData +Message Type: **request** + +This request asks the module for current data related to the specific service. It also includes an option to subscribe to that service for future updates + +##### Parameters + +| Value | Type | Mandatory | Description | +| ---------- | ---------- |:-----------: |:-----------:| +|`serviceType`|String|True|The type of service that is to be offered by this app. See AppServiceType for known enum equivalent types. Parameter is a string to allow for new service types to be used by apps on older versions of SDL Core.| +|`subscribe`|Boolean|False|If true, the consumer is requesting to subscribe to all future updates from the service publisher. If false, the consumer doesn't wish to subscribe and should be unsubscribed if it was previously subscribed.| + + +### GetAppServiceData +Message Type: **response** + +This response includes the data that is requested from the specific service + +##### Parameters + +| Value | Type | Mandatory | Description | +| ---------- | ---------- |:-----------: |:-----------:| +|`success`|Boolean|True|true, if successful; false, if failed | +|`resultCode`|Result|True|See Result| +|`info`|String|False|Provides additional human readable info regarding the result.| +|`serviceData`|AppServiceData|False|| + + +### PerformAppServiceInteraction +Message Type: **request** + +##### Parameters + +| Value | Type | Mandatory | Description | +| ---------- | ---------- |:-----------: |:-----------:| +|`serviceUri`|String|True|Fully qualified URI based on the URI prefix and URI scheme the app service provided. SDL makes no gurantee that this URI is correct.| +|`serviceID`|String|True|The service ID that the app consumer wishes to send this URI.| +|`originApp`|String|True|This string is the appID of the app requesting the app service provider take the specific action.| +|`requestServiceActive`|Boolean|False|This flag signals the requesting consumer would like this service to become the active primary service of the destination's type.| + + +### PerformAppServiceInteraction +Message Type: **response** + +##### Parameters + +| Value | Type | Mandatory | Description | +| ---------- | ---------- |:-----------: |:-----------:| +|`success`|Boolean|True|true, if successful; false, if failed | +|`resultCode`|Result|True|See Result. All results will be available for this response.| +|`info`|String|False|Provides additional human readable info regarding the result.| +|`serviceSpecificResult`|String|False|The service can provide specific result strings to the consumer through this param. These results should be described in the URI schema set in the Service Manifest| + + ### OnHMIStatus Message Type: **notification** @@ -4379,6 +4771,30 @@ Issued by SDL to notify the application about remote control status change on SD |`freeModules`|ModuleData[]|True|Contains a list (zero or more) of module types that are free to access for the application.| +### OnAppServiceData +Message Type: **notification** + +This notification includes the data that is updated from the specific service + +##### Parameters + +| Value | Type | Mandatory | Description | +| ---------- | ---------- |:-----------: |:-----------:| +|`serviceData`|AppServiceData|True|| + + +### OnSystemCapabilityUpdated +Message Type: **notification** + +A notification to inform the connected device that a specific system capability has changed. + +##### Parameters + +| Value | Type | Mandatory | Description | +| ---------- | ---------- |:-----------: |:-----------:| +|`systemCapability`|SystemCapability|True|The system capability that has been updated| + + ### EncodedSyncPData Message Type: **request** From 867c0af4acdb3fab4bbd401595e3b699222e9342 Mon Sep 17 00:00:00 2001 From: Jacob Keeler Date: Thu, 7 Mar 2019 17:08:32 -0500 Subject: [PATCH 06/10] Fix incorrect type of serviceIcon --- MOBILE_API.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MOBILE_API.xml b/MOBILE_API.xml index eed62f0ed..967e536f5 100644 --- a/MOBILE_API.xml +++ b/MOBILE_API.xml @@ -3998,8 +3998,8 @@ The type of service that is to be offered by this app - - The file name of the icon to be associated with this service. Most likely the same as the appIcon. + + The icon to be associated with this service. Most likely the same as the appIcon. From 06a3394c636aa24d9b880a352c67c94700476e0e Mon Sep 17 00:00:00 2001 From: jacobkeeler Date: Fri, 8 Mar 2019 15:42:49 -0500 Subject: [PATCH 07/10] Address review comments --- MOBILE_API.xml | 17 ++++++++++------- README.md | 16 ++++++++-------- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/MOBILE_API.xml b/MOBILE_API.xml index 967e536f5..87ace68ad 100644 --- a/MOBILE_API.xml +++ b/MOBILE_API.xml @@ -3947,7 +3947,7 @@ - Used to infer which side of the road this instruction takes place. For a U-Turn (Action=Turn, direction=180) this will determine which direction the turn should take place. + Used to infer which side of the road this instruction takes place. For a U-Turn (action=TURN, bearing=180) this will determine which direction the turn should take place. @@ -4040,7 +4040,7 @@ - Contains all the current data of the app service. The serviceType will link to which of the service data objects are included in this object. (eg if service type equals MEDIA, the mediaServiceData param should be included. + Contains all the current data of the app service. The serviceType will link to which of the service data objects are included in this object (e.g. if the service type is MEDIA, the mediaServiceData param should be included). The type of service that is to be offered by this app. See AppServiceType for known enum equivalent types. Parameter is a string to allow for new service types to be used by apps on older versions of SDL Core. @@ -4091,7 +4091,7 @@ The systemCapabilityType identifies which data object exists in this struct. For example, if the SystemCapability Type is NAVIGATION then a "navigationCapability" should exist - Used as a descriptor of what data to expect in this struct. The corresponding param to this enum should be included and the only other para included. + Used as a descriptor of what data to expect in this struct. The corresponding param to this enum should be included and the only other param included. Describes extended capabilities for onboard navigation system @@ -6439,7 +6439,10 @@ Optional offset in bytes for resuming partial data chunks - Optional length in bytes for resuming partial data chunks if offset is set to 0, then length is the total length of the file to be downloaded + + Optional length in bytes for resuming partial data chunks + If offset is set to 0, then length is the total length of the file to be retrieved +
@@ -7127,7 +7130,7 @@
- This response includes the data that is requested from the specific service + This response includes the data that was requested from the specific service true, if successful; false, if failed @@ -7155,7 +7158,7 @@ - Fully qualified URI based on the URI prefix and URI scheme the app service provided. SDL makes no gurantee that this URI is correct. + Fully qualified URI based on a predetermined scheme provided by the app service. SDL makes no guarantee that this URI is correct. @@ -7185,7 +7188,7 @@ - The service can provide specific result strings to the consumer through this param. These results should be described in the URI schema set in the Service Manifest + The service can provide specific result strings to the consumer through this param. diff --git a/README.md b/README.md index c2eb33bbf..1a8ff9a1d 100644 --- a/README.md +++ b/README.md @@ -2803,7 +2803,7 @@ This data is related to what a weather service would provide |`eta`|DateTime|False|| |`bearing`|Integer|False|The angle at which this instruction takes place. For example, 0 would mean straight, less than 45 is bearing right, greater than 135 is sharp right, between 45 and 135 is a regular right, and 180 is a U-Turn, etc. | |`junctionType`|NavigationJunction|False|| -|`drivingSide`|Direction|False|Used to infer which side of the road this instruction takes place. For a U-Turn (Action=Turn, direction=180) this will determine which direction the turn should take place. | +|`drivingSide`|Direction|False|Used to infer which side of the road this instruction takes place. For a U-Turn (action=TURN, bearing=180) this will determine which direction the turn should take place. | |`details`|String|False|This is a string representation of this instruction, used to display instructions to the users. This is not intended to be read aloud to the users, see the param prompt in NavigationServiceData for that. | |`image`|Image|False|An image representation of this instruction. | @@ -2835,7 +2835,7 @@ This manifest contains all the information necessary for the service to be publi | ---------- | ---------- |:-----------: |:-----------:| |`serviceName`|String|False|Unique name of this service | |`serviceType`|String|True|The type of service that is to be offered by this app | -|`serviceIcon`|String|False|The file name of the icon to be associated with this service. Most likely the same as the appIcon. | +|`serviceIcon`|Image|False|The icon to be associated with this service. Most likely the same as the appIcon.| |`allowAppConsumers`|Boolean|False|If true, app service consumers beyond the IVI system will be able to access this service. If false, only the IVI system will be able consume the service. If not provided, it is assumed to be false. | |`rpcSpecVersion`|SyncMsgVersion|False|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. | |`handledRPCs`|Integer[]|False|This field contains the Function IDs for the RPCs that this service intends to handle correctly. This means the service will provide meaningful responses. | @@ -2858,7 +2858,7 @@ This is the record of an app service publisher that the module has. It should co ### AppServiceData -Contains all the current data of the app service. The serviceType will link to which of the service data objects are included in this object. (eg if service type equals MEDIA, the mediaServiceData param should be included. +Contains all the current data of the app service. The serviceType will link to which of the service data objects are included in this object (e.g. if the service type is MEDIA, the mediaServiceData param should be included). ##### Parameters @@ -2897,7 +2897,7 @@ The systemCapabilityType identifies which data object exists in this struct. For | Value | Type | Mandatory | Description | | ---------- | ---------- |:-----------: |:-----------:| -|`systemCapabilityType`|SystemCapabilityType|True|Used as a descriptor of what data to expect in this struct. The corresponding param to this enum should be included and the only other para included.| +|`systemCapabilityType`|SystemCapabilityType|True|Used as a descriptor of what data to expect in this struct. The corresponding param to this enum should be included and the only other param included.| |`navigationCapability`|NavigationCapability|False|Describes extended capabilities for onboard navigation system | |`phoneCapability`|PhoneCapability|False|Describes extended capabilities of the module's phone feature| |`videoStreamingCapability`|VideoStreamingCapability|False|Describes extended capabilities of the module's phone feature| @@ -4013,7 +4013,7 @@ This request is sent to the module to retrieve a file |`appServiceId`|String|False|ID of the service that should have uploaded the requested file.| |`fileType`|FileType|False|Selected file type.| |`offset`|Integer|False|Optional offset in bytes for resuming partial data chunks| -|`length`|Integer|False|Optional length in bytes for resuming partial data chunks if offset is set to 0, then length is the total length of the file to be downloaded| +|`length`|Integer|False|Optional length in bytes for resuming partial data chunks If offset is set to 0, then length is the total length of the file to be retrieved | ### GetFile @@ -4477,7 +4477,7 @@ This request asks the module for current data related to the specific service. I ### GetAppServiceData Message Type: **response** -This response includes the data that is requested from the specific service +This response includes the data that was requested from the specific service ##### Parameters @@ -4496,7 +4496,7 @@ Message Type: **request** | Value | Type | Mandatory | Description | | ---------- | ---------- |:-----------: |:-----------:| -|`serviceUri`|String|True|Fully qualified URI based on the URI prefix and URI scheme the app service provided. SDL makes no gurantee that this URI is correct.| +|`serviceUri`|String|True|Fully qualified URI based on a predetermined scheme provided by the app service. SDL makes no guarantee that this URI is correct.| |`serviceID`|String|True|The service ID that the app consumer wishes to send this URI.| |`originApp`|String|True|This string is the appID of the app requesting the app service provider take the specific action.| |`requestServiceActive`|Boolean|False|This flag signals the requesting consumer would like this service to become the active primary service of the destination's type.| @@ -4512,7 +4512,7 @@ Message Type: **response** |`success`|Boolean|True|true, if successful; false, if failed | |`resultCode`|Result|True|See Result. All results will be available for this response.| |`info`|String|False|Provides additional human readable info regarding the result.| -|`serviceSpecificResult`|String|False|The service can provide specific result strings to the consumer through this param. These results should be described in the URI schema set in the Service Manifest| +|`serviceSpecificResult`|String|False|The service can provide specific result strings to the consumer through this param.| ### OnHMIStatus From 6eb3acd87e71c70df763d9ba82b982092b899df0 Mon Sep 17 00:00:00 2001 From: jacobkeeler Date: Fri, 15 Mar 2019 11:37:25 -0400 Subject: [PATCH 08/10] Fix definition of weatherIcon --- MOBILE_API.xml | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/MOBILE_API.xml b/MOBILE_API.xml index 87ace68ad..c440acaf4 100644 --- a/MOBILE_API.xml +++ b/MOBILE_API.xml @@ -3868,7 +3868,7 @@ In km - + diff --git a/README.md b/README.md index 1a8ff9a1d..e1101c743 100644 --- a/README.md +++ b/README.md @@ -2767,7 +2767,7 @@ This data is related to what a media service should provide |`precipProbability`|Float|False|0 to 1, percentage chance | |`precipType`|String|False|e.g. "rain", "snow", "sleet", "hail" | |`visibility`|Float|False|In km | -|`weatherIconImageName`|String|False|| +|`weatherIcon`|Image|False|| ### WeatherServiceData From 028bbb49a13b52078416ce25ef194d3620bc3403 Mon Sep 17 00:00:00 2001 From: jacobkeeler Date: Tue, 19 Mar 2019 10:45:43 -0400 Subject: [PATCH 09/10] Add missing versioning information --- MOBILE_API.xml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/MOBILE_API.xml b/MOBILE_API.xml index c440acaf4..97c439b8b 100644 --- a/MOBILE_API.xml +++ b/MOBILE_API.xml @@ -3883,13 +3883,13 @@ - + Informs the subscriber if this service can actually accept way points. - + Using this action plus a supplied direction can give the type of turn. @@ -3901,7 +3901,7 @@ - + A junction that represents a standard intersection with a single road crossing another. @@ -3928,12 +3928,12 @@
- + - + @@ -3959,7 +3959,7 @@ - + This data is related to what a navigation service would provide. @@ -4105,7 +4105,7 @@ Describes extended capabilities of the module's phone feature - + An array of currently available services. If this is an update to the capability the affected services will include an update reason in that item @@ -6424,7 +6424,7 @@ - + This request is sent to the module to retrieve a file File name that should be retrieved @@ -6446,7 +6446,7 @@ - + This response includes the data that is requested from the specific service true, if successful; false, if failed From 9631db3869455ec97db0d7486d53145e5cb44a3f Mon Sep 17 00:00:00 2001 From: jacobkeeler Date: Tue, 19 Mar 2019 12:42:12 -0400 Subject: [PATCH 10/10] Address comments --- MOBILE_API.xml | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/MOBILE_API.xml b/MOBILE_API.xml index 5a4b0e34b..41dfd2d61 100644 --- a/MOBILE_API.xml +++ b/MOBILE_API.xml @@ -4028,7 +4028,7 @@ - The type of service that is to be offered by this app + The type of service that is to be offered by this app. See AppServiceType for known enum equivalent types. Parameter is a string to allow for new service types to be used by apps on older versions of SDL Core. diff --git a/README.md b/README.md index bc72f4bce..57e69982d 100644 --- a/README.md +++ b/README.md @@ -2864,7 +2864,7 @@ This manifest contains all the information necessary for the service to be publi | Value | Type | Mandatory | Description | | ---------- | ---------- |:-----------: |:-----------:| |`serviceName`|String|False|Unique name of this service | -|`serviceType`|String|True|The type of service that is to be offered by this app | +|`serviceType`|String|True|The type of service that is to be offered by this app. See AppServiceType for known enum equivalent types. Parameter is a string to allow for new service types to be used by apps on older versions of SDL Core. | |`serviceIcon`|Image|False|The icon to be associated with this service. Most likely the same as the appIcon.| |`allowAppConsumers`|Boolean|False|If true, app service consumers beyond the IVI system will be able to access this service. If false, only the IVI system will be able consume the service. If not provided, it is assumed to be false. | |`rpcSpecVersion`|SyncMsgVersion|False|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. |