void Run(string path) { using (var stream = File.OpenRead(path)) { var reader = new EmberReader(new BerStreamInput(stream)); var app = new GlowApplicationInterface(); _glow = (GlowContainer)EmberNode.Decode(reader, app); } //var settings = new XmlWriterSettings //{ // Indent = true, // IndentChars = " ", // OmitXmlDeclaration = true, //}; //using(var writer = XmlWriter.Create(Console.Out, settings)) // XmlExport.Export(_glow, writer); //var children = _glow[GlowTags.CollectionItem][GlowTags.Node.Children]; //for(int index = 0; index < 2000; index++) //{ // var node = new GlowNode(5 + index) // { // Identifier = "abc" + index, // Description = "Hallo ich bin Node " + index, // }; // children.Insert(node); //} //using(var output = new BerStreamOutput(File.Create("big.ember"))) // _glow.Encode(output); var listener = new TcpListener(IPAddress.Any, 9097); listener.Start(); listener.BeginAcceptSocket(AcceptCallback, listener); Console.WriteLine("Press Enter to quit..."); Console.ReadLine(); lock (_sync) { foreach (var client in _clients) { client.Close(); } } listener.Stop(); }
void Test_InteropDom() { Console.WriteLine("\r\n------------------------ Interop DOM"); var testFilePath = @"N:\Temp\test.ber"; using (var stream = File.OpenRead(testFilePath)) { var input = new BerStreamInput(stream); var reader = new EmberReader(input); var root = EmberNode.Decode(reader, this); Console.WriteLine(GetXml(root)); } }
void AssertCodecSanity(EmberNode ember) { var originalXml = GetXml(ember); var output = new BerMemoryOutput(); ember.Encode(output); var input = new BerMemoryInput(output.Memory); var reader = new EmberReader(input); var decoded = EmberNode.Decode(reader, new GlowApplicationInterface()); var decodedXml = GetXml(decoded); if (originalXml != decodedXml) { throw new Exception("Codec error!"); } }
void loadButton_Click(object sender, RoutedEventArgs e) { var dialog = new OpenFileDialog { Filter = EmberFileDialogFilter, }; if (dialog.ShowDialog() == true) { using (var stream = dialog.File.OpenRead()) { var input = new BerStreamInput(stream); var reader = new EmberReader(input); var glow = EmberNode.Decode(reader, new GlowApplicationInterface()) as GlowContainer; if (glow != null) { DecodeGlow(glow); } } } }