Package com.avaya.clientservices.call.conference

## Interface ConferenceMobileLink

-     public interface ConferenceMobileLink

  MobileLink feature allows local conference participant to move his/her audio and video from the local application to a conferencing room system nearby, while leaving conference controls (for conference moderators), roster list viewing, in-conference chat and content slider functionality at the local application. ConferenceMobileLink interface exposes mobile link discovery, connection and disconnection services to the local application. There is a unique ConferenceMobileLink instance created for each conference call. Whether ConferenceMobileLink APIs can be used on a given conference call is dependent on the capabilities of the conference call/server. The corresponding conference capability should be first checked to determine that the mobile link capability is supported before the mobile link functions defined below are called. Otherwise, calling mobile link methods on a conference call that does not support the mobile link features will return error.
  See Also:
    `Conference.getMobileLinkCapability()`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addListener​(ConferenceMobileLinkListener listener)` | Adds a new listener to the mobile link object.
    `void` | `connect​(java.lang.String roomSystemAddress, java.lang.String passcode, CallCompletionHandler handler)` | Initiates mobile link connection to the specified room system.
    `void` | `disconnect​(boolean disconnectRoomSystem, CallCompletionHandler handler)` | Initiates termination of the mobile link connection.
    `void` | `discover​(DataRetrievalWatcher<ConferenceRoomSystemInformation> watcher)` | Initiates discovery of room system(s) that are in vicinity of this client application.
    `java.lang.String` | `getCurrentRoomSystemAddress()` |
    `ConferenceMobileLinkConnectionStatus` | `getMobileLinkConnectionStatus()` |
    `java.lang.String` | `getRoomSystemParticipantId()` |
    `void` | `removeListener​(ConferenceMobileLinkListener listener)` | Removes a listener from the mobile link object.

- - ### Method Detail

    - #### addListener

          void addListener​(ConferenceMobileLinkListener listener)

      Adds a new listener to the mobile link object.
      Parameters:
        `listener` - New mobile link listener that is being added.

    - #### removeListener

          void removeListener​(ConferenceMobileLinkListener listener)

      Removes a listener from the mobile link object.
      Parameters:
        `listener` - Listener instance that is removed from the mobile link object.

    - #### discover

          void discover​(DataRetrievalWatcher<ConferenceRoomSystemInformation> watcher)

      Initiates discovery of room system(s) that are in vicinity of this client application.
      Parameters:
        `watcher` - A DataRetrievalWatcher object, created by the application, to track the progress of the requested operation. Prior to calling this method, the application should have installed a `DataRetrievalWatcherListener` on the watcher object to receive notifications on the progress of the retrieval.

    - #### connect

          void connect​(java.lang.String roomSystemAddress,
                       java.lang.String passcode,
                       CallCompletionHandler handler)

      Initiates mobile link connection to the specified room system. The room system address may be obtained through mobile link discovery, or through manual provisioning of the room system's IP address by the the end user.
      Parameters:
        `roomSystemAddress` - Network address of the room system to which the mobile link connection is initiated.
        `passcode` - Pass code required for mobile link connection setup. This is an optional parameter which can be left as blank, if the room system does not require pass code for mobile link connections.
        `handler` - Object that wants to learn about the result of the operation, i.e., whether it was successful.

    - #### disconnect

          void disconnect​(boolean disconnectRoomSystem,
                          CallCompletionHandler handler)

      Initiates termination of the mobile link connection.
      Parameters:
        `disconnectRoomSystem` - Whether the room system should be disconnected from the meeting.
        `handler` - Object that wants to learn about the result of the operation, i.e., whether it was successful.

    - #### getCurrentRoomSystemAddress

          java.lang.String getCurrentRoomSystemAddress()

      Returns:
        Returns the network address of the room system that the mobile link connection is established to. Null is returned if there is currently no mobile link connection.

    - #### getRoomSystemParticipantId

          java.lang.String getRoomSystemParticipantId()

      Returns:
        Returns the participant ID of the room system that the mobile link connection is established to.

    - #### getMobileLinkConnectionStatus

          ConferenceMobileLinkConnectionStatus getMobileLinkConnectionStatus()

      Returns:
        Returns whether the connection status of the mobile link object.