상속: TersoSolutions.Jetstream.SDK.Application.Messages.JetstreamEvent
        /// <summary>
        /// Event handler for the NewWindow event.
        /// </summary>
        /// <param name="sender">Events Service</param>
        /// <param name="e">The NewWindow event args</param>
        private void JetstreamService_NewWindow(object sender, NewWindowEventArgs e)
        {
            // lock so we process all events in order
            lock (_newWindowLock)
            {
                foreach (TersoSolutions.Jetstream.SDK.Application.Messages.JetstreamEvent m in e.Messages)
                {
                    try
                    {
                        Debug.WriteLine("Jetstream Message: " + m.EventType);

                        // now we can deserialize the XML message into the appropriate message
                        switch (m.EventType.Trim().ToLower())
                        {
                        case "aggregateevent":
                        {
                            AE.Jetstream message = (AE.Jetstream)m;
                            ProcessAggregateEvent(message);
                            break;
                        }

                        case "commandcompletionevent":
                        {
                            CCE.Jetstream message = (CCE.Jetstream)m;
                            ProcessCommandCompletionEvent(message);
                            break;
                        }

                        case "commandqueuedevent":
                        {
                            CQE.Jetstream message = (CQE.Jetstream)m;
                            ProcessCommandQueuedEvent(message);
                            break;
                        }

                        case "devicefailureevent":
                        {
                            DFE.Jetstream message = (DFE.Jetstream)m;
                            ProcessDeviceFailureEvent(message);
                            break;
                        }

                        case "devicerestoreevent":
                        {
                            DRE.Jetstream message = (DRE.Jetstream)m;
                            ProcessDeviceRestoreEvent(message);
                            break;
                        }

                        case "heartbeatevent":
                        {
                            HE.Jetstream message = (HE.Jetstream)m;
                            ProcessHeartbeatEvent(message);
                            break;
                        }

                        case "logentryevent":
                        {
                            LEE.Jetstream message = (LEE.Jetstream)m;
                            ProcessLogEntryEvent(message);
                            break;
                        }

                        case "logicaldeviceaddedevent":
                        {
                            LDAE.Jetstream message = (LDAE.Jetstream)m;
                            ProcessLogicalDeviceAddedEvent(message);
                            break;
                        }

                        case "logicaldeviceremovedevent":
                        {
                            LDRE.Jetstream message = (LDRE.Jetstream)m;
                            ProcessLogicalDeviceRemovedEvent(message);
                            break;
                        }

                        case "objectevent":
                        {
                            OE.Jetstream message = (OE.Jetstream)m;
                            ProcessObjectEvent(message);
                            break;
                        }

                        case "sensorreadingevent":
                        {
                            SRE.Jetstream message = (SRE.Jetstream)m;
                            ProcessSensorReadingEvent(message);
                            break;
                        }

                        default:
                        {
                            ProcessUnknownMessage(m.ToString());
                            break;
                        }
                        }
                    }
                    catch (Exception ex)
                    {
                        EventLog.WriteEntry("JetstreamSDK",
                                            ex.Message + "\n" + ex.StackTrace);
                    }
                }
            }
        }
 /// <summary>
 /// Method for processing a new <paramref name="logEnteryEvent"/>
 /// </summary>
 /// <param name="logEntryEvent">
 /// Deserialized LogEntryEvent message in the xsd.exe object model.
 /// </param>
 protected virtual void ProcessLogEntryEvent(LEE.Jetstream logEntryEvent)
 {
 }
        public void LogEntryEventTest()
        {
            try
            {
                LEE.JetstreamHeader logHeader = new LEE.JetstreamHeader();
                LEE.Jetstream logEntryEvent = new LEE.Jetstream();
                logHeader.LogicalDeviceId = LogicalDeviceId;

                LEE.JetstreamLogEntryEvent lgEntEvt = new LEE.JetstreamLogEntryEvent();
                LEE.JetstreamLogEntryEventLogEntryList lgEntEvtLst = new LEE.JetstreamLogEntryEventLogEntryList();
                LEE.JetstreamLogEntryEventLogEntryListLogEntryLevel level;
                level = LEE.JetstreamLogEntryEventLogEntryListLogEntryLevel.Trace;

                LEE.JetstreamLogEntryEventLogEntryListLogEntryParameterList paramLst = new LEE.JetstreamLogEntryEventLogEntryListLogEntryParameterList();
                LEE.JetstreamLogEntryEventLogEntryListLogEntryParameterListParameter[] param = new LEE.JetstreamLogEntryEventLogEntryListLogEntryParameterListParameter[1];
                param[0] = new LEE.JetstreamLogEntryEventLogEntryListLogEntryParameterListParameter { Name = "WinName" + LogicalDeviceId, Value = "Val" + LogicalDeviceId };
                paramLst.Parameter = param;

                LEE.JetstreamLogEntryEventLogEntryListLogEntry[] enty = new LEE.JetstreamLogEntryEventLogEntryListLogEntry[1];
                enty[0] = new LEE.JetstreamLogEntryEventLogEntryListLogEntry { Level = level, LogTime = DateTime.Now, Message = "WindMsg" + LogicalDeviceId, Type = "WinType", ParameterList = paramLst };

                logEntryEvent.Header = logHeader;
                logEntryEvent.LogEntryEvent = lgEntEvt;
                logEntryEvent.LogEntryEvent.LogEntryList = lgEntEvtLst;
                logEntryEvent.LogEntryEvent.LogEntryList.LogEntry = enty;

                #region window

                StringBuilder sb = new StringBuilder();

                sb.AppendLine("ProcessLogEntryEvent for Logical Device " + logEntryEvent.Header.LogicalDeviceId);
                foreach (var entry in logEntryEvent.LogEntryEvent.LogEntryList.LogEntry)
                {
                    sb.AppendFormat("Level: {0}\r\n", entry.Level);
                    sb.AppendFormat("Log Time: {0} {1}\r\n", entry.LogTime.ToLongDateString(), entry.LogTime.ToLongTimeString());
                    sb.AppendFormat("Message: {0}\r\n", entry.Message);
                    sb.AppendFormat("Type: {0}\r\n", entry.Type);
                    if (entry.ParameterList.Parameter != null)
                    {
                        // collect the name/value pairs associated with the log entry event
                        foreach (var parm in entry.ParameterList.Parameter)
                        {
                            sb.AppendFormat("Parameter: {0} = {1}\r\n", parm.Name, parm.Value);
                        }
                    }
                }

                #endregion
            }
            catch (Exception ex)
            {
                Assert.Fail(ex.ToString());
            }
        }