From f38e3f4b5d2597fa8b32939d8000b90835111d11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 31 Jan 2024 18:32:15 +0100 Subject: [PATCH] notificationDaemon: Use registered D-Bus error Instead of returning ad-hoc errors, register a custom error domain and return appropriate GLib.Errors. Part-of: --- js/misc/dbusErrors.js | 7 +++++++ js/ui/notificationDaemon.js | 4 +++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/js/misc/dbusErrors.js b/js/misc/dbusErrors.js index f59add314..6cb8a83b1 100644 --- a/js/misc/dbusErrors.js +++ b/js/misc/dbusErrors.js @@ -34,3 +34,10 @@ const modalDialogErrorNames = [ export const ModalDialogErrors = registerErrorDomain('ModalDialog', modalDialogErrorNames); export const ModalDialogError = createErrorEnum(modalDialogErrorNames); + +const notificationErrorNames = [ + 'InvalidApp', +]; +export const NotificationErrors = + registerErrorDomain('Notifications', notificationErrorNames, 'org.gtk'); +export const NotificationError = createErrorEnum(notificationErrorNames); diff --git a/js/ui/notificationDaemon.js b/js/ui/notificationDaemon.js index cec670dd0..899a97516 100644 --- a/js/ui/notificationDaemon.js +++ b/js/ui/notificationDaemon.js @@ -12,6 +12,7 @@ import * as MessageTray from './messageTray.js'; import * as Params from '../misc/params.js'; import {loadInterfaceXML} from '../misc/fileUtils.js'; +import {NotificationErrors, NotificationError} from '../misc/dbusErrors.js'; const FdoNotificationsIface = loadInterfaceXML('org.freedesktop.Notifications'); @@ -694,7 +695,8 @@ class GtkNotificationDaemon { source = this._ensureAppSource(appId); } catch (e) { if (e instanceof InvalidAppError) { - invocation.return_dbus_error('org.gtk.Notifications.InvalidApp', + invocation.return_error_literal(NotificationErrors, + NotificationError.INVALID_APP, `The app by ID "${appId}" could not be found`); return; }