示例#1
0
        /// <summary>
        /// Event Handler for Programmatic events: Stop, Pause, Resume.
        /// Use this event to clean up when a program is stopping, pausing, and resuming.
        /// This event only applies to this SIMPL#Pro program, it doesn't receive events
        /// for other programs stopping
        /// </summary>
        /// <param name="programStatusEventType"></param>
        void ControlSystem_ControllerProgramEventHandler(eProgramStatusEventType programStatusEventType)
        {
            switch (programStatusEventType)
            {
            case (eProgramStatusEventType.Paused):
                //The program has been paused.  Pause all user threads/timers as needed.
                break;

            case (eProgramStatusEventType.Resumed):
                //The program has been resumed. Resume all the user threads/timers as needed.
                break;

            case (eProgramStatusEventType.Stopping):
                foreach (Room room in rooms)
                {
                    room.SetOnline(false);
                }
                foreach (ThreeSeriesTcpIpEthernetIntersystemCommunications eisc in EISCs)
                {
                    eisc.UnRegister();
                }
                //The program has been stopped.
                //Close all threads.
                //Shutdown all Client/Servers in the system.
                //General cleanup.
                //Unsubscribe to all System Monitor events
                break;
            }
        }
示例#2
0
 //Event handlers
 void CrestronEnvironment_ProgramStatusEventHandler(eProgramStatusEventType programEventType)
 {
     if (programEventType == eProgramStatusEventType.Stopping && Device != null)
     {
         Device.Dispose();
     }
 }
        /// <summary>
        /// Event Handler for Programmatic events: Stop, Pause, Resume.
        /// Use this event to clean up when a program is stopping, pausing, and resuming.
        /// This event only applies to this SIMPL#Pro program, it doesn't receive events
        /// for other programs stopping
        /// </summary>
        /// <param name="programStatusEventType"></param>
        void ControlSystem_ControllerProgramEventHandler(eProgramStatusEventType programStatusEventType)
        {
            switch (programStatusEventType)
            {
            case (eProgramStatusEventType.Paused):
                //The program has been paused.  Pause all user threads/timers as needed.
                break;

            case (eProgramStatusEventType.Resumed):
                //The program has been resumed. Resume all the user threads/timers as needed.
                break;

            case (eProgramStatusEventType.Stopping):
                //The program has been stopped.
                //Close all threads.
                //Shutdown all Client/Servers in the system.
                //General cleanup.
                //Unsubscribe to all System Monitor events
                break;

            default:
                CrestronConsole.PrintLine("[+] ProgramEvent: {0}", programStatusEventType.ToString());

                break;
            }
        }
示例#4
0
 void CrestronEnvironment_ProgramStatusEventHandler(eProgramStatusEventType programEventType)
 {
     if (programEventType == eProgramStatusEventType.Stopping)
     {
         RxThread.Abort();
     }
 }
 static void  CrestronEnvironment_ProgramStatusEventHandler(eProgramStatusEventType programEventType)
 {
     if (programEventType == eProgramStatusEventType.Stopping)
     {
         _shutdownStarted = true;
     }
 }
示例#6
0
 /// <summary>
 ///
 /// </summary>
 void CrestronEnvironment_ProgramStatusEventHandler(eProgramStatusEventType programEventType)
 {
     if (programEventType == eProgramStatusEventType.Stopping)
     {
         Server.Close();
     }
 }
示例#7
0
 void CrestronEnvironment_ProgramStatusEventHandler(eProgramStatusEventType programEventType)
 {
     if (programEventType == eProgramStatusEventType.Stopping && this.Connected)
     {
         this.Disconnect();
     }
 }
示例#8
0
 private void CrestronEnvironment_ProgramStatusEventHandler(eProgramStatusEventType programEventType)
 {
     if (programEventType == eProgramStatusEventType.Stopping)
     {
         _rxQueue.Enqueue(null);
     }
 }
        /// <summary>
        /// Event Handler for Programmatic events: Stop, Pause, Resume.
        /// Use this event to clean up when a program is stopping, pausing, and resuming.
        /// This event only applies to this SIMPL#Pro program, it doesn't receive events
        /// for other programs stopping
        /// </summary>
        /// <param name="programStatusEventType"></param>
        void ControlSystem_ControllerProgramEventHandler(eProgramStatusEventType programStatusEventType)
        {
            switch (programStatusEventType)
            {
            case (eProgramStatusEventType.Paused):
                //The program has been paused.  Pause all user threads/timers as needed.
                if (udpServer.Started)
                {
                    udpServer.Stop();
                }
                break;

            case (eProgramStatusEventType.Resumed):
                //The program has been resumed. Resume all the user threads/timers as needed.
                if (udpServer.Initialized && !udpServer.Started)
                {
                    udpServer.Start();
                }
                break;

            case (eProgramStatusEventType.Stopping):
                //The program has been stopped.
                //Close all threads.
                //Shutdown all Client/Servers in the system.
                //General cleanup.
                //Unsubscribe to all System Monitor events
                if (udpServer.Started)
                {
                    udpServer.Stop();
                }
                break;
            }
        }
示例#10
0
        /// <summary>
        /// This event is triggered whenever a program event happens (such as stop, pause, resume, etc.)
        /// </summary>
        /// <param name="programEventType">These event arguments hold all the data to properly parse the event</param>
        void ControlSystem_ControllerProgramEventHandler(eProgramStatusEventType programStatusEventType)
        {
            //ILiveDebug.Instance.WriteLine(programStatusEventType.ToString());
            switch (programStatusEventType)
            {
            case (eProgramStatusEventType.Paused):
                //The program has been paused.  Pause all user threads/timers as needed.
                break;

            case (eProgramStatusEventType.Resumed):
                //The program has been resumed. Resume all the user threads/timers as needed.
                break;

            case (eProgramStatusEventType.Stopping):
                // Crestron.SimplSharp.CrestronLogger.CrestronLogger.Initialize(10,Crestron.SimplSharp.CrestronLogger.LoggerModeEnum.CONSOLE);
                // Crestron.SimplSharp.CrestronLogger.CrestronLogger.Clear(true);
                //The program has been stopped.
                //Close all threads.
                //Shutdown all Client/Servers in the system.
                //General cleanup.
                //Unsubscribe to all System Monitor events

                //RxQueue.Enqueue(null); // The RxThread will terminate when it receives a null
                break;
            }
        }
 private void HandleProgramEvent(eProgramStatusEventType programStatusEventType)
 {
     if ((programStatusEventType == eProgramStatusEventType.Stopping) || (programStatusEventType == eProgramStatusEventType.Paused))
     {
         try { Terminate(); return; }
         catch (Exception e) { ErrorLog.Exception("Exception trying to terminate due to program stop.", e); return; };
     }
 }
 private void CrestronEnvironmentOnProgramStatusEventHandler(eProgramStatusEventType programEventType)
 {
     _programStopping = programEventType == eProgramStatusEventType.Stopping;
     if (_programStopping)
     {
         _updateFeedbackEvent.Set();
     }
 }
示例#13
0
 private void CrestronEnvironmentOnProgramStatusEventHandler(eProgramStatusEventType programEventType)
 {
     _programStopping = programEventType == eProgramStatusEventType.Stopping;
     if (_programStopping)
     {
         Stop();
     }
 }
 /// <summary>
 /// Handles closing this up when the program shuts down
 /// </summary>
 void CrestronEnvironment_ProgramStatusEventHandler(eProgramStatusEventType programEventType)
 {
     if (programEventType == eProgramStatusEventType.Stopping)
     {
         Debug.Console(1, this, "Program stopping. Closing connection");
         DisconnectClient();
     }
 }
示例#15
0
 void CrestronEnvironment_ProgramStatusEventHandler(eProgramStatusEventType programEventType)
 {
     programStopping = true;
     if (FeedbackServer != null && FeedbackServer.Active)
     {
         FeedbackServer.Active = false;
     }
 }
示例#16
0
 protected virtual void HandleProgramEvent(eProgramStatusEventType programStatusEventType)
 {
     if (programStatusEventType == eProgramStatusEventType.Stopping)
     {
         try { Terminate(); }
         catch (Exception e) { ErrorLog.Exception("Exception stopping " + this.Name + " driver", e); };
     }
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="programEventType"></param>
 void CrestronEnvironment_ProgramStatusEventHandler(eProgramStatusEventType programEventType)
 {
     if (programEventType == eProgramStatusEventType.Stopping)
     {
         Debug.Console(1, this, "Program stopping. Disabling Server");
         Disconnect();
     }
 }
示例#18
0
 private static void CrestronEnvironment_ProgramStatusEventHandler(eProgramStatusEventType programEventType)
 {
     switch (programEventType)
     {
     case eProgramStatusEventType.Stopping:
         HasShutdownStarted = true;
         break;
     }
 }
 //Private Event Handler method to handle the closing of connections when the program stops
 void CrestronEnvironment_ProgramStatusEventHandler(eProgramStatusEventType programEventType)
 {
     if (programEventType == eProgramStatusEventType.Stopping)
     {
         Debug.Console(1, this, "Program stopping. Closing server");
         DisconnectAllClients();
         StopListening();
     }
 }
示例#20
0
 /// <summary>
 /// Handles closing this up when the program shuts down
 /// </summary>
 void CrestronEnvironment_ProgramStatusEventHandler(eProgramStatusEventType programEventType)
 {
     if (programEventType == eProgramStatusEventType.Stopping || programEventType == eProgramStatusEventType.Paused)
     {
         Debug.Console(0, this, Debug.ErrorLogLevel.Notice, "Program stopping. Closing Client connection");
         ProgramIsStopping = true;
         Disconnect();
     }
 }
示例#21
0
 void CrestronEnvironment_ProgramStatusEventHandler(eProgramStatusEventType programEventType)
 {
     if (this.pollTimer != null && !this.pollTimer.Disposed)
     {
         this.pollTimer.Stop();
         this.pollTimer.Dispose();
         this.DeviceCommunicating = false;
     }
 }
示例#22
0
文件: CloudLog.cs 项目: uxav/lib2
 private static void OnProgramStatusEventHandler(eProgramStatusEventType programEventType)
 {
     _programEnding = programEventType == eProgramStatusEventType.Stopping;
     if (_programEnding)
     {
         Notice(string.Format("CloudLog Client Stopping - App {0} is stopping",
                              InitialParametersClass.ApplicationNumber));
     }
 }
 /// <summary>
 /// Sends message to server to indicate the system is shutting down
 /// </summary>
 /// <param name="programEventType"></param>
 void CrestronEnvironment_ProgramStatusEventHandler(eProgramStatusEventType programEventType)
 {
     if (programEventType == eProgramStatusEventType.Stopping &&
         WSClient != null &&
         WSClient.Connected)
     {
         CleanUpWebsocketClient();
     }
 }
        public static void RaiseProgramStatusEventHandler(eProgramStatusEventType eventType)
        {
            var pseh = ProgramStatusEventHandler;

            if (pseh != null)
            {
                pseh(eventType);
            }
        }
示例#25
0
 /// <summary>
 /// Event Handler for Programmatic events: Stop, Pause, Resume.
 /// Use this event to clean up when a program is stopping, pausing, and resuming.
 /// This event only applies to this SIMPL#Pro program, it doesn't receive events
 /// for other programs stopping
 /// </summary>
 /// <param name="programStatusEventType"></param>
 void ControlSystem_ControllerProgramEventHandler(eProgramStatusEventType programStatusEventType)
 {
     switch (programStatusEventType)
     {
     case (eProgramStatusEventType.Stopping):
         CrestronConsole.PrintLine("Stopping...");
         test.Dispose();
         break;
     }
 }
示例#26
0
 private void ProgramStatusHandler(eProgramStatusEventType status)
 {
     if (status == eProgramStatusEventType.Stopping)
     {
         if (_api != null)
         {
             _api.Unregister();
             _api.Dispose();
         }
     }
 }
示例#27
0
        private void CrestronEnvironmentOnProgramStatusEventHandler(eProgramStatusEventType programEventType)
        {
            if (programEventType != eProgramStatusEventType.Stopping)
            {
                return;
            }

            _uptimePollTimer.Stop();
            _uptimePollTimer.Dispose();
            _uptimePollTimer = null;
        }
示例#28
0
        void ProgramStatusEventHandler(eProgramStatusEventType programEventType)
        {
            if (programEventType == eProgramStatusEventType.Stopping && _client.ClientStatus == SocketStatus.SOCKET_STATUS_CONNECTED)
            {
                ProgramRunning = false;
#if DEBUG
                CrestronConsole.PrintLine("{0}.ProgramStatusEventHandler - Program Stopping! ... disconnecting client", this.GetType().Name);
#endif
                this.Disconnect();
            }
        }
        void CrestronEnvironment_ProgramStatusEventHandler(eProgramStatusEventType programEventType)
        {
            switch (programEventType)
            {
            case eProgramStatusEventType.Stopping:
                RxQueue.Enqueue(null);
                break;

            default:
                break;
            }
        }
示例#30
0
 /// <summary>
 /// Used to save memory when shutting down
 /// </summary>
 /// <param name="programEventType"></param>
 static void CrestronEnvironment_ProgramStatusEventHandler(eProgramStatusEventType programEventType)
 {
     if (programEventType == eProgramStatusEventType.Stopping)
     {
         if (SaveTimer != null)
         {
             SaveTimer.Stop();
             SaveTimer = null;
         }
         Console(0, "Saving debug settings");
         SaveMemory();
     }
 }
示例#31
0
 void ControlSystem_ControllerProgramEventHandler(eProgramStatusEventType programStatusEventType)
 {
     switch (programStatusEventType)
     {
         case (eProgramStatusEventType.Paused):
             //The program has been paused.  Pause all user threads/timers as needed.
             break;
         case (eProgramStatusEventType.Resumed):
             //The program has been resumed. Resume all the user threads/timers as needed.
             break;
         case (eProgramStatusEventType.Stopping):
             //The program has been stopped.
             //Close all threads.
             //Shutdown all Client/Servers in the system.
             //General cleanup.
             //Unsubscribe to all System Monitor events
             break;
     }
 }
示例#32
0
        /// <summary>
        /// Method to handle program events on this processor.
        /// </summary>
        /// <param name="programEventType">Information about the event being raised.</param>
        void CrestronEnvironment_ProgramStatusEventHandler(eProgramStatusEventType programEventType)
        {
            switch (programEventType)
            {
                case eProgramStatusEventType.Paused:
                    ShutdownTimer.Stop();
                    break;

                case eProgramStatusEventType.Resumed:
                    break;

                case eProgramStatusEventType.Stopping:
                    ShutdownTimer.Stop();
                    break;

                default:
                    break;
            }
        }
示例#33
0
        void ControlSystem_ControllerProgramEventHandler(eProgramStatusEventType programStatusEventType)
        {
            switch (programStatusEventType)
            {
                case (eProgramStatusEventType.Paused):
                    //The program has been paused.  Pause all user threads/timers as needed.
                    break;
                case (eProgramStatusEventType.Resumed):
                    //The program has been resumed. Resume all the user threads/timers as needed.
                    break;
                case (eProgramStatusEventType.Stopping):
                    rxQueue.Enqueue(null);  // so the gather will complete
                    break;
            }

        }
示例#34
0
 /// <summary>
 /// This event is triggered whenever a program event happens (such as stop, pause, resume, etc.)
 /// </summary>
 /// <param name="programEventType">These event arguments hold all the data to properly parse the event</param>
 void ControlSystem_ControllerProgramEventHandler(eProgramStatusEventType programStatusEventType)
 {
     switch (programStatusEventType)
     {
         case (eProgramStatusEventType.Paused):
             break;
         case (eProgramStatusEventType.Resumed):
             break;
         case (eProgramStatusEventType.Stopping):
             break;
     }
 }