]> code.delx.au - gnu-emacs/commitdiff
* notifications.el (notifications-get-server-information-method):
authorMichael Albinus <michael.albinus@gmx.de>
Wed, 7 Nov 2012 16:55:39 +0000 (17:55 +0100)
committerMichael Albinus <michael.albinus@gmx.de>
Wed, 7 Nov 2012 16:55:39 +0000 (17:55 +0100)
New defconst.
(notifications-get-capabilities): Fix docstring.
(notifications-get-server-information): New defun.

lisp/ChangeLog
lisp/notifications.el

index 31f300b542d00ca0db8e17cd9466ae1de51fb001..7c51b139ec3334a910db275c23552a84459ab0ec 100644 (file)
@@ -1,3 +1,10 @@
+2012-11-07  Michael Albinus  <michael.albinus@gmx.de>
+
+       * notifications.el (notifications-get-server-information-method):
+       New defconst.
+       (notifications-get-capabilities): Fix docstring.
+       (notifications-get-server-information): New defun.
+
 2012-11-06  Agustín Martín Domingo  <agustin.martin@hispalinux.es>
 
        * textmodes/ispell.el (ispell-region): Standard re-indent for better
index 792298c26b750c755753f67525be0b3d2565712c..6f477eb4cdd43c3a2618d649b592c380763ba966 100644 (file)
@@ -66,6 +66,9 @@
 (defconst notifications-get-capabilities-method "GetCapabilities"
   "D-Bus notifications get capabilities method.")
 
+(defconst notifications-get-server-information-method "GetServerInformation"
+  "D-Bus notifications get server information method.")
+
 (defconst notifications-action-signal "ActionInvoked"
   "D-Bus notifications action signal.")
 
@@ -349,7 +352,7 @@ BUS can be a string denoting a D-Bus connection, the default is `:session'."
 (defvar dbus-debug) ; used in the macroexpansion of dbus-ignore-errors
 
 (defun notifications-get-capabilities (&optional bus)
-  "Return the capabilities of the notification server, a list of strings.
+  "Return the capabilities of the notification server, a list of symbols.
 BUS can be a string denoting a D-Bus connection, the default is `:session'.
 The following capabilities can be expected:
 
@@ -371,12 +374,34 @@ The following capabilities can be expected:
 
 Further vendor-specific caps start with `:x-vendor', like `:x-gnome-foo-cap'."
   (dbus-ignore-errors
-   (mapcar
-    (lambda (x) (intern (concat ":" x)))
+    (mapcar
+     (lambda (x) (intern (concat ":" x)))
+     (dbus-call-method (or bus :session)
+                      notifications-service
+                      notifications-path
+                      notifications-interface
+                      notifications-get-capabilities-method))))
+
+(defun notifications-get-server-information (&optional bus)
+  "Return information on the notification server, a list of strings.
+BUS can be a string denoting a D-Bus connection, the default is `:session'.
+The returned list is (NAME VENDOR VERSION SPEC-VERSION).
+
+  NAME         The product name of the server.
+  VENDOR       The vendor name.  For example, \"KDE\", \"GNOME\".
+  VERSION      The server's version number.
+  SPEC-VERSION The specification version the server is compliant with.
+
+If SPEC_VERSION is missing, the server supports a specification
+prior to \"1.0\".
+
+See `notifications-specification-version' for the specification
+version this library is compliant with."
+  (dbus-ignore-errors
     (dbus-call-method (or bus :session)
                      notifications-service
                      notifications-path
                      notifications-interface
-                     notifications-get-capabilities-method))))
+                     notifications-get-server-information-method)))
 
 (provide 'notifications)