mirror of
https://github.com/0x1d/rcond.git
synced 2025-12-14 18:25:21 +01:00
24 lines
438 B
Go
24 lines
438 B
Go
package system
|
|
|
|
import (
|
|
"log"
|
|
|
|
"github.com/godbus/dbus/v5"
|
|
)
|
|
|
|
// WithDbus executes the given function with a D-Bus system connection
|
|
// and handles any connection errors
|
|
func WithDbus(fn func(*dbus.Conn) error) error {
|
|
conn, err := dbus.SystemBus()
|
|
if err != nil {
|
|
log.Printf("Failed to connect to system bus: %v", err)
|
|
return err
|
|
}
|
|
if err := fn(conn); err != nil {
|
|
log.Print(err)
|
|
return err
|
|
}
|
|
conn.Close()
|
|
return nil
|
|
}
|