util: Move dbus AddMatch const to util package

This commit is contained in:
Jonathan Gold
2018-05-04 01:57:00 -04:00
parent a589e2ecf3
commit 9baad56197
4 changed files with 15 additions and 6 deletions

View File

@@ -23,6 +23,7 @@ import (
"github.com/purpleidea/mgmt/engine"
"github.com/purpleidea/mgmt/engine/traits"
engineUtil "github.com/purpleidea/mgmt/engine/util"
"github.com/purpleidea/mgmt/util"
"github.com/godbus/dbus"
@@ -36,7 +37,6 @@ func init() {
const (
hostname1Path = "/org/freedesktop/hostname1"
hostname1Iface = "org.freedesktop.hostname1"
dbusAddMatch = "org.freedesktop.DBus.AddMatch"
)
// ErrResourceInsufficientParameters is returned when the configuration of the
@@ -113,7 +113,7 @@ func (obj *HostnameRes) Watch() error {
}
defer bus.Close()
callResult := bus.BusObject().Call(
"org.freedesktop.DBus.AddMatch", 0,
engineUtil.DBusAddMatch, 0,
fmt.Sprintf("type='signal',path='%s',interface='org.freedesktop.DBus.Properties',member='PropertiesChanged'", hostname1Path))
if callResult.Err != nil {
return errwrap.Wrap(callResult.Err, "Failed to subscribe to DBus events for hostname1")

View File

@@ -25,6 +25,7 @@ import (
"github.com/purpleidea/mgmt/engine"
"github.com/purpleidea/mgmt/engine/traits"
engineUtil "github.com/purpleidea/mgmt/engine/util"
"github.com/purpleidea/mgmt/util"
systemdDbus "github.com/coreos/go-systemd/dbus"
@@ -154,7 +155,7 @@ func (obj *NspawnRes) Watch() error {
defer bus.Close()
// add a match rule to match messages going through the message bus
call := bus.BusObject().Call("org.freedesktop.DBus.AddMatch", 0,
call := bus.BusObject().Call(engineUtil.DBusAddMatch, 0,
fmt.Sprintf("type='signal',interface='%s',eavesdrop='true'",
dbusInterface))
// <-call.Done

View File

@@ -25,6 +25,7 @@ import (
"runtime"
"strings"
engineUtil "github.com/purpleidea/mgmt/engine/util"
"github.com/purpleidea/mgmt/util"
"github.com/godbus/dbus"
@@ -46,7 +47,6 @@ const (
PkPath = "/org/freedesktop/PackageKit"
PkIface = "org.freedesktop.PackageKit"
PkIfaceTransaction = PkIface + ".Transaction"
dbusAddMatch = "org.freedesktop.DBus.AddMatch"
)
var (
@@ -197,10 +197,10 @@ func (obj *Conn) matchSignal(ch chan *dbus.Signal, path dbus.ObjectPath, iface s
bus := obj.GetBus().BusObject()
pathStr := fmt.Sprintf("%s", path)
if len(signals) == 0 {
call = bus.Call(dbusAddMatch, 0, "type='signal',path='"+pathStr+"',interface='"+iface+"'")
call = bus.Call(engineUtil.DBusAddMatch, 0, "type='signal',path='"+pathStr+"',interface='"+iface+"'")
} else {
for _, signal := range signals {
call = bus.Call(dbusAddMatch, 0, "type='signal',path='"+pathStr+"',interface='"+iface+"',member='"+signal+"'")
call = bus.Call(engineUtil.DBusAddMatch, 0, "type='signal',path='"+pathStr+"',interface='"+iface+"',member='"+signal+"'")
if call.Err != nil {
break
}

View File

@@ -36,6 +36,14 @@ import (
const (
// StructTag is the key we use in struct field names for key mapping.
StructTag = "lang"
// DBusInterface is the dbus interface that contains genereal methods.
DBusInterface = "org.freedesktop.DBus"
// DBusAddMatch is the dbus method to receive a subset of dbus broadcast
// signals.
DBusAddMatch = DBusInterface + ".AddMatch"
// DBusRemoveMatch is the dbus method to remove a previously defined
// AddMatch rule.
DBusRemoveMatch = DBusInterface + ".RemoveMatch"
)
// ResToB64 encodes a resource to a base64 encoded string (after serialization).