# Class: PresenceListSubscription

## Constructor

#### new PresenceListSubscription(presenceProvider)

  An ad hoc presence list subscription.
  This class provides an interface for watching the presence of a group of users specified by their addresses.
  The addresses must be recognizable by the presence server the user is connected to.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `presenceProvider` | AvayaClientServices.Providers.Interfaces.PresenceProvider |

## Methods

#### addAddress() → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Presence.PresenceError)>}

  Adds an address to the subscription list. Notifications on the presence information for the user associated with the specified address will be reported via onPresenceReceivedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `Address.` | string |

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Presence.PresenceError)> }

#### removeAddress() → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Presence.PresenceError)>}

  Removes an address from the subscription list. No further notifications on the presence information for the user associated with the specified address will be reported.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `Address.` | string |

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Presence.PresenceError)> }

### Callbacks

#### addOnPresenceReceivedCallback(callback)

  Adds new onPresenceReceivedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Presence.PresenceListSubscription#onPresenceReceivedCallback |

#### addOnStartedCallback(callback)

  Adds new onStartedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Presence.PresenceListSubscription#onStartedCallback |

#### addOnStoppedCallback(callback)

  Adds new onStoppedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Presence.PresenceListSubscription#onStoppedCallback |

#### removeOnPresenceReceivedCallback(callback)

  Remove existing onPresenceReceivedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Presence.PresenceListSubscription#onPresenceReceivedCallback |

#### removeOnStartedCallback(callback)

  Removes existing onStartedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Presence.PresenceListSubscription#onStartedCallback |

#### removeOnStoppedCallback(callback)

  Removes existing onStoppedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Presence.PresenceListSubscription#onStoppedCallback |

## Type Definitions

#### onPresenceReceivedCallback(presencelistsubscription, presence)

  Interface for the callback function to be invoked when presence information is received for one of the users whose presence the application is subscribed for.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `presencelistsubscription` | AvayaClientServices.Services.Presence.PresenceListSubscription | Instance of PresenceListSubscription.
  `presence` | AvayaClientServices.Services.Presence.Presence | Presence information for one of the addresses added to the subscription list.

#### onStartedCallback(presenceListSubscription)

  Interface for the callback function to be invoked when presence subscription functionality is activated.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `presenceListSubscription` | AvayaClientServices.Services.Presence.PresenceListSubscription | Instance of PresenceListSubscription.

#### onStoppedCallback(presencelistsubscription)

  Interface for the callback function to be invoked when presence subscription functionality is deactivated.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `presencelistsubscription` | AvayaClientServices.Services.Presence.PresenceListSubscription | Instance of PresenceListSubscription.