-;; Some tidbits
-
-;;org.freedesktop.DBus.Peer.Ping ()
-;;org.freedesktop.DBus.Peer.GetMachineId (out STRING machine_uuid)
-;;org.freedesktop.DBus.Introspectable.Introspect (out STRING xml_data)
-;;org.freedesktop.DBus.Properties.Get (
-;; in STRING interface_name,
-;; in STRING property_name,
-;; out VARIANT value);
-;;org.freedesktop.DBus.Properties.Set (
-;; in STRING interface_name,
-;; in STRING property_name,
-;; in VARIANT value);
-;;org.freedesktop.DBus.Properties.GetAll (
-;; in STRING interface_name,
-;; out ARRAY of DICT_ENTRY<STRING,VARIANT> props);
-;;org.freedesktop.DBus.Properties.PropertiesChanged (
-;; STRING interface_name,
-;; ARRAY of DICT_ENTRY<STRING,VARIANT> changed_properties,
-;; ARRAY<STRING> invalidated_properties);
-;;org.freedesktop.DBus.ObjectManager.GetManagedObjects (
-;; out ARRAY of
-;; DICT_ENTRY<OBJPATH,ARRAY of
-;; DICT_ENTRY<STRING,ARRAY of
-;; DICT_ENTRY<STRING,VARIANT>>>
-;; objpath_interfaces_and_properties);
-;;org.freedesktop.DBus.ObjectManager.GetManagedObjects():a(oa(sa(sv)))
-;
-;;org.freedesktop.DBus.Hello():s
-;;org.freedesktop.DBus.RequestName(su):u
-;;org.freedesktop.DBus.ReleaseName(s):u
-;;org.freedesktop.DBus.ListQueuedOwners (s):as
-;;org.freedesktop.DBus.ListNames():as
-;;org.freedesktop.DBus.ListActivatableNames():as
-;;org.freedesktop.DBus.NameHasOwner(s):b
-;;org.freedesktop.DBus.NameOwnerChanged(sss) -- signal
-;;org.freedesktop.DBus.NameLost(s) -- signal
-;;org.freedesktop.DBus.NameAcquired(s) -- signal
-;;org.freedesktop.DBus.ActivatableServicesChanged() -- signal
-;;org.freedesktop.DBus.StartServiceByName(s,u):u
-;;org.freedesktop.DBus.UpdateActivationEnvironment(a(ss)):?
-;;org.freedesktop.DBus.GetNameOwner(s):s
-;;org.freedesktop.DBus.GetConnectionUnixUser(s):u
-;;org.freedesktop.DBus.GetConnectionUnixProcessID(s):u
-;;org.freedesktop.DBus.GetConnectionCredentials(s):a(sv)
-;;org.freedesktop.DBus.GetAdtAuditSessionData(s):ay
-;;org.freedesktop.DBus.GetConnectionSELinuxSecurityContext(s):ay
-;;org.freedesktop.DBus.AddMatch(s):? (org.freedesktop.DBus.Error.OOM)
-;;org.freedesktop.DBus.RemoveMatch(s):?
-;;org.freedesktop.DBus.GetId():s
-;;org.freedesktop.DBus.Monitoring.BecomeMonitor(asu):?
-
-;;org.freedesktop.DBus.AddMatch(s)
-;eg
+;; Standard interfaces
+
+(context MAIN)
+
+(:use (DbusInterface "org.freedesktop.DBus.Peer"
+ '( "Ping()"
+ "GetMachineId()" ; s
+ )))
+
+(:use (DbusInterface "org.freedesktop.DBus.ObjectManager"
+ '( "GetManagedObjects()" ; a(oa(sa(sv)))
+ )))
+
+(:use (DbusInterface "org.freedesktop.DBus.Introspectable"
+ ' Introspectable "Introspect()" ; s (xml data)
+ ))
+; https://dbus.freedesktop.org/doc/dbus-specification.html#introspection-format
+
+(:use (DbusInterface "org.freedesktop.DBus.Properties"
+ '( "Get(ss)" ; v
+ "Set(ssv)" ; --
+ "GetAll(s)" ; a(sv)
+ "PropertiesChanged(sa(sv)as)" ; signal ?
+ )))
+
+(:use (DbusInterface "org.freedesktop.DBus"
+ '( "Hello()" ; s
+ "RequestName(su)" ; u
+ "ReleaseName(s)" ; u
+ "ListQueuedOwners (s)" ; as
+ "ListNames()" ; as
+ "ListActivatableNames()" ; as
+ "NameHasOwner(s)" ; b
+ "NameOwnerChanged(sss)" ; -- signal
+ "NameLost(s)" ; -- signal
+ "NameAcquired(s)" ; -- signal
+ "ActivatableServicesChanged()" ; -- signal
+ "StartServiceByName(s,u)" ; u
+ "UpdateActivationEnvironment(a(ss))" ; ?
+ "GetNameOwner(s)" ; s
+ "GetConnectionUnixUser(s)" ; u
+ "GetConnectionUnixProcessID(s)" ; u
+ "GetConnectionCredentials(s)" ; a(sv)
+ "GetAdtAuditSessionData(s)" ; ay
+ "GetConnectionSELinuxSecurityContext(s)" ; ay
+ "AddMatch(s)" ;
+ "RemoveMatch(s)" ; ?
+ "GetId()" ; s
+ "Monitoring.BecomeMonitor(asu)" ; ?
+ )))
+
+;eg AddMatch argument: