private void button1_Click(object sender, System.EventArgs e) { UIParams.Clear(); label1.Text = ""; Carrot.Initialize(); }
public Client() { InitializeComponent(); var transporter = new WebsocketClientTransporter(); Carrot = new RCPClient(); Carrot.SetTransporter(transporter); Carrot.ParameterAdded += (s, p) => { UIParams.Add(p.Id, p); label1.Text = UIParams.Count.ToString() + ": " + p.Label; p.Updated += P_Updated; if (p is BangParameter) { FTheBang = p as BangParameter; FTheBang.OnBang += Client_OnBang; } else if (p is ImageParameter) { var imageParam = p as ImageParameter; using (var stream = new MemoryStream(imageParam.Value)) { stream.Seek(0, SeekOrigin.Begin); var img = Image.FromStream(stream); pictureBox1.Image = img; } } }; Carrot.ParameterRemoved += (s, p) => { if (p is BangParameter) { FTheBang.OnBang -= Client_OnBang; FTheBang = null; } //remove UI matching p UIParams.Remove(p.Id); }; Carrot.StatusChanged = (status, message) => { // e.g.: switch (status) { case RcpTypes.ClientStatus.Disconnected: /*show something*/ break; case RcpTypes.ClientStatus.Connected: Carrot.Initialize(); break; case RcpTypes.ClientStatus.VersionMissmatch: MessageBox.Show(message); break; case RcpTypes.ClientStatus.Ok: /*nop*/ break; } }; transporter.Connect("127.0.0.1", 10000); }
private void Initialize() { FParamIds.Clear(); FRCPClient.Initialize(); }