tree 25834a2faeb470562d31e2e6ec5cca322f744a2c
parent c096cf78fe626923f81067a5b97283aa856d8b74
author Ninad Palsule <ninadpalsule@us.ibm.com> 1678124522 -0600
committer Patrick Williams <patrick@stwcx.xyz> 1682108476 -0500

Add a new dbus interface to get list of consoles

The "xyz.openbmc_project.Console.Access" interface will provide a
single property containing the name of the abstract socket for the
object hosting the interface. The caller can use mapper function to
find the list of registered consoles.  The bmcweb can exploit this
interface by putting console for each console object.

The SocketName attribute provides unix abstract socket name and it's
first character is always null, the attribute type is an array of bytes
types instead of string type. The byte array does not include a null
terminator.

For example, object path and property exposed for host console is as
follows:
Object:
    /xyz/openbmc_project/console/host
Property:
    SocketName  -> "\0obmc-console.host"

The tree for console0:
$ busctl tree xyz.openbmc_project.Console.console0
`-/xyz
  `-/xyz/openbmc_project
    `-/xyz/openbmc_project/console
      `-/xyz/openbmc_project/console/console0

The introspect for console0:
busctl introspect xyz.openbmc_project.Console.console0 /xyz/openbmc_project/console/console0
NAME                                TYPE      SIGNATURE RESULT/VALUE                             FLAGS
org.freedesktop.DBus.Introspectable interface -         -                                        -
.Introspect                         method    -         s                                        -
org.freedesktop.DBus.Peer           interface -         -                                        -
.GetMachineId                       method    -         s                                        -
.Ping                               method    -         -                                        -
org.freedesktop.DBus.Properties     interface -         -                                        -
.Get                                method    ss        v                                        -
.GetAll                             method    s         a{sv}                                    -
.Set                                method    ssv       -                                        -
.PropertiesChanged                  signal    sa{sv}as  -                                        -
xyz.openbmc_project.Console.Access  interface -         -                                        -
.SocketName                         property  ay        22 0 111 98 109 99 45 99 111 110 115 ... -

   Related commits:
        1) phosphor-dbus-interface: https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/61486
        2) obmc-console: https://gerrit.openbmc.org/c/openbmc/obmc-console/+/62496
        3) bmcweb: https://gerrit.openbmc.org/c/openbmc/bmcweb/+/62525

Change-Id: Ic50d311b327d9a4d917e4656af3ebeebfe95b5c9
Signed-off-by: Ninad Palsule <ninadpalsule@us.ibm.com>
