public ClientViewModel(RaftClient raftClient) : base(raftClient) { Name = raftClient.Id; State = "Established"; this.raftClient = raftClient; this.raftClient.Client.StateChanged += Client_StateChanged; ClientStateToView(); }
public RaftDiagramDefinition(RaftSoundPlayer raftEventListener, INetworkModel networkModel, SimulationSettings worldSettings) { this.raftEventListener = raftEventListener; this.simulationSettings = worldSettings; // brokers AddModelFor <BrokerViewModel, DiagramNodeBroker>( "Broker", (p) => new BrokerViewModel(string.Format("Br{0}", brokerNo++)) { Location = p }, (vm) => new DiagramNodeBroker() { Location = vm.Location, Name = vm.Name }, (m) => new BrokerViewModel(m.Name) { Location = m.Location } ); // clients AddModelFor <ClientViewModel, DiagramNodeClient>( "NetworkClient", (p) => { string cliendId = (clientNo++).ToString(); RaftClient raftClient = new RaftClient(networkModel, cliendId); return(new ClientViewModel(raftClient) { Location = p }); }, (vm) => new DiagramNodeClient() { Location = vm.Location, Name = vm.Name }, (m) => { RaftClient raftClient = new RaftClient(networkModel, m.Name); return(new ClientViewModel(raftClient) { Location = m.Location }); } ); // servers AddModelFor <ServerViewModel, DiagramNodeServer>( "Server", (p) => { serverNo++; string raftNodeId = serverNo.ToString(); RaftHost serverSoftware = new RaftHost(networkModel, raftEventListener, simulationSettings, raftNodeId); //this looks nasty return(new ServerViewModel(serverSoftware) { Location = p }); }, (vm) => new DiagramNodeServer() { Location = vm.Location, Name = vm.Name }, (m) => { RaftHost serverSoftware = new RaftHost(networkModel, raftEventListener, simulationSettings, m.Name); return(new ServerViewModel(serverSoftware) { Location = m.Location }); } ); }