code: func (runner *runner) connectToFirewallD() {
  	bus, err := runner.dbus.SystemBus()
  	if err != nil {
  		klog.V(1).Infof("Could not connect to D-Bus system bus: %s", err)
  		return
  	}
  	runner.hasListener = true
  
  	rule := fmt.Sprintf("type='signal',sender='%s',path='%s',interface='%s',member='Reloaded'", firewalldName, firewalldPath, firewalldInterface)
  	bus.BusObject().Call("org.freedesktop.DBus.AddMatch", 0, rule)
  
  	rule = fmt.Sprintf("type='signal',interface='org.freedesktop.DBus',member='NameOwnerChanged',path='/org/freedesktop/DBus',sender='org.freedesktop.DBus',arg0='%s'", firewalldName)
  	bus.BusObject().Call("org.freedesktop.DBus.AddMatch", 0, rule)
  
  	runner.signal = make(chan *godbus.Signal, 10)
  	bus.Signal(runner.signal)
  
  	go runner.dbusSignalHandler(bus)
  }
docs: // Connects to D-Bus and listens for FirewallD start/restart. (On non-FirewallD-using
  // systems, this is effectively a no-op; we listen for the signals, but they will never be
  // emitted, so reload() will never be called.)