IRemoteSupportClient

interface IRemoteSupportClient : IMessageSender

IRemoteSupportClient is central interface that declares the necessary behavior responsible for establishing a connection to a remote peer allowing the exchange of Commands, Querys, and Notifications.

Functions

Link copied to clipboard
abstract suspend fun addScreenSharing(initializer: ScreenFormat): Boolean

Share the app screen with the remote peer

Link copied to clipboard
abstract suspend fun addVideoStream(videoStreamConfiguration: CameraFormat): Boolean

Add a video stream to the remote support session.

Link copied to clipboard
abstract fun close()

Close the entire remote support connection to the peer.

Link copied to clipboard
abstract suspend fun connectToSupportSession(pin: String)

Initializes the data transport and connects to an existing remote support session created by initiateSupportSession by another client

Link copied to clipboard
abstract suspend fun initiateSupportSession(): String?

Initialize a new remote support session with a new unique pin

Link copied to clipboard
abstract suspend fun sendCommand(cmd: Command): ICommandReceipt

Sends the provided Command to the remote peer

Link copied to clipboard
abstract suspend fun sendNotification(notif: Notification): Int

Sends the provided Notification to the remote peer

Link copied to clipboard
abstract suspend fun sendQuery(query: Query): IQueryReceipt

Sends the provided Query to the remote peer

Link copied to clipboard
abstract fun updateLogger(logger: ILogger)

Update the remote support client's logger

Properties

Link copied to clipboard
abstract val connectionState: StateFlow<RemoteSupportClientConnectionState>

Client connection state

Link copied to clipboard
abstract val isConnected: Boolean

true indicates a IRemoteSupportClient is connected; false otherwise.

Link copied to clipboard
abstract val onCommand: SharedFlow<CommandEventArgs>

Event raised when a Command is received from the remote peer. The remote peer is notified when the command is acknowledged using the ICommandContext.

Link copied to clipboard
abstract val onConnect: SharedFlow<Unit>

Event raised when the IRemoteSupportClient is connected.

Link copied to clipboard
abstract val onDisconnect: SharedFlow<DisconnectEventArgs>

Event raised when the IRemoteSupportClient is disconnected.

Link copied to clipboard
abstract val onMessageError: SharedFlow<MessageErrorEventArgs>

Event raised when a message error is raised locally, or when the remote client raises a message error.

Link copied to clipboard
abstract val onNotification: SharedFlow<NotificationEventArgs>

Raised when a Notification is received from the remote peer.

Link copied to clipboard
abstract val onPartialMessage: SharedFlow<PartialMessageReceivedEventArgs>

Event raised when a chunk of a large message has been received.

Link copied to clipboard
abstract val onQuery: SharedFlow<QueryEventArgs>

Event raised when a Query is received from the remote peer. Responses sent using the IQueryContext are sent to the remote peer. If multiple responses are required, pass false to IQueryContext.respond's isFinal parameter for the initial series of responses and true for the final response

Link copied to clipboard
abstract val onScreenCapture: SharedFlow<ScreenCaptureEventArgs>

Event raised when an outbound media stream created by a screen capture session has been connected

Link copied to clipboard
abstract val onVideoCapture: SharedFlow<VideoCaptureEventArgs>

Event raised when an outbound local media stream has been connected

Inheritors

Link copied to clipboard