# Class: Capability

## Constructor

#### new Capability(reason)

  Capability object. See capabilities tutorial for more information about this concept.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `reason` | AvayaClientServices.Base.CapabilityDenialReason |

## Members

#### denialReason :String

  If action is denied, contains the reason of denial.

  ##### Type:

  - String

#### isAllowed :Boolean

  Determines whether the action is allowed or not.

  ##### Type:

  - Boolean

## Methods

### Managing callbacks

#### addOnChangedCallback(callback) → {void}

  Add new onChangedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Base.Capability#onChangedCallbacks |

  ##### Returns:

  { void }

#### removeOnChangedCallback(callback) → {void}

  Remove onChangedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Base.Capability#onChangedCallbacks |

  ##### Returns:

  { void }

## Type Definitions

#### onChangedCallbacks() → {void}

  Interface for callback function to be invoked when capability changed.

  ##### Parameters:

  Type | Description
  --- | ---
  AvayaClientServices.Base.Capability |

  ##### Returns:

  { void }