func main() { if !lib.UniqueOnSession(DBUS_DEST) { logger.Warning("There is an Search running") return } logger.BeginTracing() defer logger.EndTracing() logger.SetRestartCommand("/usr/lib/deepin-daemon/search") if err := dbus.InstallOnSession(GetManager()); err != nil { logger.Fatal("Search Install DBus Failed:", err) return } dbus.DealWithUnhandledMessage() dbus.SetAutoDestroyHandler(time.Second*5, func() bool { if GetManager().writeStart { select { case <-GetManager().writeEnd: return true } } return true }) if err := dbus.Wait(); err != nil { logger.Warning("Search lost dbus:", err) os.Exit(-1) } else { os.Exit(0) } }
func Start() *LangSelector { var logger = log.NewLogger(dbusSender) if !lib.UniqueOnSession(dbusSender) { logger.Warning("There is a LangSelector running...") return nil } logger.BeginTracing() _lang = newLangSelector(logger) if _lang == nil { logger.Error("Create LangSelector Failed") return nil } err := dbus.InstallOnSession(_lang) if err != nil { logger.Error("Install Session DBus Failed:", err) Stop() return nil } _lang.onLocaleSuccess() return _lang }
func runAsDaemon() { logger := log.NewLogger(grub2.DbusGrubDest + ".Runner") logger.BeginTracing() defer logger.EndTracing() if !lib.UniqueOnSession(grub2.DbusGrubDest) { logger.Error("dbus unique:", grub2.DbusGrubDest) return } grub2.Start() dbus.SetAutoDestroyHandler(60*time.Second, func() bool { return !grub2.IsUpdating() }) dbus.DealWithUnhandledMessage() if err := dbus.Wait(); err != nil { logger.Error("lost dbus session:", err) os.Exit(1) } }
func main() { if !lib.UniqueOnSession(DEST) { Logger.Warning("There has an set-fonts running...") return } Logger.BeginTracing() defer Logger.EndTracing() Logger.SetRestartCommand("/usr/lib/deepin-daemon/personalization") StartFont() dbus.DealWithUnhandledMessage() dbus.SetAutoDestroyHandler(time.Second*5, nil) if err := dbus.Wait(); err != nil { Logger.Warning("Lost DBus:", err) os.Exit(-1) } else { os.Exit(0) } }
func main() { InitI18n() Textdomain("dde-daemon") if !lib.UniqueOnSession("com.deepin.daemon") { logger.Warning("There already has a dde-daemon running.") return } if len(os.Args) >= 2 { for _, disabledModuleName := range os.Args[1:] { loader.Enable(disabledModuleName, false) } } C.init() proxy.SetupProxy() initModules() listenDaemonSettings() loader.StartAll() defer loader.StopAll() go func() { if err := dbus.Wait(); err != nil { logger.Errorf("Lost dbus: %v", err) os.Exit(-1) } else { logger.Info("dbus connection is closed by user") os.Exit(0) } }() ddeSessionRegister() dbus.DealWithUnhandledMessage() glib.StartLoop() }