func finalizeLibs() { if power != nil { power.batGroup.Destroy() power.batGroup = nil dbus.UnInstallObject(power) power = nil } if upower != nil { libupower.DestroyUpower(upower) upower = nil } if login1 != nil { liblogin1.DestroyManager(login1) login1 = nil } if mediaKey != nil { libkeybinding.DestroyMediaKey(mediaKey) mediaKey = nil } if notifier != nil { libnotifications.DestroyNotifier(notifier) notifier = nil } player = nil }
func notify(icon, summary, body string) { notifier, err := notifications.NewNotifier(dbusNotifyDest, dbusNotifyPath) if err != nil { logger.Error(err) return } logger.Info("notify", icon, summary, body) // use goroutine to fix dbus cycle call issue go func() { notifier.Notify("Network", 0, icon, summary, body, nil, nil, 0) notifications.DestroyNotifier(notifier) }() return }