| BlueZ D-Bus Alert API description |
| ********************************* |
| |
| |
| Introduction |
| ------------ |
| |
| Currently, there are two different GATT server profiles that depend on |
| receiving alerts or notifications from the platform: Phone Alert Status (PASP) |
| and Alert Notification (ANP). PASP is very specific to mobile phones, and also |
| allows limited control to alerts (i.e. mute once or switch to a silent mode). |
| |
| This document presents a unified API that allows to register and notify alerts, |
| and to control some alerts (using the provided agent object). |
| |
| |
| Alert hierarchy |
| =============== |
| |
| Service org.bluez |
| Interface org.bluez.Alert1 |
| Object path /org/bluez |
| |
| Methods void RegisterAlert(string category, object agent) |
| |
| Register a new alert category and an agent for it. This |
| means the application will be responsible for notifying |
| BlueZ of any alerts of that category, using the |
| NewAlert() method. |
| |
| Supported ANP categories: simple, email, news, call, |
| missed-call, sms-mms, voice-mail, schedule, |
| high-priority, instant-message |
| Supported PASP categories: ringer, vibrate, display |
| |
| Possible Errors: org.bluez.Error.InvalidArguments |
| |
| void NewAlert(string category, uint16 count, string description) |
| |
| Notify BlueZ of new alert(s) for the given category. The |
| description is relative to the last received alert and |
| can be sender name, caller ID, title, or other |
| information specific to the category. |
| |
| For ringer, vibrate and display categories, valid |
| descriptions are "active" and "not active". Alerts from |
| ringer category also accept "enabled" and "disabled", |
| depending on whether ringer is in silent mode or not. |
| |
| Description must not exceed 18 bytes when encoded in |
| UTF-8 format, otherwise an error is returned. If there |
| is no description, an empty string should be used. |
| |
| The count argument contains the number of alerts not |
| yet acknowledged by the user on the UI. To save D-Bus |
| traffic, events that may generate multiple alerts at |
| the same time (like email, sms, news) should trigger a |
| single NewAlert(). |
| |
| If there are more than 254 new alerts, count must be |
| set to 255. PASP alerts should always set count to 1. |
| |
| Possible Errors: org.bluez.Error.InvalidArguments |
| |
| void UnreadAlert(string category, uint16 count) |
| |
| Some services (like SMS and e-mail) keep track of |
| number of unread items. This method allows to update |
| this counter, so peer devices can be notified using |
| Alert Notification Profile. |
| |
| If there are more than 254 unread alerts, count must be |
| set to 255. |
| |
| Possible Errors: org.bluez.Error.InvalidArguments |
| |
| Alert Agent hierarchy |
| ===================== |
| |
| Service org.bluez |
| Interface org.bluez.AlertAgent1 |
| Object path freely definable |
| |
| Methods void MuteOnce() |
| |
| This method is only called if "ringer" alert category |
| is specified when registering the agent. |
| |
| Mute the ringer once (e.g. during a incoming call). If |
| ringer is not active, does nothing. |
| |
| void SetRinger(string mode) |
| |
| This method is only called if "ringer" alert category |
| is specified when registering the agent. |
| |
| Set ringer to the specified mode. If mode is "enabled", |
| ringer is set to the default mode, as defined by the |
| current active profile. If mode is "disabled", ringer |
| will not activate on incoming calls, until it is set |
| back to "enabled" mode. |
| |
| Possible Errors: org.bluez.Error.InvalidArguments |
| |
| void Release() |
| |
| Release this agent. At this point, it will not be used |
| by BlueZ anymore and can be destroyed by the owner. |