Package com.avaya.clientservices.collaboration

## Interface CollaborationService

-     public interface CollaborationService

  The CollaborationService object provides service for creating and removing `Collaboration` objects. Status updates of it are reported through the `CollaborationServiceListener` object.

  See Also:
    `CollaborationServiceListener`, `Collaboration`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addListener​(CollaborationServiceListener listener)` | Adds a new `CollaborationServiceListener` listener to the collaboration service.
    `Collaboration` | `createCollaboration​(java.lang.String collaborationURL, java.lang.String collaborationCode, java.lang.String passCode, java.lang.String participantName, CreateCollaborationCompletionHandler completionHandler)` | Creates a new collaboration session from collaboration URL and collaboration code.
    `void` | `createCollaboration​(java.net.URI webConferenceURI, CreateCollaborationCompletionHandler handler)` | Creates a new collaboration session based on the input collaboration session URI.
    `Collaboration` | `createCollaborationForCall​(Call call, CreateCollaborationCompletionHandler handler)` | Creates a new collaboration session for the given `Call` object.
    `boolean` | `hasActiveCollaboration()` | Indicates whether there is an active collaboration in progress.
    `void` | `removeListener​(CollaborationServiceListener listener)` | Removes a `CollaborationServiceListener` listener from the collaboration service.

- - ### Method Detail

    - #### addListener

          void addListener​(CollaborationServiceListener listener)

      Adds a new `CollaborationServiceListener` listener to the collaboration service.
      Parameters:
        `listener` - new collaboration service listener that is being added.

    - #### removeListener

          void removeListener​(CollaborationServiceListener listener)

      Removes a `CollaborationServiceListener` listener from the collaboration service.
      Parameters:
        `listener` - instance that is being removed from the collaboration service.

    - #### createCollaborationForCall

          Collaboration createCollaborationForCall​(Call call,
                                                   CreateCollaborationCompletionHandler handler)

      Creates a new collaboration session for the given `Call` object.
      Returns null if the call is not a conference or it already has a collaboration. Otherwise returns uninitialized `Collaboration` object and starts process of collaboration creation.
      Parameters:
        `call` - call object for which the session is created.
        `handler` - `CreateCollaborationCompletionHandler` object that wants to learn about the result of the operation, i.e., whether it was successful.
      Returns:
        collaboration object instance that is created or null if execution of the method fails.

    - #### createCollaboration

          Collaboration createCollaboration​(java.lang.String collaborationURL,
                                            java.lang.String collaborationCode,
                                            java.lang.String passCode,
                                            java.lang.String participantName,
                                            CreateCollaborationCompletionHandler completionHandler)

      Creates a new collaboration session from collaboration URL and collaboration code.
      Parameters:
        `collaborationURL` - URL of collaboration.
        `collaborationCode` - code for collaboration.
        `passCode` - passcode for collaboration.
        `participantName` - optional guest name for collaboration.
        `completionHandler` - A block to be called when the operation is completed.
      Returns:
        collaboration object instance that is created or null if execution of the method fails.

    - #### createCollaboration

          void createCollaboration​(java.net.URI webConferenceURI,
                                   CreateCollaborationCompletionHandler handler)

      Creates a new collaboration session based on the input collaboration session URI. This method is used by endpoints such as the Equinox Conferencing room system endpoints that independently and programmatically obtain the complete web collaboration URI from the conference server without using the call creation services provided by the SDK. It is the application's responsibility to make sure that all of the parameters required to connect to the web collaboration server are provided in webConferenceURI. Otherwise collaboration creation process will fail.
      Parameters:
        `webConferenceURI` - Complete collaboration session URI including all of the parameters required to set up a web collaboration connection.
        `handler` - `CreateCollaborationCompletionHandler` object that wants to learn about the result of the operation, i.e., whether it was successful.

    - #### hasActiveCollaboration

          boolean hasActiveCollaboration()

      Indicates whether there is an active collaboration in progress.
      Returns:
        true if there is an active collaboration, false otherwise.