Skip to content

Implement Notification Source Characteristic #1

@joelghill

Description

@joelghill

Scope

  • Write a class to represent the Notification Source characteristic
  • Class should convert to and from byte array
  • Provide an easy to read string representation for logging
  • Implement a standard generic interface for a Characteristic

Notification Source

The Notification Source characteristic is the characteristic upon which an NC is informed of:

  • The arrival of a new iOS notification on the NP
  • The modification of an iOS notification on the NP
  • The removal of an iOS notification on the NP

A GATT notification delivered through the Notification Source characteristic contains the following information:

EventID: This field informs the accessory whether the given iOS notification was added, modified, or removed. The enumerated values for this field are defined in EventID Values.

EventFlags: A bitmask whose set bits inform an NC of specificities with the iOS notification. For example, if an iOS notification is considered “important”, the NC may want to display a more aggressive user interface (UI) to make sure the user is properly alerted. The enumerated bits for this field are defined in EventFlags.

CategoryID: A numerical value providing a category in which the iOS notification can be classified. The NP will make a best effort to provide an accurate category for each iOS notification. The enumerated values for this field are defined in CategoryID Values.

CategoryCount: The current number of active iOS notifications in the given category. For example, if two unread emails are sitting in a user’s email inbox, and a new email is pushed to the user’s iOS device, the value of CategoryCount is 3.

NotificationUID: A 32-bit numerical value that is the unique identifier (UID) for the iOS notification. This value can be used as a handle in commands sent to the Control Point characteristic to interact with the iOS notification.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

Status

Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions