summaryrefslogtreecommitdiff
path: root/CSharp/Ivy/IvyPPC/IvyDomain.cs
blob: 80fe28de2453b366882fe90621756b355416af7f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;

namespace IvyBus
{
    public partial class IvyDomain : UserControl
    {
        public Ivy ivy;
        private string appname;
        private string ready;

        [Category("Ivy")]
        public string AppName
        {
            get { return appname; }
            set { appname = value; }
        }

        [Category("Ivy")]
        public string AppReadyMessage
        {
            get { return ready; }
            set { ready = value; }
        }

        [Category("Ivy")]
        public string Domain
        {
            get { return ivybus.Text; }
            set { ivybus.Text = value; }
        }
        [Category("Ivy")]
        public event Ivy.ClientConnectedHandler clientConnected
        {
        add
        {
            ivy.clientConnected += value;
        }
        remove
        {
            ivy.clientConnected -= value;
        }
        }
        [Category("Ivy")]
        public event Ivy.ClientDisconnectedHandler clientDisconnected
        {
            add
            {
                ivy.clientDisconnected += value;
            }
            remove
            {
                ivy.clientDisconnected -= value;
            }
        }
        [Category("Ivy")]
        public event Ivy.ClientAddBindingHandler addBinding
        {
            add
            {
                ivy.addBinding += value;
            }
            remove
            {
                ivy.addBinding -= value;
            }
        }
        [Category("Ivy")]
        public event Ivy.ClientRemoveBindingHandler removeBinding
        {
            add
            {
                ivy.removeBinding += value;
            }
            remove
            {
                ivy.removeBinding -= value;
            }
        }
        [Category("Ivy")]
        public event Ivy.DieHandler dieReceived
        {
            add
            {
                ivy.dieReceived += value;
            }
            remove
            {
                ivy.dieReceived -= value;
            }
        }
        [Category("Ivy")]
        public event Ivy.DirectMessageHandler directMessageReceived
        {
            add
            {
                ivy.directMessageReceived += value;
            }
            remove
            {
                ivy.directMessageReceived -= value;
            }
        }
        

        public IvyDomain()
        {
            InitializeComponent();
            ivy = new Ivy(appname,ready,this);
        }


        private void ivybus_Validating(object sender, CancelEventArgs e)
        {
            e.Cancel = false;
        }

        private void ivybus_Validated(object sender, EventArgs e)
        {
            ivy.stop();
            ivy.start(ivybus.Text);
        }

        private void toolStripContainer1_TopToolStripPanel_Click(object sender, EventArgs e)
        {

        }

    }
}