
;; Copyright (C) 2026 Tommi Höynälänmaa

;; Distributed under GNU Lesser General Public License.


(define-interface (theme-d-intr dbus wrappers)


  (import (standard-library core))


  (import (theme-d-intr dbus types))


  (declare-simple-method gen-sync-method-wrapper
    (<string>
     <string>
     <symbol>
     (:uniform-list <dbus-type-repr>)
     (:uniform-list <dbus-type-repr>))
     <source-expr> pure)

  (declare-simple-method gen-async-method-wrapper
    (<string>
     <string>
     <symbol>
     (:uniform-list <dbus-type-repr>)
     (:uniform-list <dbus-type-repr>))
     <source-expr> pure)

  (declare-simple-method gen-signal-sub-wrapper
    (<string>
     <string>
     <symbol>
     (:uniform-list <dbus-type-repr>))
     <source-expr> pure)

  (declare-simple-method gen-property-get-wrapper
    (<string>
     <string>
     <symbol>
     <dbus-type-repr>)
     <source-expr> pure)

  (declare-simple-method gen-property-set-wrapper
    (<string>
     <string>
     <symbol>
     <dbus-type-repr>)
     <source-expr> pure)

  (declare-simple-method gen-sync-method-declaration
    (<symbol>
     (:uniform-list <dbus-type-repr>)
     (:uniform-list <dbus-type-repr>))
     <source-expr> pure)

  (declare-simple-method gen-async-method-declaration
    (<symbol>
     (:uniform-list <dbus-type-repr>)
     (:uniform-list <dbus-type-repr>))
     <source-expr> pure)

  (declare-simple-method gen-signal-sub-declaration
    (<symbol>
     (:uniform-list <dbus-type-repr>))
     <source-expr> pure)

  (declare-simple-method gen-property-get-declaration
    (<symbol>
     <dbus-type-repr>)
     <source-expr> pure)

  (declare-simple-method gen-property-set-declaration
    (<symbol>
     <dbus-type-repr>)
     <source-expr> pure)

  (declare-simple-method gen-arg-wrapper
    (<dbus-type-repr> <symbol>) <source-expr> pure)

  (declare-simple-method gen-result-wrapper
    (<dbus-type-repr> <symbol>) <source-expr> pure)

  (declare-simple-method compute-method-name
    (<string> <string> <boolean> <boolean>) <symbol> pure)

  (declare-simple-method compute-signal-sub-name
    (<string> <string> <boolean>) <symbol> pure)

  (declare-simple-method compute-property-get-name
    (<string> <string> <boolean>) <symbol> pure)

  (declare-simple-method compute-property-set-name
    (<string> <string> <boolean>) <symbol> pure))


