func initializeLibs() error { var err error upower, err = libupower.NewUpower(UPOWER_BUS_NAME, "/org/freedesktop/UPower") if err != nil { logger.Warning("create dbus upower failed:", err) return err } login1, err = liblogin1.NewManager("org.freedesktop.login1", "/org/freedesktop/login1") if err != nil { logger.Warning("create dbus login1 failed:", err) finalizeLibs() return err } mediaKey, err = libkeybinding.NewMediaKey("com.deepin.daemon.KeyBinding", "/com/deepin/daemon/MediaKey") if err != nil { logger.Warning("create dbus mediaKey failed:", err) finalizeLibs() return err } notifier, err = libnotifications.NewNotifier("org.freedesktop.Notifications", "/org/freedesktop/Notifications") if err != nil { logger.Warning("Can't build org.freedesktop.Notficaations:", err) finalizeLibs() return err } player, err = libsound.NewSound("com.deepin.api.Sound", "/com/deepin/api/Sound") if err != nil { logger.Warning("Can't build com.deepin.api.Sound:", err) finalizeLibs() return err } power = NewPower() return nil }
func sendNotify(icon, summary, body string) error { notifier, err := notifications.NewNotifier( "org.freedesktop.Notifications", "/org/freedesktop/Notifications") if err != nil { return err } _, err = notifier.Notify(dbusSender, 0, icon, summary, body, nil, nil, 0) return err }
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 }