BCAT services: Difference between revisions

Behemoth (talk | contribs)
News docs
Behemoth (talk | contribs)
News: add permission masks
Line 204: Line 204:
Metadata for each entry is stored and queried from an internal SQLite database.
Metadata for each entry is stored and queried from an internal SQLite database.
Official software uses sqlite[https://www.sqlite.org/download.html] for processing.
Official software uses sqlite[https://www.sqlite.org/download.html] for processing.
All sessions have 32 sessions.
Permission masks are:
{| class="wikitable" border="1"
|-
! Name || Mask
|-
| <nowiki>news:a</nowiki> || 0xffffffff
|-
| <nowiki>news:p</nowiki> || 0x1
|-
| <nowiki>news:c</nowiki> || 0x2
|-
| <nowiki>news:v</nowiki> || 0x4
|-
| <nowiki>news:m</nowiki> || 0xd
|}


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 219: Line 237:
| 4 || CreateOverwriteEventHolder || No input, returns an [[#IOverwriteEventHolder]].
| 4 || CreateOverwriteEventHolder || No input, returns an [[#IOverwriteEventHolder]].
|}
|}
CreateNewsDataService and CreateNewsDatabaseService require permission bit 2.


== INewsService ==
== INewsService ==
Line 225: Line 245:
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
! Cmd || Name
! Cmd || Name || Required Permission Bits
|-
|-
| 10100 || [[#PostLocalNews]]
| 10100 || [[#PostLocalNews]] || 0
|-
|-
| 20100 || SetPassphrase
| 20100 || SetPassphrase || 1
|-
|-
| 30100 || GetSubscriptionStatus
| 30100 || GetSubscriptionStatus || 1 or 2
|-
|-
| 30101 || [3.0.0+] GetTopicList
| 30101 || [3.0.0+] GetTopicList || 2
|-
|-
| [[#30110]] || [6.0.0+]
| [[#30110]] || [6.0.0+] || 2
|-
|-
| 30200 || [[#IsSystemUpdateRequired]]
| 30200 || [[#IsSystemUpdateRequired]] || 2
|-
|-
| 30201 || [8.0.0+]
| 30201 || [8.0.0+] || 2
|-
|-
| [[#30210]] || [10.0.0+]
| [[#30210]] || [10.0.0+] || 2
|-
|-
| 30300 || RequestImmediateReception
| 30300 || RequestImmediateReception || 2
|-
|-
| 30400 || [3.0.0+] DecodeArchiveFile
| 30400 || [3.0.0+] DecodeArchiveFile || 2
|-
|-
| 30500 || [8.0.0+] ? (Takes a total of 8-bytes of input, a handle, and a type-0x9 input buffer, returns an [[#IUnknown2]])
| 30500 || [8.0.0+] ? (Takes a total of 8-bytes of input, a handle, and a type-0x9 input buffer, returns an [[#IUnknown2]]) || 2
|-
|-
| 30900 || [1.0.0] (No input, returns an [[#INewlyArrivedEventHolder]])
| 30900 || [1.0.0] (No input, returns an [[#INewlyArrivedEventHolder]]) || 2
|-
|-
| 30901 || [1.0.0] (No input, returns an [[#INewsDataService]])
| 30901 || [1.0.0] (No input, returns an [[#INewsDataService]]) || 2
|-
|-
| 30902 || [1.0.0] (No input, returns an [[#INewsDatabaseService]])
| 30902 || [1.0.0] (No input, returns an [[#INewsDatabaseService]]) || 2
|-
|-
| 40100 || SetSubscriptionStatus
| 40100 || SetSubscriptionStatus || 1 or 3
|-
|-
| 40101 || [3.0.0+] RequestAutoSubscription
| 40101 || [3.0.0+] RequestAutoSubscription || 3
|-
|-
| 40200 || ClearStorage
| 40200 || ClearStorage || 3
|-
|-
| 40201 || ClearSubscriptionStatusAll
| 40201 || ClearSubscriptionStatusAll || 1 or 3
|-
|-
| 90100 || [[#GetNewsDatabaseDump]]
| 90100 || [[#GetNewsDatabaseDump]] || 4
|}
|}