aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/final/register.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/final/register.go')
-rw-r--r--internal/final/register.go48
1 files changed, 48 insertions, 0 deletions
diff --git a/internal/final/register.go b/internal/final/register.go
new file mode 100644
index 00000000..16e8d868
--- /dev/null
+++ b/internal/final/register.go
@@ -0,0 +1,48 @@
+package final
+
+import (
+ "git.ophivana.moe/cat/fortify/dbus"
+ "git.ophivana.moe/cat/fortify/internal/state"
+)
+
+var (
+ cleanupCandidate []string
+ enablements *state.Enablements
+ xcbActionComplete bool
+
+ dbusProxy *dbus.Proxy
+ dbusDone *chan struct{}
+
+ statePath string
+)
+
+func RegisterRevertPath(p string) {
+ cleanupCandidate = append(cleanupCandidate, p)
+}
+
+func RegisterEnablement(e state.Enablements) {
+ if enablements != nil {
+ panic("enablement state set twice")
+ }
+ enablements = &e
+}
+
+func XcbActionComplete() {
+ if xcbActionComplete {
+ Fatal("xcb inserted twice")
+ }
+ xcbActionComplete = true
+}
+
+func RegisterDBus(p *dbus.Proxy, done *chan struct{}) {
+ dbusProxy = p
+ dbusDone = done
+}
+
+func RegisterStatePath(v string) {
+ if statePath != "" {
+ panic("statePath set twice")
+ }
+
+ statePath = v
+}