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 |
| |} | | |} |
| | | |