tree 06dd6ccd493c0ab32cd0b8595a3a06b9b8c5223a
parent fa2d962b5da807ac17bb7a355709ff05dd10d041
author Patrick Williams <patrick@stwcx.xyz> 1727462862 -0400
committer Patrick Williams <patrick@stwcx.xyz> 1727900043 +0000

Logging.Create: return result path from create call

Support new object path return from Logging.Create.

See Ia010e53fda55cef8b9cfc948482e133f20040320.

```
$ busctl --user call xyz.openbmc_project.Logging /xyz/openbmc_project/logging xyz.openbmc_project.Logging.Create Create "ssa{ss}" "Example Event" xyz.openbmc_project.Logging.Entry.Level.Error 0
o "/xyz/openbmc_project/logging/entry/1"
$ busctl --user introspect xyz.openbmc_project.Logging /xyz/openbmc_project/logging/entry/1 -l
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.Association.Definitions interface -         -                                                         -
.Associations                               property  a(sss)    0                                                         emits-change writable
xyz.openbmc_project.Common.FilePath         interface -         -                                                         -
.Path                                       property  s         "/tmp/phosphor-logging/errors/1"                          emits-change writable
xyz.openbmc_project.Logging.Entry           interface -         -                                                         -
.GetEntry                                   method    -         h                                                         -
.AdditionalData                             property  as        0                                                         emits-change writable
.EventId                                    property  s         ""                                                        emits-change writable
.Id                                         property  u         1                                                         emits-change writable
.Message                                    property  s         "Example Event"                                           emits-change writable
.Resolution                                 property  s         ""                                                        emits-change writable
.Resolved                                   property  b         false                                                     emits-change writable
.ServiceProviderNotify                      property  s         "xyz.openbmc_project.Logging.Entry.Notify.NotSupported"   emits-change writable
.Severity                                   property  s         "xyz.openbmc_project.Logging.Entry.Level.Error"           emits-change writable
.Timestamp                                  property  t         1727728256156                                             emits-change writable
.UpdateTimestamp                            property  t         1727728256156                                             emits-change writable
xyz.openbmc_project.Object.Delete           interface -         -                                                         -
.Delete                                     method    -         -                                                         -
xyz.openbmc_project.Software.Version        interface -         -                                                         -
.Purpose                                    property  s         "xyz.openbmc_project.Software.Version.VersionPurpose.BMC" emits-change writable
.Version                                    property  s         "2.15"                                                    emits-change writable
```

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Id2f45a1376a88d9785e860a47ea1135179b28ed9
