NIM services: Difference between revisions

No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 288: Line 288:
| 141 || [15.0.0+] IsNetworkConnectionEnabledToUseApplicationCore
| 141 || [15.0.0+] IsNetworkConnectionEnabledToUseApplicationCore
|-
|-
| 142 || [17.0.0+] RequestCheckSafeSystemVersion
| 142 || [17.0.0+] [[#RequestCheckSafeSystemVersion]]
|-
|-
| 143 || [17.0.0+] [[#RequestApplicationIcon]]
| 143 || [17.0.0+] [[#RequestApplicationIcon]]
Line 626: Line 626:
== GetApplyDeltaTaskAllAppliedContentMeta ==
== GetApplyDeltaTaskAllAppliedContentMeta ==
[20.0.0+] Now takes a 0x18-bytes type-0x6 output buffer and returns 4-bytes of output instead of 0x18-bytes.
[20.0.0+] Now takes a 0x18-bytes type-0x6 output buffer and returns 4-bytes of output instead of 0x18-bytes.
== RequestCheckSafeSystemVersion ==
No input, returns an output Event and an [[#IAsyncResult]].
The async task does a network request with [[Network|bvc]].


== RequestApplicationIcon ==
== RequestApplicationIcon ==
Line 1,106: Line 1,111:


With SystemUpdate the server only uses StorageId=BuiltInSystem.
With SystemUpdate the server only uses StorageId=BuiltInSystem.
With SystemUpdate, when the server handles message 0x1 prior to loading the PackagedContentInfo, it first loads the [[CNMT]] ContentMetaInfo array with the ContentMetaKey from [[#CreateLocalCommunicationSendSystemUpdateTask|CreateLocalCommunicationSendSystemUpdateTask]]. The input message ContentMetaKey [[NCM_services|ContentInstallType]] must be 0x0 (Full), otherwise it skips the following loop. It then loops through the ContentMetaInfo array comparing against the input message ContentMetaKey, for verifying that one of the entries match. After the loop if a valid entry wasn't found, the input message ContentMetaKey must match the ContentMetaKey from [[#CreateLocalCommunicationSendSystemUpdateTask|CreateLocalCommunicationSendSystemUpdateTask]], otherwise an error is thrown. It then loads the PackagedContentInfo.
With Application, when the server handles message 0x1 prior to loading the PackagedContentInfo, it first loops through the input array from [[#CreateLocalCommunicationSendApplicationTask|CreateLocalCommunicationSendApplicationTask]], throwing an error if the input ContentMetaKey doesn't match an entry from here. It then loads the PackagedContentInfo with the StorageId from the located entry.
With Application, when the server handles message 0x2 for determining what StorageId to use, it loops through the input array from [[#CreateLocalCommunicationSendApplicationTask|CreateLocalCommunicationSendApplicationTask]]. [[NCM_services|ncm]] IContentMetaDatabase HasContent is used with the array entry ContentMetaKey and the message input [[NCM_services#ContentId|ContentId]]. When cmd output indicates the content is present, the entry StorageId is written to output. Otherwise an error is thrown if none found with all array entries.


Messages:
Messages: