예제 #1
0
        private void OnQueryEndSession(uint flags)
        {
            Logger.Info("Received end session query");

            // The session might not actually end but it would be nice to start
            // some cleanup actions like saving notes here

            // Let the session manager know its OK to continue
            try {
                ClientPrivate client = Bus.Session.GetObject <ClientPrivate> (Constants.SessionManagerInterfaceName,
                                                                              session_client_id);
                client.EndSessionResponse(true, String.Empty);
            } catch (Exception e) {
                Logger.Debug("Failed to respond to session manager: {0}", e.Message);
            }
        }
예제 #2
0
        private void OnEndSession(uint flags)
        {
            Logger.Info("Received end session signal");

            if (ExitingEvent != null)
            {
                ExitingEvent(null, new EventArgs());
            }

            // Let the session manager know its OK to continue
            // Ideally we would wait for all the exit events to finish
            try {
                ClientPrivate client = Bus.Session.GetObject <ClientPrivate> (Constants.SessionManagerInterfaceName,
                                                                              session_client_id);
                client.EndSessionResponse(true, String.Empty);
            } catch (Exception e) {
                Logger.Debug("Failed to respond to session manager: {0}", e.Message);
            }
        }