Example #1
0
 private void button1_Click(object sender, System.EventArgs e)
 {
     UIParams.Clear();
     label1.Text = "";
     Carrot.Initialize();
 }
Example #2
0
        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);
        }
Example #3
0
 private void Initialize()
 {
     FParamIds.Clear();
     FRCPClient.Initialize();
 }