From 51e84ba8a52bcd06f544ace45f3fecb9396881ab Mon Sep 17 00:00:00 2001 From: Ophestra Umiker Date: Sun, 27 Oct 2024 11:56:20 +0900 Subject: system/dbus: compare sealed value by string Stringer method of dbus.Proxy returns a string representation of its args stream when sealed. Signed-off-by: Ophestra Umiker --- internal/system/dbus.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'internal/system') diff --git a/internal/system/dbus.go b/internal/system/dbus.go index 7c003e4e..349963c4 100644 --- a/internal/system/dbus.go +++ b/internal/system/dbus.go @@ -12,6 +12,14 @@ var ( ErrDBusConfig = errors.New("dbus config not supplied") ) +func (sys *I) MustProxyDBus(sessionPath string, session *dbus.Config, systemPath string, system *dbus.Config) *I { + if err := sys.ProxyDBus(session, system, sessionPath, systemPath); err != nil { + panic(err.Error()) + } else { + return sys + } +} + func (sys *I) ProxyDBus(session, system *dbus.Config, sessionPath, systemPath string) error { d := new(DBus) @@ -144,7 +152,9 @@ func (d *DBus) revert(_ *I, _ *Criteria) error { func (d *DBus) Is(o Op) bool { d0, ok := o.(*DBus) - return ok && d0 != nil && *d == *d0 + return ok && d0 != nil && + ((d.proxy == nil && d0.proxy == nil) || + (d.proxy != nil && d0.proxy != nil && d.proxy.String() == d0.proxy.String())) } func (d *DBus) Path() string { -- cgit v1.3.1