BCAT services: Difference between revisions

No edit summary
No edit summary
Line 2: Line 2:


= bcat:a, bcat:m, bcat:u, bcat:s =
= bcat:a, bcat:m, bcat:u, bcat:s =
These are "nn::bcat::detail::ipc::IServiceCreator".
These are "nn::bcat::ipc::IServiceCreator".


These were added with [2.0.0+].
These were added with [2.0.0+].
Line 24: Line 24:


== IBcatService ==
== IBcatService ==
This is "nn::bcat::detail::ipc::IBcatService".
This is "nn::bcat::ipc::IBcatService".


This was added with [2.0.0+].
This was added with [2.0.0+].
Line 113: Line 113:


=== IDeliveryCacheProgressService ===
=== IDeliveryCacheProgressService ===
This is "nn::bcat::detail::ipc::IDeliveryCacheProgressService".
This is "nn::bcat::ipc::IDeliveryCacheProgressService".


This was added with [2.0.0+].
This was added with [2.0.0+].
Line 127: Line 127:


== IDeliveryCacheStorageService ==
== IDeliveryCacheStorageService ==
This is "nn::bcat::detail::ipc::IDeliveryCacheStorageService".
This is "nn::bcat::ipc::IDeliveryCacheStorageService".


This was added with [2.0.0+].
This was added with [2.0.0+].
Line 143: Line 143:


=== IDeliveryCacheFileService ===
=== IDeliveryCacheFileService ===
This is "nn::bcat::detail::ipc::IDeliveryCacheFileService".
This is "nn::bcat::ipc::IDeliveryCacheFileService".


This was added with [2.0.0+].
This was added with [2.0.0+].
Line 161: Line 161:


=== IDeliveryCacheDirectoryService ===
=== IDeliveryCacheDirectoryService ===
This is "nn::bcat::detail::ipc::IDeliveryCacheDirectoryService".
This is "nn::bcat::ipc::IDeliveryCacheDirectoryService".


This was added with [2.0.0+].
This was added with [2.0.0+].
Line 177: Line 177:


=== INotifierService ===
=== INotifierService ===
This is "nn::bcat::detail::ipc::INotifierService".
This is "nn::bcat::ipc::INotifierService".


Added with [8.0.0+].
Added with [8.0.0+].
Line 189: Line 189:


=== IDeliveryTaskSuspensionService ===
=== IDeliveryTaskSuspensionService ===
This is "nn::bcat::detail::ipc::IDeliveryTaskSuspensionService".
This is "nn::bcat::ipc::IDeliveryTaskSuspensionService".


Added with [8.0.0+].
Added with [8.0.0+].
Line 303: Line 303:


=== 30500 ===
=== 30500 ===
Takes a type-0x9 input buffer URL, the size of the transfer memory and a handle for the latter, returns an [[#IUnknown2]].
Takes a type-0x9 input buffer URL, the size of the transfer memory and a handle for the latter, returns an [[#IDownloadContext]].
Downloaded files need to be encrypted [https://switchbrew.org/wiki/BCAT_Content_Container BCAT Content Container] (Crypto type 1-3).
Downloaded files need to be encrypted [https://switchbrew.org/wiki/BCAT_Content_Container BCAT Content Container] (Crypto type 1-3).
Files will be decrypted before being stored in the transfer memory.
Files will be decrypted before being stored in the transfer memory.
Line 393: Line 393:
Event is signaled on fetch from CDN if the file already exists.
Event is signaled on fetch from CDN if the file already exists.


== IUnknown2 ==
== IDownloadContext ==
This is <nowiki>"nn::news::detail::ipc::IDownloadContext"</nowiki>.
 
This was added with [8.0.0+].
This was added with [8.0.0+].
On creation this object is enqueued and an event is signaled prompting a download from another thread (nn.news.Downloader).
On creation this object is enqueued and an event is signaled prompting a download from another thread (nn.news.Downloader).
(Made up names)


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 413: Line 414:


=== Get ===
=== Get ===
Unofficial name.
Return event handle. Signaled on download finish.
Return event handle. Signaled on download finish.


=== Cancel ===
=== Cancel ===
Unofficial name.
Cancels Download.
Cancels Download.


=== GetResult ===
=== GetResult ===
Unofficial name.
Returns last result.
Returns last result.


=== GetSize ===
=== GetSize ===
Unofficial name.
Returns final decoded size. 0 if the result of [[#GetResult]] is not 0 or Download isn't finished/was canceled.
Returns final decoded size. 0 if the result of [[#GetResult]] is not 0 or Download isn't finished/was canceled.


== NewsDatabase ==
== NewsDatabase ==
Internal SQLite database. Has a second version since 6.0.0.
Internal SQLite database. Has a second version since 6.0.0.