API Documentation
Documentation for developing SailfishOS applicationsNotificationInfo Class
(Sailfish::Mdm::NotificationInfo)The NotificationInfo class creates user-visible notifications. More...
Header: | #include <mdm-notifications.h> |
Public Functions
NotificationInfo(QObject *parent = Q_NULLPTR) | |
~NotificationInfo() | |
bool | closeNotification(quint32 notificationId) |
quint32 | createNotification(const Sailfish::Mdm::NotificationData &data) |
QList<NotificationData> | notifications(const QString &owner = QString()) |
QList<NotificationData> | notificationsByCategory(const QString &category) |
quint32 | updateNotification(quint32 notificationId, const Sailfish::Mdm::NotificationData &data) |
Detailed Description
The NotificationInfo class creates user-visible notifications.
It can be used to retrieve, update or close existing notifications, and to publish new notifications.
For more in-depth information about notifications in Sailfish OS, please see the documentation for the nemo-qml-plugin-notifications library.
To use this class, clients must add the following to their qmake project:
CONFIG += link_pkgconfig PKGCONFIG += sailfishmdm
and then #include <mdm-notifications.h>
.
Example of usage:
#include <mdm-notifications.h> void publishNotification(QObject *parent) { QVariantMap defaultAction; defaultAction.insert("name", "default"); defaultAction.insert("displayName", "Do It!"); defaultAction.insert("icon", "icon-s-do-it"); defaultAction.insert("service", "org.sailfishos.example"); defaultAction.insert("path", "/example"); defaultAction.insert("iface", "org.sailfishos.example"); defaultAction.insert("method", "doIt"); defaultAction.insert("arguments", QVariantList() << "argument" << 2); QVariantList remoteActions; remoteActions << defaultAction; Sailfish::Mdm::NotificationData data; data.itemCount = 5; data.category = "x-nemo.example"; data.appName = "Example App"; data.appIcon = "/usr/share/example-app/icon-l-application"; data.summary = "Notification summary"; data.body = "This is the body of an example notification"; data.previewSummary = "Notification preview summary"; data.previewBody = "This is the preview body"; data.timestamp = QDateTime::currentDateTime(); data.remoteActions = remoteActions; Sailfish::Mdm::NotificationInfo *info = new Sailfish::Mdm::NotificationInfo(parent); quint32 id = info->createNotification(data); info->deleteLater(); qInfo() << "Created notification with id:" << id; }
Member Function Documentation
NotificationInfo::NotificationInfo(QObject *parent = Q_NULLPTR)
Creates a NotificationInfo with the given parent.
NotificationInfo::~NotificationInfo()
Destroys a NotificationInfo.
bool NotificationInfo::closeNotification(quint32 notificationId)
Closes the notification with the given notificationId.
Returns true if the notification exists and was closed.
quint32 NotificationInfo::createNotification(const Sailfish::Mdm::NotificationData &data)
Creates a new notification with the given data.
Returns the new notification's id on success, or zero on failure.
QList<NotificationData> NotificationInfo::notifications(const QString &owner = QString())
Returns data for all notifications from the specified owner.
The owner is the name of the application which created the notification. Currently, this defaults to the value returned by QCoreApplication::applicationName() but can be overridden by the application.
If the owner is empty, this method will return notifications created via the MDM API.
QList<NotificationData> NotificationInfo::notificationsByCategory(const QString &category)
Returns data for all notifications in the specified category.
quint32 NotificationInfo::updateNotification(quint32 notificationId, const Sailfish::Mdm::NotificationData &data)
Updates the notification with the given notificationId according to the updated data.
Returns the updated notification's id on success, or zero on failure.