public Entity Add() { Entity entity = new Entity(); ServerComponent server = new ServerComponent() { Name = Environment.MachineName, Address = "127.0.0.1" }; entity.Add(server); ServerOptionsComponent options = new ServerOptionsComponent(); entity.Add(options); ServerStatusComponent status = new ServerStatusComponent(); entity.Add(status); MachineComponent machine = new ServerMachineComponent(); entity.Add(machine); SessionMapComponent sessions = new SessionMapComponent(); entity.Add(sessions); #if DEBUG LogComponent log = new LogComponent(LogController); entity.Add(log); #endif Add(entity); return(entity); }
private void ServerEditCommand_Executed(object sender, ExecutedRoutedEventArgs e) { DemonSaw.Entity.Entity entity = Server.SelectedItem; ServerComponent server = entity.Get <ServerComponent>(); ServerOptionWindow wnd = new ServerOptionWindow() { Title = server.Name, Owner = this }; ServerOptionsComponent options = entity.Get <ServerOptionsComponent>(); wnd.MaxTransfers.Text = options.MaxTransfers.ToString(); wnd.MaxChunks.Text = options.MaxChunks.ToString(); wnd.ChunkSize.Text = (options.ChunkSize >> 10).ToString(); //wnd.Ping.IsChecked = options.Ping; //wnd.Info.IsChecked = options.Info; bool result = (bool)wnd.ShowDialog(); if (result) { options.MaxTransfers = int.Parse(wnd.MaxTransfers.Text); options.MaxChunks = int.Parse(wnd.MaxChunks.Text); options.ChunkSize = int.Parse(wnd.ChunkSize.Text) << 10; //options.Ping = (bool) wnd.Ping.IsChecked; //options.Info = (bool) wnd.Info.IsChecked; } }
public Entity Add() { Entity entity = new Entity(); ServerComponent server = new ServerComponent() { Name = Environment.MachineName, Address = "127.0.0.1" }; entity.Add(server); ServerOptionsComponent options = new ServerOptionsComponent(); entity.Add(options); ServerStatusComponent status = new ServerStatusComponent(); entity.Add(status); MachineComponent machine = new RouterMachineComponent(); entity.Add(machine); ServerListComponent servers = new ServerListComponent(); entity.Add(servers); EntityMapComponent entities = new EntityMapComponent(); entity.Add(entities); SessionMapComponent sessions = new SessionMapComponent(); entity.Add(sessions); GroupListMapComponent groups = new GroupListMapComponent(); entity.Add(groups); ClientMapComponent clients = new ClientMapComponent(); entity.Add(clients); TransferMapComponent transfers = new TransferMapComponent(); entity.Add(transfers); #if DEBUG LogComponent log = new LogComponent(LogController); entity.Add(log); #endif Add(entity); return(entity); }
private void WriteOptions(XmlWriter writer, Entity entity) { ServerOptionsComponent options = entity.Get <ServerOptionsComponent>(); writer.WriteStartElement(XmlTag.Options); writer.WriteElementString(XmlTag.Ping, options.Ping.ToString()); writer.WriteElementString(XmlTag.Info, options.Info.ToString()); writer.WriteElementString(XmlTag.ChunkSize, options.ChunkSize.ToString()); writer.WriteElementString(XmlTag.MaxChunks, options.MaxChunks.ToString()); writer.WriteElementString(XmlTag.MaxTransfers, options.MaxTransfers.ToString()); writer.WriteEndElement(); }
private void ReadOptions(XmlReader reader, ref ServerOptionsComponent options) { if (reader.IsEmptyElement) { return; } bool loop = true; string name = null; while (loop && reader.Read()) { switch (reader.NodeType) { case XmlNodeType.Element: { name = reader.Name; break; } case XmlNodeType.Text: { switch (name) { case XmlTag.Ping: { options.Ping = bool.Parse(reader.Value); break; } case XmlTag.Info: { options.Info = bool.Parse(reader.Value); break; } case XmlTag.ChunkSize: { options.ChunkSize = int.Parse(reader.Value); break; } case XmlTag.MaxChunks: { options.MaxChunks = int.Parse(reader.Value); break; } case XmlTag.MaxTransfers: { options.MaxTransfers = int.Parse(reader.Value); break; } } break; } case XmlNodeType.EndElement: { if (XmlTag.Options.Equals(reader.Name)) { loop = false; } break; } } } }
private void ReadServer(XmlReader reader) { if (reader.IsEmptyElement) { return; } bool loop = true; string name = null; // Components Entity entity = new Entity(); ServerComponent server = new ServerComponent(); ServerOptionsComponent options = new ServerOptionsComponent(); server.Enabled = bool.Parse(reader.GetAttribute(XmlTag.Enabled)); while (loop && reader.Read()) { switch (reader.NodeType) { case XmlNodeType.Element: { name = reader.Name; switch (name) { case XmlTag.Options: { ReadOptions(reader, ref options); break; } } break; } case XmlNodeType.Text: { switch (name) { case XmlTag.Id: { entity.Id = reader.Value; break; } case XmlTag.Name: { server.Name = reader.Value; break; } case XmlTag.Passphrase: { server.Passphrase = reader.Value; break; } case XmlTag.Address: { server.Address = reader.Value; break; } case XmlTag.Port: { server.Port = int.Parse(reader.Value); break; } } break; } case XmlNodeType.EndElement: { if (XmlTag.Server.Equals(reader.Name)) { loop = false; } break; } } } // Components entity.Add(server); entity.Add(options); ServerStatusComponent status = new ServerStatusComponent(); entity.Add(status); MachineComponent machine = new ServerMachineComponent(); entity.Add(machine); SessionMapComponent sessions = new SessionMapComponent(); entity.Add(sessions); #if DEBUG LogComponent log = new LogComponent(LogController); entity.Add(log); #endif Server.Add(entity); }