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);
            };
        }