NPNS services: Difference between revisions
→npns:s: version for DestroyTokenForBaaS |
→npns: Events and minor cleanup |
||
| Line 16: | Line 16: | ||
| 4 || ReceiveRaw | | 4 || ReceiveRaw | ||
|- | |- | ||
| 5 || GetReceiveEvent | | 5 || [[#GetReceiveEvent]] | ||
|- | |- | ||
| 7 || GetStateChangeEvent | | 7 || [[#GetStateChangeEvent]] | ||
|- | |- | ||
| 21 || CreateToken | | 21 || CreateToken | ||
| Line 64: | Line 64: | ||
| 4 || ReceiveRaw | | 4 || ReceiveRaw | ||
|- | |- | ||
| 5 || GetReceiveEvent | | 5 || [[#GetReceiveEvent]] | ||
|- | |- | ||
| 6 || [[#ListenUndelivered]] | | 6 || [[#ListenUndelivered]] | ||
|- | |- | ||
| 7 || GetStateChangeEvent | | 7 || [[#GetStateChangeEvent]] | ||
|- | |- | ||
| 11 || SubscribeTopic | | 11 || SubscribeTopic | ||
| Line 138: | Line 138: | ||
=== ListenTo === | === ListenTo === | ||
Takes an input u64 program id. | Takes an input u64 program id, no output. | ||
=== GetReceiveEvent === | |||
No input, returns an output Event handle with autoclear=true. | |||
=== GetStateChangeEvent === | |||
No input, returns an output Event handle with autoclear=true. | |||
=== ListenUndelivered === | === ListenUndelivered === | ||
No input, same as calling [[#ListenTo]] with program id 0. | |||
=== GetJid === | === GetJid === | ||
No input, returns the current Jabber Identifier[https://xmpp.org/extensions/xep-0029.html] in a type-10 buffer. | |||
Locally it's stored in "npns_save:/persistent.bin" | Locally it's stored in "npns_save:/persistent.bin" | ||
=== CreateJid === | === CreateJid === | ||
No input, no output. | |||
Fetches a new Jid from the CDN. Invalidates the old one if existent. | Fetches a new Jid from the CDN. Invalidates the old one if existent. | ||
=== DestroyJid === | === DestroyJid === | ||
Invalidates and deletes the | No input, no output. | ||
Invalidates and deletes the current Jid. | |||
=== CreateNotificationReceiver === | === CreateNotificationReceiver === | ||
Revision as of 13:04, 23 July 2020
This is used for Push Notifications.
npns:u
This is "nn::npns::INpnsUser".
| Cmd | Name |
|---|---|
| 1 | ListenAll |
| 2 | #ListenTo |
| 3 | Receive |
| 4 | ReceiveRaw |
| 5 | #GetReceiveEvent |
| 7 | #GetStateChangeEvent |
| 21 | CreateToken |
| 23 | DestroyToken |
| 25 | QueryIsTokenValid |
| 26 | [5.0.0+] ListenToMyApplicationId |
| 101 | Suspend |
| 102 | Resume |
| 103 | GetState |
| 104 | [3.0.0+] GetStatistics |
| 111 | GetJid |
| 120 | [7.0.0+] #CreateNotificationReceiver |
| 151 | [8.0.0+] GetStateWithHandover |
| 152 | [8.0.0+] GetStateChangeEventWithHandover |
| 153 | [8.0.0+] GetDropEventWithHandover |
[5.0.0+] CreateToken/DestroyToken now takes an additional 8-bytes of input and a PID.
npns:s
This is "nn::npns::INpnsSystem".
| Cmd | Name |
|---|---|
| 1 | ListenAll |
| 2 | #ListenTo |
| 3 | Receive |
| 4 | ReceiveRaw |
| 5 | #GetReceiveEvent |
| 6 | #ListenUndelivered |
| 7 | #GetStateChangeEvent |
| 11 | SubscribeTopic |
| 12 | UnsubscribeTopic |
| 13 | QueryIsTopicExist |
| 21 | CreateToken |
| 22 | CreateTokenWithApplicationId |
| 23 | DestroyToken |
| 24 | DestroyTokenWithApplicationId |
| 25 | QueryIsTokenValid |
| 26 | [5.0.0+] ListenToMyApplicationId |
| 31 | UploadTokenToBaaS |
| 32 | [2.0.0+] DestroyTokenForBaaS |
| 33 | [7.0.0+] CreateTokenForBaas |
| 34 | [7.0.0+] SetBaasDeviceAccountIdList |
| 101 | Suspend |
| 102 | Resume |
| 103 | GetState |
| 104 | [3.0.0+] GetStatistics |
| 105 | [3.0.0+] GetPlayReportRequestEvent |
| 111 | #GetJid |
| 112 | #CreateJid |
| 113 | #DestroyJid |
| 114 | AttachJid |
| 115 | DetachJid |
| 120 | [7.0.0+] #CreateNotificationReceiver |
| 151 | [8.0.0+] GetStateWithHandover |
| 152 | [8.0.0+] GetStateChangeEventWithHandover |
| 153 | [8.0.0+] GetDropEventWithHandover |
| 161 | [10.0.0+] GetRequestChangeStateCancelEvent |
| 162 | [10.0.0+] RequestChangeStateForceTimedWithCancelEvent |
| 201 | [3.0.0+] RequestChangeStateForceTimed |
| 202 | [3.0.0+] RequestChangeStateForceAsync |
[5.0.0+] CreateToken/DestroyToken now takes an additional 8-bytes of input and a PID.
ListenAll, ReceiveRaw, CreateToken, DestroyToken, QueryIsTokenValid are stubbed. They return 0x7fc9a on [1.0.0] and 0x36dc9a on later versions.
ListenTo
Takes an input u64 program id, no output.
GetReceiveEvent
No input, returns an output Event handle with autoclear=true.
GetStateChangeEvent
No input, returns an output Event handle with autoclear=true.
ListenUndelivered
No input, same as calling #ListenTo with program id 0.
GetJid
No input, returns the current Jabber Identifier[1] in a type-10 buffer. Locally it's stored in "npns_save:/persistent.bin"
CreateJid
No input, no output. Fetches a new Jid from the CDN. Invalidates the old one if existent.
DestroyJid
No input, no output. Invalidates and deletes the current Jid.
CreateNotificationReceiver
Returns an #INotificationReceiver.
INotificationReceiver
This is "nn::npns::INotificationReceiver".
This was added with [7.0.0+].
| Cmd | Name | Notes |
|---|---|---|
| 1 | #ListenTo | Takes a total of 8-bytes of input, no output. |
| 2 | ListenToMyApplicationId | Takes a total of 8-bytes of input and a PID, no output. |
| 3 | Receive | Takes a total of 2-bytes of input and a type-0x6 output buffer. |
| 4 | GetReceiveEvent | No input, returns an output handle. |