public async Task ShutdownAsync()
        {
            IsRunning = false;

            //Shutdown keybaord
            await keyboard.ShutdownAsync().ConfigureAwait(false);

            //Shutdown rabbit
            if (consumer != null)
            {
                consumer.Received -= Consumer_Received;
                consumer           = null;
            }

            if (rabbitChannel != null)
            {
                rabbitChannel.Close();
                rabbitChannel.Dispose();
                rabbitChannel = null;
            }

            if (rabbitConnection != null)
            {
                rabbitConnection.Close();
                rabbitConnection.Dispose();
                rabbitConnection = null;
            }
        }
Пример #2
0
        static async Task Main(string[] args)
        {
            Console.Write("Initializing console connection... ");
            keyboard = new KeyboardInterface();
            if (!await keyboard.StartupAsync())
            {
                Console.WriteLine("Failed.  Exiting...");
                return;
            }
            Console.WriteLine("Success");

            keyboard.TBarValueChanged     += Keyboard_TBarValueChanged;
            keyboard.KeyPressed           += Keyboard_KeyPressed;
            keyboard.KeyReleased          += Keyboard_KeyReleased;
            keyboard.RotaryValueChanged   += Keyboard_RotaryValueChanged;
            keyboard.JoystickValueChanged += Keyboard_JoystickValueChanged;
            keyboard.KeyAction            += Keyboard_KeyAction;
            Console.WriteLine("Listening for events");

            Console.WriteLine("Press enter to exit");
            Console.ReadLine();

            Console.WriteLine("Shutting down...");
            await keyboard.ShutdownAsync();
        }