aboutsummaryrefslogtreecommitdiffhomepage
path: root/hst
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2025-10-07 19:01:18 +0900
committerOphestra <cat@gensokyo.uk>2025-10-07 19:03:51 +0900
commitd23b4dc9e64d3f00e746c65f3038a1a6de44b8f5 (patch)
tree46e7f73bc2b06047561588294759ddb8a71184f2 /hst
parent3ce63e95d7691450f7b368e639d984a223a764b1 (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.go5
-rw-r--r--hst/dbus.go19
-rw-r--r--hst/hst.go5
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"`
+}
diff --git a/hst/hst.go b/hst/hst.go
index 14c18458..3e4c7dee 100644
--- a/hst/hst.go
+++ b/hst/hst.go
@@ -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,