/source2/VSIP/Cosmos.VS.Debug/MainWindow.xaml.cs
C# | 71 lines | 60 code | 11 blank | 0 comment | 1 complexity | 5293b947c7d42c3ed2aee534b9d90fea MD5 | raw file
Possible License(s): BSD-2-Clause
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.IO.Pipes;
- using System.Linq;
- using System.Text;
- using System.Threading;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Data;
- using System.Windows.Documents;
- using System.Windows.Input;
- using System.Windows.Media;
- using System.Windows.Media.Imaging;
- using System.Windows.Navigation;
- using System.Windows.Shapes;
- using System.Windows.Threading;
- using Cosmos.Compiler.Debug;
-
- namespace Cosmos.VS.Debug
- {
- public partial class MainWindow : Window
- {
- public MainWindow()
- {
- InitializeComponent();
-
- PipeThread.DataPacketReceived += new Action<byte, byte[]>(PipeThread_DataPacketReceived);
-
- var xServerThread = new Thread(PipeThread.ThreadStartServer);
- xServerThread.Start();
- }
-
- void PipeThread_DataPacketReceivedInvoke(byte aCommand, byte[] aData) {
- switch (aCommand) {
- case DwMsgType.Noop:
- break;
-
- case DwMsgType.Stack:
- break;
-
- case DwMsgType.Frame:
- break;
-
- case DwMsgType.Registers:
- uctlRegisters.Update(aData);
- break;
-
- case DwMsgType.Quit:
- Close();
- break;
-
- case DwMsgType.AssemblySource:
- uctlAsmSource.Update(aData);
- break;
- }
- }
-
- void PipeThread_DataPacketReceived(byte aCmd, byte[] aMsg) {
- Dispatcher.Invoke(DispatcherPriority.Normal,
- (Action)delegate() {
- PipeThread_DataPacketReceivedInvoke(aCmd, aMsg);
- }
- );
- }
-
- private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) {
- PipeThread.Stop();
- }
- }
- }