diff options
| author | Ophestra <cat@gensokyo.uk> | 2025-10-07 19:01:18 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2025-10-07 19:03:51 +0900 |
| commit | d23b4dc9e64d3f00e746c65f3038a1a6de44b8f5 (patch) | |
| tree | 46e7f73bc2b06047561588294759ddb8a71184f2 /hst | |
| parent | 3ce63e95d7691450f7b368e639d984a223a764b1 (diff) | |
hst/dbus: move dbus config struct
This allows holding a xdg-dbus-proxy configuration without importing system/dbus.
It also makes more sense in the project structure since the config struct is part of the hst API however the rest of the implementation is not.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'hst')
| -rw-r--r-- | hst/config.go | 5 | ||||
| -rw-r--r-- | hst/dbus.go | 19 | ||||
| -rw-r--r-- | hst/hst.go | 5 |
3 files changed, 23 insertions, 6 deletions
diff --git a/hst/config.go b/hst/config.go index 4629d3db..e661d2d3 100644 --- a/hst/config.go +++ b/hst/config.go @@ -6,7 +6,6 @@ import ( "time" "hakurei.app/container" - "hakurei.app/system/dbus" ) const Tmp = "/.hakurei" @@ -42,10 +41,10 @@ type ( // Session D-Bus proxy configuration. // If set to nil, session bus proxy assume built-in defaults. - SessionBus *dbus.Config `json:"session_bus,omitempty"` + SessionBus *BusConfig `json:"session_bus,omitempty"` // System D-Bus proxy configuration. // If set to nil, system bus proxy is disabled. - SystemBus *dbus.Config `json:"system_bus,omitempty"` + SystemBus *BusConfig `json:"system_bus,omitempty"` // Direct access to wayland socket, no attempt is made to attach security-context-v1 // and the bare socket is made available to the container. DirectWayland bool `json:"direct_wayland,omitempty"` diff --git a/hst/dbus.go b/hst/dbus.go new file mode 100644 index 00000000..7bad231e --- /dev/null +++ b/hst/dbus.go @@ -0,0 +1,19 @@ +package hst + +// BusConfig configures the xdg-dbus-proxy process. +type BusConfig struct { + // See set 'see' policy for NAME (--see=NAME) + See []string `json:"see"` + // Talk set 'talk' policy for NAME (--talk=NAME) + Talk []string `json:"talk"` + // Own set 'own' policy for NAME (--own=NAME) + Own []string `json:"own"` + + // Call set RULE for calls on NAME (--call=NAME=RULE) + Call map[string]string `json:"call"` + // Broadcast set RULE for broadcasts from NAME (--broadcast=NAME=RULE) + Broadcast map[string]string `json:"broadcast"` + + Log bool `json:"log,omitempty"` + Filter bool `json:"filter"` +} @@ -7,7 +7,6 @@ import ( "os" "hakurei.app/container" - "hakurei.app/system/dbus" ) // An AppError is returned while starting an app according to [hst.Config]. @@ -62,7 +61,7 @@ func Template() *Config { Enablements: NewEnablements(EWayland | EDBus | EPulse), - SessionBus: &dbus.Config{ + SessionBus: &BusConfig{ See: nil, Talk: []string{"org.freedesktop.Notifications", "org.freedesktop.FileManager1", "org.freedesktop.ScreenSaver", "org.freedesktop.secrets", "org.kde.kwalletd5", "org.kde.kwalletd6", "org.gnome.SessionManager"}, @@ -73,7 +72,7 @@ func Template() *Config { Log: false, Filter: true, }, - SystemBus: &dbus.Config{ + SystemBus: &BusConfig{ See: nil, Talk: []string{"org.bluez", "org.freedesktop.Avahi", "org.freedesktop.UPower"}, Own: nil, |
