Example #1
0
        /// <summary>
        /// Entry point
        /// </summary>
        /// <param name="args">Command line arguments</param>
        static void Main(string[] args)
        {
            string hostName;
             int tcpPort;
             int maxPackageLength;

             ParseArgs(args, out hostName, out tcpPort, out maxPackageLength);

             var endPoint = new GlowEndPoint(hostName, tcpPort, maxPackageLength);

             Console.WriteLine("Ember+ Walker v{0} (GlowDTD v{1} - EmBER v{2}) connecting...",
                           typeof(Program).Assembly.GetName().Version,
                           GlowReader.UshortVersionToString(EmberLib.Glow.GlowDtd.Version),
                           GlowReader.UshortVersionToString(EmberLib.EmberEncoding.Version));

             if(endPoint.Connect())
             {
            Console.WriteLine("Connected. Enter '?' for help.");

            var program = new Program(endPoint);

            program.Run();
             }

             endPoint.Close();
        }
Example #2
0
        /// <summary>
        /// Constructs the single instance of the Program class.
        /// </summary>
        /// <param name="endPoint">Connected GlowEndPoint.</param>
        Program(GlowEndPoint endPoint)
        {
            _endPoint = endPoint;

             _rootElement = Element.CreateRoot();
             _cursor = _rootElement;

             _endPoint.GlowRootReady +=
            (_, e) =>
            {
               if(e.Root.Accept(_rootElement, null))
               {
                  Console.WriteLine();
                  foreach(var elem in _cursor.Children)
                     Console.WriteLine(PrintElement(elem));

                  WritePrompt();
               }
            };

             _endPoint.Notification +=
            (_, e) =>
            {
               Debug.Print(e.Message);
            };
        }