diff options
Diffstat (limited to 'internal/final/register.go')
| -rw-r--r-- | internal/final/register.go | 48 |
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 +} |
