let's do ugly versioning in my playground
This commit is contained in:
30
listen-to-responses.lisp
Normal file
30
listen-to-responses.lisp
Normal file
@@ -0,0 +1,30 @@
|
||||
;;;; +----------------------------------------------------------------+
|
||||
;;;; | DBUS |
|
||||
;;;; +----------------------------------------------------------------+
|
||||
(load (sb-ext:posix-getenv "ASDF"))
|
||||
(asdf:load-system 'dbus)
|
||||
(defpackage #:listening-response
|
||||
(:use #:cl #:dbus)
|
||||
(:export #:publish-example))
|
||||
|
||||
(in-package #:listening-response)
|
||||
|
||||
(define-dbus-object root
|
||||
(:path "/"))
|
||||
|
||||
(define-dbus-signal-handler (root response) ()
|
||||
(:interface "org.freedesktop.portal.Request")
|
||||
(format t "Got signal with arg ~S~%" "yup")
|
||||
(force-output))
|
||||
|
||||
(defun listen-for-responses ()
|
||||
(handler-case
|
||||
(with-open-bus (bus (session-server-addresses))
|
||||
(format t "Bus connection name: ~A~%" (bus-name bus))
|
||||
(dbus:add-match bus :type :signal :interface "org.freedesktop.portal.Request")
|
||||
(publish-objects bus))
|
||||
(end-of-file ()
|
||||
:disconnected-by-bus))) ; org.freedesktop.portal.Request
|
||||
;; yep, works with
|
||||
;; dbus-send --session --type=signal / org.freedesktop.portal.Request.Response
|
||||
;; again, will need to register object on the expected response path
|
||||
Reference in New Issue
Block a user