public void Dispose()
        {
            foreach (DigitalOutput digitalOutput in DigitalOutputList)
            {
                digitalOutput.Dispose();
            }

            foreach (MemorySlotOutput memorySlotOutput in MemorySlotOutputList)
            {
                memorySlotOutput.Dispose();
            }

            foreach (MatrixLedOutput matrixLedOutput in MatrixLedOutputList)
            {
                matrixLedOutput.Dispose();
            }

            foreach (PoExtBusOutput poExtBusOutput in PoExtBusOutputList)
            {
                poExtBusOutput.Dispose();
            }

            foreach (SevenSegmentDisplay sevenSegmentDisplay in SevenSegmentDisplayList)
            {
                sevenSegmentDisplay.Dispose();
            }

            PoVID6066.Dispose();

            Disconnect();
        }
        public void setOwner(Configuration configuration)
        {
            owner = configuration;
            updateStatus();

            foreach (DigitalOutput digitalOutput in DigitalOutputList)
            {
                digitalOutput.setOwner(this);
            }

            foreach (MatrixLedOutput matrixLedOutput in MatrixLedOutputList)
            {
                matrixLedOutput.setOwner(this);
            }

            foreach (PoExtBusOutput poExtBusOutput in PoExtBusOutputList)
            {
                poExtBusOutput.setOwner(this);
            }

            foreach (SevenSegmentDisplay sevenSegmentDisplay in SevenSegmentDisplayList)
            {
                sevenSegmentDisplay.setOwner(this);
            }

            if (PoVID6066 != null)
            {
                PoVID6066.setOwner(this);
            }
        }
        private void executeRemovePoKeys(object o)
        {
            PoVID6066.DisablePulseEngine();

            Disconnect();

            MessageBoxResult result = MessageBox.Show(
                string.Format(Translations.Main.RemovePoKeysText, SelectedPokeys?.PokeysId),
                Translations.Main.RemovePoKeysCaption,
                MessageBoxButton.YesNo,
                MessageBoxImage.Question);

            if (result != MessageBoxResult.Yes)
            {
                return;
            }
            owner.PoKeysList.Remove(this);


            Dispose();
        }