messenger 6.2 introduced this really cool new hook

CONFIRM status of those parameters, by the way. they're defined as such since 6.0 in the TLB.

`HRESULT Type([out, retval] CONNECT_TYPE* pVal);`
This commit is contained in:
yellows111 2024-03-28 08:22:35 +00:00
parent cf441a9e75
commit 2adad3dfe5
1 changed files with 26 additions and 3 deletions

29
api.md
View File

@ -68,13 +68,15 @@ Requires `ReplaceIM` permission.
Unimplemented. Send a message (`bstrIM`) as if written by the user through the channel. Unimplemented. Send a message (`bstrIM`) as if written by the user through the channel.
### window.external.Channel.SendFile(pdFileInfo: FileInfo) ### window.external.Channel.SendFile(pdFileInfo: FileInfo*)
Requires `SendFile` and `ActiveX` permissions. Requires `SendFile` and `ActiveX` permissions.
Returns the `pdFileInfo` object.
Unimplemented. Send a file from the local client's storage device through the Channel. Unimplemented. Send a file from the local client's storage device through the Channel.
### window.external.Channel.CancelSendFile(aFileInfo: FileInfo) ### window.external.Channel.CancelSendFile(aFileInfo: FileInfo*)
Requires `SendFile` and `ActiveX` permissions. Requires `SendFile` and `ActiveX` permissions.
@ -92,6 +94,8 @@ Technical: Called by a beforeunload handler in messenger.js.
### Channel_OnDataError ### Channel_OnDataError
Accepts parameter `pdispError`: {"Type": long, "Data": string}.
Triggered if a `window.external.Channel.SendData()` were to fail on the local client. Triggered if a `window.external.Channel.SendData()` were to fail on the local client.
The local client should handle the Error object in `window.external.Error`: The local client should handle the Error object in `window.external.Error`:
@ -101,22 +105,30 @@ The local client should handle the Error object in `window.external.Error`:
### Channel_OnDataReceived ### Channel_OnDataReceived
Accepts parameter `vData`: string.
Triggered after the remote client calls `window.external.Channel.SendData()`. Triggered after the remote client calls `window.external.Channel.SendData()`.
The local client should handle the data given in `window.external.Channel.Data` as a string. The local client should handle the data given in `window.external.Channel.Data` as a string.
### Channel_OnFileProgress ### Channel_OnFileProgress
Accepts parameter `pdispFile`: FileInfo.
Unimplemented. Only fired if Activity has `SendFile` permission. Unimplemented. Only fired if Activity has `SendFile` permission.
Triggered after data has been sent over the channel to the remote client regarding a file transfer. Triggered after data has been sent over the channel to the remote client regarding a file transfer.
### Channel_OnFileReceived ### Channel_OnFileReceived
Accepts parameter `pdispFile`: FileInfo.
Unimplemented. Only fired if Activity has `SendFile` permission. Unimplemented. Only fired if Activity has `SendFile` permission.
Triggered after a file transfer to the local client is received. Triggered after a file transfer to the local client is received.
The local client should handle the data given in `window.external.Channel.File` as a FileInfo.
### Channel_OnIMReceived ### Channel_OnIMReceived
Unimplemented. Only fired if Activity has `ReceiveIM` permission. Unimplemented. Only fired if Activity has `ReceiveIM` permission.
@ -139,15 +151,19 @@ Triggered when the remote client's Activity window has fired `window.external.Ch
### Channel_OnSendFileCancelled ### Channel_OnSendFileCancelled
Accepts parameter `pdispFile`: FileInfo.
Unimplemented. Only fired if Activity has `SendFile` permission. Unimplemented. Only fired if Activity has `SendFile` permission.
Triggered when a file transfer is cancelled by either client. Triggered when a file transfer is cancelled by either client.
### Channel_OnTypeChanged ### Channel_OnTypeChanged
Accepts parameter `eConnectionType`: number.
Triggered when the connection type changes. Triggered when the connection type changes.
The local client can see the new connection type by getting `window.external.Channel.Type`, which provides these values: The local client can see the new connection type by getting `window.external.Channel.Type` (or `eConnectionType`'s value), which provides these values:
0: Direct connection, Switchboard connection exists, but the local client has a direct connection to the remote client. 0: Direct connection, Switchboard connection exists, but the local client has a direct connection to the remote client.
@ -155,6 +171,13 @@ The local client can see the new connection type by getting `window.external.Cha
2: Disconnected, No connection to the remote client. 2: Disconnected, No connection to the remote client.
### Channel_OnIMSent
Accepts parameter `bstrIM`: string.
Unimplemented. Triggered when the local client has sent an Instant Message. The `bstrIM` parameter contains the IM text.
Originally introduced in client version 6.2.
# Other objects # Other objects