Package com.avaya.clientservices.sharedcontrol

## Interface SharedControlServiceListener

-     public interface SharedControlServiceListener

  The listener for the shared control events.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `onControllableEndpointsAvailable​(java.util.List<ControllableEndpoint> availableEndpoints)` | Called when a controllable endpoint is available to do Shared Control with, i.e.
    `void` | `onControllableEndpointsListUpdated​(java.util.List<ControllableEndpoint> updatedEndpointsList)` | Called when there is an update in list of controllable endpoints.
    `void` | `onControllableEndpointsUnavailable()` | Called when no controllable endpoint is available to do Shared Control with, i.e.
    `void` | `onSharedControlSessionConnected​(ControllableEndpoint endpoint)` | Called when the shared control link with the controllable endpoint is established and a user can control the desk phone now.
    `void` | `onSharedControlSessionDisconnected​(ControllableEndpoint endpoint, SharedControlException exception)` | Called when the shared control link with the controllable endpoint is ended gracefully or down because of network issues.

- - ### Method Detail

    - #### onControllableEndpointsAvailable

          void onControllableEndpointsAvailable​(java.util.List<ControllableEndpoint> availableEndpoints)

      Called when a controllable endpoint is available to do Shared Control with, i.e. when the desk phone is logged in and there was no desk phone logged in before.
      Parameters:
        `availableEndpoints` - Controllable endpoints that are now available.

    - #### onControllableEndpointsListUpdated

          void onControllableEndpointsListUpdated​(java.util.List<ControllableEndpoint> updatedEndpointsList)

      Called when there is an update in list of controllable endpoints. This update can be addition or removal of an endpoint, i.e. the desk phone is logged in or out.
      Parameters:
        `updatedEndpointsList` - Updated list of controllable endpoints that are now available.

    - #### onControllableEndpointsUnavailable

          void onControllableEndpointsUnavailable()

      Called when no controllable endpoint is available to do Shared Control with, i.e. there is no desk phone logged in.

    - #### onSharedControlSessionConnected

          void onSharedControlSessionConnected​(ControllableEndpoint endpoint)

      Called when the shared control link with the controllable endpoint is established and a user can control the desk phone now. This is typically when the RegisterApplicationResponse is received from the desk phone.
      Parameters:
        `endpoint` - Controllable endpoint with which shared control link is established.

    - #### onSharedControlSessionDisconnected

          void onSharedControlSessionDisconnected​(ControllableEndpoint endpoint,
                                                  SharedControlException exception)

      Called when the shared control link with the controllable endpoint is ended gracefully or down because of network issues.
      Parameters:
        `endpoint` - Controllable endpoint with which shared control link is disconnected.
        `exception` - The reason that caused the shared control session to disconnect.