Applying the functionality.
Methods and signals are the communication means to D-Bus. The following functions return their specifications.
Function: dbus-introspect-get-method-names bus service path interface
This function returns a list of strings of all method names of interface of service in D-Bus bus at object path path. Example:
(dbus-introspect-get-method-names
:session "org.freedesktop.xesam.searcher"
"/org/freedesktop/xesam/searcher/main"
"org.freedesktop.xesam.Search")
⇒ ("GetState" "StartSearch" "GetHitCount" "GetHits" "NewSession"
"CloseSession" "GetHitData" "SetProperty" "NewSearch"
"GetProperty" "CloseSearch")Function: dbus-introspect-get-method bus service path interface method
This function returns method of interface as an XML element. It must be located at service in D-Bus bus at object path path. method must be a string and a member of the list returned by dbus-introspect-get-method-names. Example:
(dbus-introspect-get-method
:session "org.freedesktop.xesam.searcher"
"/org/freedesktop/xesam/searcher/main"
"org.freedesktop.xesam.Search" "GetHitData")
⇒ (method ((name . "GetHitData"))
(arg ((name . "search") (type . "s") (direction . "in")))
(arg ((name . "hit_ids") (type . "au") (direction . "in")))
(arg ((name . "fields") (type . "as") (direction . "in")))
(arg ((name . "hit_data") (type . "aav") (direction . "out"))))Function: dbus-introspect-get-signal-names bus service path interface
This function returns a list of strings of all signal names of interface of service in D-Bus bus at object path path. Example:
(dbus-introspect-get-signal-names
:session "org.freedesktop.xesam.searcher"
"/org/freedesktop/xesam/searcher/main"
"org.freedesktop.xesam.Search")
⇒ ("StateChanged" "SearchDone" "HitsModified"
"HitsRemoved" "HitsAdded")Function: dbus-introspect-get-signal bus service path interface signal
This function returns signal of interface as an XML element. It must be located at service in D-Bus bus at object path path. signal must be a string and a member of the list returned by dbus-introspect-get-signal-names. Example:
(dbus-introspect-get-signal
:session "org.freedesktop.xesam.searcher"
"/org/freedesktop/xesam/searcher/main"
"org.freedesktop.xesam.Search" "HitsAdded")
⇒ (signal ((name . "HitsAdded"))
(arg ((name . "search") (type . "s")))
(arg ((name . "count") (type . "u"))))