Package com.avaya.clientservices.unifiedportal

## Interface UnifiedPortalService

-     public interface UnifiedPortalService

  The UnifiedPortalService provides access to Unified Portal features. The service is configured with `UnifiedPortalConfiguration` object created by the client application In order to get the service object and leverage the available unified portal features `User.getUnifiedPortalService()` is used.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addListener​(UnifiedPortalServiceListener listener)` | Adds a listener.
    `void` | `getPortalUserToken​(UnifiedPortalConfiguration unifiedPortalConfiguration, GetPortalUserTokenCompletionHandler completionHandler)` | Get the Portal user token.
    `void` | `getPortalUserToken​(UnifiedPortalConfiguration unifiedPortalConfiguration, java.lang.String conferenceId, GetPortalUserTokenCompletionHandler completionHandler)` | Get the Portal user token.
    `void` | `getResources​(UnifiedPortalConfiguration unifiedPortalConfiguration, GetResourcesCompletionHandler completionHandler)` | Get the Unified Portal resources.
    `void` | `getResources​(UnifiedPortalConfiguration unifiedPortalConfiguration, java.lang.String conferenceId, GetResourcesCompletionHandler completionHandler)` | Get the Unified Portal resources.
    `boolean` | `isServiceAvailable()` | Returns true if the Unified Portal service is available.
    `void` | `removeListener​(UnifiedPortalServiceListener listener)` | Removes a listener.
    `void` | `requestToJoinMeeting​(UnifiedPortalConfiguration unifiedPortalConfiguration, java.lang.String conferenceId, java.lang.String meetMeUserName, boolean isPresentationOnlyMode, java.lang.String callBackNumber, java.lang.String oneTimePIN, RequestToJoinMeetingCompletionHandler completionHandler)` | Request to join Meet-me conference.
    `void` | `sendClientInfo​(UnifiedPortalConfiguration unifiedPortalConfiguration, java.lang.String clientSessionId, java.lang.String clientInfo, SendClientInfoCompletionHandler completionHandler)` | Send client info to Unified Portal.

- - ### Method Detail

    - #### addListener

          void addListener​(UnifiedPortalServiceListener listener)

      Adds a listener.
      Parameters:
        `listener` - Listener instance to be added.

    - #### removeListener

          void removeListener​(UnifiedPortalServiceListener listener)

      Removes a listener.
      Parameters:
        `listener` - Listener instance to be removed.

    - #### isServiceAvailable

          boolean isServiceAvailable()

      Returns true if the Unified Portal service is available.
      Returns:
        true if the Unified Portal service is available.

    - #### getResources

          void getResources​(UnifiedPortalConfiguration unifiedPortalConfiguration,
                            GetResourcesCompletionHandler completionHandler)

      Get the Unified Portal resources.
      Parameters:
        `unifiedPortalConfiguration` - Server configuration that will be used for this request.
        `completionHandler` - The completion handler for this operation.

    - #### getResources

          void getResources​(UnifiedPortalConfiguration unifiedPortalConfiguration,
                            java.lang.String conferenceId,
                            GetResourcesCompletionHandler completionHandler)

      Get the Unified Portal resources.
      Parameters:
        `unifiedPortalConfiguration` - Server configuration that will be used for this request.
        `conferenceId` - The optional conference virtual room number used by Unified Portal for proper tenant selection. May be null.
        `completionHandler` - The completion handler for this operation.

    - #### requestToJoinMeeting

          void requestToJoinMeeting​(UnifiedPortalConfiguration unifiedPortalConfiguration,
                                    java.lang.String conferenceId,
                                    java.lang.String meetMeUserName,
                                    boolean isPresentationOnlyMode,
                                    java.lang.String callBackNumber,
                                    java.lang.String oneTimePIN,
                                    RequestToJoinMeetingCompletionHandler completionHandler)

      Request to join Meet-me conference. If successful, the meeting info will be provided via completion handler.
      Parameters:
        `unifiedPortalConfiguration` - Server configuration that will be used for this request.
        `conferenceId` - The conference virtual room number to join.
        `meetMeUserName` - The user display name. Mandatory when joining the meeting as guest.
        `isPresentationOnlyMode` - When set to true, join the meeting in presentation only mode.
        `callBackNumber` - Call back number. The conference server will call back to this number when joining the meeting in presentation only mode.
        `oneTimePIN` - One time PIN. Mandatory when virtual room is one time PIN protected. Virtual room owner shall create and provide one time PIN to start the meeting. Non-owners shall provide one time PIN to join the meeting.
        `completionHandler` - The completion handler for this operation.

    - #### getPortalUserToken

          void getPortalUserToken​(UnifiedPortalConfiguration unifiedPortalConfiguration,
                                  GetPortalUserTokenCompletionHandler completionHandler)

      Get the Portal user token.
      Parameters:
        `unifiedPortalConfiguration` - Server configuration that will be used for this request.
        `completionHandler` - The completion handler for this operation.

    - #### getPortalUserToken

          void getPortalUserToken​(UnifiedPortalConfiguration unifiedPortalConfiguration,
                                  java.lang.String conferenceId,
                                  GetPortalUserTokenCompletionHandler completionHandler)

      Get the Portal user token.
      Parameters:
        `unifiedPortalConfiguration` - Server configuration that will be used for this request.
        `conferenceId` - The optional conference virtual room number used by Unified Portal for proper tenant selection. May be null.
        `completionHandler` - The completion handler for this operation.

    - #### sendClientInfo

          void sendClientInfo​(UnifiedPortalConfiguration unifiedPortalConfiguration,
                              java.lang.String clientSessionId,
                              java.lang.String clientInfo,
                              SendClientInfoCompletionHandler completionHandler)

      Send client info to Unified Portal. Used by desktop clients which are launched by portal and receive client detection session id for sending client information back to portal.
      Parameters:
        `unifiedPortalConfiguration` - Server configuration that will be used for this request.
        `clientSessionId` - The session id passed by portal to client.
        `clientInfo` - String-serialized client info. Passed to the portal as is, without any preprocessing.
        `completionHandler` - The completion handler for this operation.