Package com.avaya.clientservices.user

## Interface User

-     public interface User

  Represents services available to a user.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addAdminEventListener​(UserAdminEventListener listener)` | Adds a new AdminEvent listener to the User instance.
    `void` | `addRegistrationListener​(UserRegistrationListener listener)` | Adds a new registration listener to the User instance.
    `void` | `addResourceDiscoveryListener​(ResourceDiscoveryListener listener)` | Adds a new resource discovery listener to the User instance.
    `AgentService` | `getAgentService()` |
    `ServiceStatus` | `getAgentServiceStatus()` | Returns ServiceStatus object describing whether the `AgentService` service is enabled.
    `CallFeatureService` | `getCallFeatureService()` |
    `ServiceStatus` | `getCallFeatureServiceStatus()` | Returns ServiceStatus object describing whether the CallFeature service is enabled.
    `CallLogService` | `getCallLogService()` |
    `ServiceStatus` | `getCallLogServiceStatus()` | Returns ServiceStatus object describing whether the CallLog service is enabled.
    `CallService` | `getCallService()` | Get the service object to use for basic calls.
    `ServiceStatus` | `getCallServiceStatus()` | Returns ServiceStatus object describing whether the Call service is enabled.
    `CollaborationService` | `getCollaborationService()` |
    `ServiceStatus` | `getCollaborationServiceStatus()` | Returns ServiceStatus object describing whether the Collaboration service is enabled.
    `ContactService` | `getContactService()` |
    `ServiceStatus` | `getContactServiceStatus()` | Returns ServiceStatus object describing whether the Contact service is enabled.
    `MessagingService` | `getMessagingService()` |
    `ServiceStatus` | `getMessagingServiceStatus()` | Returns ServiceStatus object describing whether the Messaging service is enabled.
    `PresenceService` | `getPresenceService()` |
    `ServiceStatus` | `getPresenceServiceStatus()` | Returns ServiceStatus object describing whether the Presence service is enabled.
    `PushNotificationService` | `getPushNotificationService()` |
    `ServiceStatus` | `getPushNotificationServiceStatus()` | Returns ServiceStatus object describing whether the `PushNotificationService` service is enabled.
    `SharedControlService` | `getSharedControlService()` |
    `ServiceStatus` | `getSharedControlServiceStatus()` | Returns ServiceStatus object describing whether the SharedControl service is enabled.
    `SignalingServerGroup` | `getSignalingServerGroup()` | Returns the SignalingServerGroup containing the complete call server list used by system, it contains additional servers discovered by system from different source including the servers provided by the user.
    `SpacesService` | `getSpaceService()` |
    `ServiceStatus` | `getSpaceServiceStatus()` | Returns ServiceStatus object describing whether the Spaces service is enabled.
    `UnifiedPortalService` | `getUnifiedPortalService()` |
    `ServiceStatus` | `getUnifiedPortalServiceStatus()` | Returns ServiceStatus object describing whether the UnifiedPortal service is enabled.
    `java.lang.String` | `getUserId()` |
    `VisualVoiceMailService` | `getVisualVoiceMailService()` |
    `ServiceStatus` | `getVisualVoiceMailServiceStatus()` | Returns ServiceStatus object describing whether the VisualVoiceMail service is enabled.
    `VoiceMessagingService` | `getVoiceMessagingService()` |
    `ServiceStatus` | `getVoiceMessagingServiceStatus()` | Returns ServiceStatus object describing whether the VoiceMessaging service is enabled.
    `void` | `removeAdminEventListener​(UserAdminEventListener listener)` | Removes a AdminEvent listener from the user.
    `void` | `removeRegistrationListener​(UserRegistrationListener listener)` | Removes a registration listener from the user.
    `void` | `removeResourceDiscoveryListener​(ResourceDiscoveryListener listener)` | Removes a resource discovery from the user.
    `void` | `start()` | Starts registration with the communications servers.
    `void` | `stop()` | Stops services including unregistration from the communications servers.

- - ### Method Detail

    - #### addRegistrationListener

          void addRegistrationListener​(UserRegistrationListener listener)

      Adds a new registration listener to the User instance.
      Parameters:
        `listener` - the registration listener to add.

    - #### removeRegistrationListener

          void removeRegistrationListener​(UserRegistrationListener listener)

      Removes a registration listener from the user.
      Parameters:
        `listener` - Listener instance that is removed from the User instance.

    - #### addAdminEventListener

          void addAdminEventListener​(UserAdminEventListener listener)

      Adds a new AdminEvent listener to the User instance.
      Parameters:
        `listener` - the AdminEvent listener to add.

    - #### removeAdminEventListener

          void removeAdminEventListener​(UserAdminEventListener listener)

      Removes a AdminEvent listener from the user.
      Parameters:
        `listener` - Listener instance that is removed from the User instance.

    - #### addResourceDiscoveryListener

          void addResourceDiscoveryListener​(ResourceDiscoveryListener listener)

      Adds a new resource discovery listener to the User instance.
      Parameters:
        `listener` - the resource discovery listener to add.

    - #### removeResourceDiscoveryListener

          void removeResourceDiscoveryListener​(ResourceDiscoveryListener listener)

      Removes a resource discovery from the user.
      Parameters:
        `listener` - Listener instance that is removed from the User instance.

    - #### getCallService

          CallService getCallService()

      Get the service object to use for basic calls.
      Returns:
        The `CallService` instance to use.

    - #### getCallFeatureService

          CallFeatureService getCallFeatureService()

      Returns:
        Service providing call features for this user.

    - #### getVisualVoiceMailService

          VisualVoiceMailService getVisualVoiceMailService()

      Returns:
        Service providing visual voice mail for this user.

    - #### getVoiceMessagingService

          VoiceMessagingService getVoiceMessagingService()

      Returns:
        Service providing voice mail messages for this user.

    - #### getPresenceService

          PresenceService getPresenceService()

      Returns:
        Service providing presence features for this user.

    - #### getSharedControlService

          SharedControlService getSharedControlService()

      Returns:
        Shared control service of the user

    - #### getContactService

          ContactService getContactService()

      Returns:
        Contact service of the user

    - #### getSpaceService

          SpacesService getSpaceService()

      Returns:
        Service providing zang features for this user.

    - #### getCollaborationService

          CollaborationService getCollaborationService()

      Returns:
        Collaboration service of the user

    - #### getCallLogService

          CallLogService getCallLogService()

      Returns:
        instance of Call Log service, which allows application to retrieve call log data for the local user.

    - #### getMessagingService

          MessagingService getMessagingService()

      Returns:
        instance of `MessagingService` that provides access to messaging related capabilities and actions for this user.

    - #### getUnifiedPortalService

          UnifiedPortalService getUnifiedPortalService()

      Returns:
        instance of `UnifiedPortalService` that provides access to Unified Portal features for this user.

    - #### getAgentService

          AgentService getAgentService()

      Returns:
        instance of `AgentService` that provides access to agent features for local user.

    - #### getPushNotificationService

          PushNotificationService getPushNotificationService()

      Returns:
        instance of `PushNotificationService` that provides access to push notification features for local user.

    - #### getContactServiceStatus

          ServiceStatus getContactServiceStatus()

      Returns ServiceStatus object describing whether the Contact service is enabled.
      Returns:
        `ServiceStatus` object describing whether a certain service is enabled.

    - #### getMessagingServiceStatus

          ServiceStatus getMessagingServiceStatus()

      Returns ServiceStatus object describing whether the Messaging service is enabled.
      Returns:
        `ServiceStatus` object describing whether a certain service is enabled.

    - #### getCallServiceStatus

          ServiceStatus getCallServiceStatus()

      Returns ServiceStatus object describing whether the Call service is enabled.
      Returns:
        `ServiceStatus` object describing whether a certain service is enabled.

    - #### getCollaborationServiceStatus

          ServiceStatus getCollaborationServiceStatus()

      Returns ServiceStatus object describing whether the Collaboration service is enabled.
      Returns:
        `ServiceStatus` object describing whether a certain service is enabled.

    - #### getCallFeatureServiceStatus

          ServiceStatus getCallFeatureServiceStatus()

      Returns ServiceStatus object describing whether the CallFeature service is enabled.
      Returns:
        `ServiceStatus` object describing whether a certain service is enabled.

    - #### getPresenceServiceStatus

          ServiceStatus getPresenceServiceStatus()

      Returns ServiceStatus object describing whether the Presence service is enabled.
      Returns:
        `ServiceStatus` object describing whether a certain service is enabled.

    - #### getCallLogServiceStatus

          ServiceStatus getCallLogServiceStatus()

      Returns ServiceStatus object describing whether the CallLog service is enabled.
      Returns:
        `ServiceStatus` object describing whether a certain service is enabled.

    - #### getVisualVoiceMailServiceStatus

          ServiceStatus getVisualVoiceMailServiceStatus()

      Returns ServiceStatus object describing whether the VisualVoiceMail service is enabled.
      Returns:
        `ServiceStatus` object describing whether a certain service is enabled.

    - #### getVoiceMessagingServiceStatus

          ServiceStatus getVoiceMessagingServiceStatus()

      Returns ServiceStatus object describing whether the VoiceMessaging service is enabled.
      Returns:
        `ServiceStatus` object describing whether a certain service is enabled.

    - #### getUnifiedPortalServiceStatus

          ServiceStatus getUnifiedPortalServiceStatus()

      Returns ServiceStatus object describing whether the UnifiedPortal service is enabled.
      Returns:
        `ServiceStatus` object describing whether a certain service is enabled.

    - #### getSharedControlServiceStatus

          ServiceStatus getSharedControlServiceStatus()

      Returns ServiceStatus object describing whether the SharedControl service is enabled.
      Returns:
        `ServiceStatus` object describing whether a certain service is enabled.

    - #### getSpaceServiceStatus

          ServiceStatus getSpaceServiceStatus()

      Returns ServiceStatus object describing whether the Spaces service is enabled.
      Returns:
        `ServiceStatus` object describing whether a certain service is enabled.

    - #### getAgentServiceStatus

          ServiceStatus getAgentServiceStatus()

      Returns ServiceStatus object describing whether the `AgentService` service is enabled.
      Returns:
        `ServiceStatus` object describing whether a certain service is enabled.

    - #### getPushNotificationServiceStatus

          ServiceStatus getPushNotificationServiceStatus()

      Returns ServiceStatus object describing whether the `PushNotificationService` service is enabled.
      Returns:
        `ServiceStatus` object describing whether a certain service is enabled.

    - #### getSignalingServerGroup

          SignalingServerGroup getSignalingServerGroup()

      Returns the SignalingServerGroup containing the complete call server list used by system, it contains additional servers discovered by system from different source including the servers provided by the user. Client application can persist it and then use it for subsequent registrations for creation of `ConnectionPolicy`
      Returns:
        `SignalingServerGroup` containing the complete call server list used by system.
      See Also:
        `UserAdminEventListener.onSignalingServerGroupReceived(com.avaya.clientservices.user.User, com.avaya.clientservices.common.SignalingServerGroup)`

    - #### start

          void start()

      Starts registration with the communications servers. Feedback is provided via the UserRegistrationListener callbacks.

    - #### stop

          void stop()

      Stops services including unregistration from the communications servers.

    - #### getUserId

          java.lang.String getUserId()

      Returns:
        the user ID of the user.