Esempio n. 1
0
        // The old way
        private static void TypeCastingWithoutPatternMatching(Storage storage)
        {
            if (storage == null)
            {
                throw new ArgumentNullException();
            }

            if (storage is UsbKey)
            {
                UsbKey usbKey = (UsbKey)storage;
                if (usbKey.IsPluggedIn)
                {
                    usbKey.Unload();
                    Console.WriteLine("USB Drive Unloaded.");
                }
                else
                {
                    throw new NotImplementedException();
                }
            }
            else if (storage is Dvd)
            {
            }
            else
            {
                throw new NotImplementedException();
            }
        }
Esempio n. 2
0
        // Pro účely Dema
        // Jinak zde by rozhodně byla lepší abstraktní metoda Eject na Storage
        public static void Eject_WithoutPatternMatching(Storage storage)
        {
            if (storage == null)
            {
                throw new ArgumentNullException();
            }

            if (storage is UsbKey)
            {
                UsbKey usbKey = (UsbKey)storage;
                if (usbKey.IsPluggedIn)
                {
                    usbKey.Unload();
                    Console.WriteLine("USB Drive Unloaded.");
                }
            }
            else if (storage is DVD)
            {
                DVD dvd = (DVD)storage;
                if (dvd.IsInserted)
                {
                    // ...
                }
            }
        }
Esempio n. 3
0
 public void display(UsbKey usb)
 {
     if (!isLock)
     {
         stop();
         usb.display(screen, source, player);
     }
 }
Esempio n. 4
0
        static void Main(string[] args)
        {
            var usb = new UsbKey();

            TypeCastingWithoutPatternMatching(usb);
            TypeCastingWithPatternMatching(usb);
            PatternMathcingInSwitchStatement(usb);
            Console.ReadLine();
        }
Esempio n. 5
0
        public void SetUsbKey()
        {
retry:
            UsbKey _usbKeyDrive = new UsbKey();
            UsbKeyDriveMessages  _messages = new UsbKeyDriveMessages();
            UsbKeyDriveErrorEnum _result;
            string _key = _usbKeyDrive.CreateKey(out _result);

            switch (_result)
            {
            case UsbKeyDriveErrorEnum.NoUsbKeyDrives:

retry2:
                FormUsbKeyDrive _f = new FormUsbKeyDrive();
                DialogResult _dr = _f.ShowDialog();
                if (_dr == DialogResult.OK)
                {
                    if (_f.CreateUsbKeyDrive)
                    {
                        _usbKeyDrive.CreateUSBKeyContainer(out _result);
                        switch (_result)
                        {
                        case UsbKeyDriveErrorEnum.NoUsbDrives:
                        case UsbKeyDriveErrorEnum.MultipleUsbKeyDrives:
                        case UsbKeyDriveErrorEnum.ExceptionCreatingKeyDrive:
                            DialogResult _mb = MessageBox.Show(_mainform, _messages.GetMessage(_result), "USBKey", MessageBoxButtons.OKCancel);
                            if (_mb == DialogResult.OK)
                            {
                                goto retry2;
                            }
                            return;
                        }
                    }
                    goto retry;
                }
                else
                {
                    UsbKeyId = null;
                    return;
                }

            case UsbKeyDriveErrorEnum.MultipleUsbKeyDrives:
            case UsbKeyDriveErrorEnum.ExceptionWritingKeyFile:
                MessageBox.Show(_messages.GetMessage(_result));
                UsbKeyId = null;

                break;

            case UsbKeyDriveErrorEnum.Ok:
                UsbKeyId = _key;

                break;
            }
            ShowKey();
        }
Esempio n. 6
0
        private void _Timer_Tick(object sender, EventArgs e)
        {
            UsbKey _usb = new UsbKey();

            if (_usb.UsbKeyDrivePresent())
            {
                CreateUsbKeyDrive = false;
                DialogResult      = DialogResult.OK;
                Close();
            }
        }
Esempio n. 7
0
        /// <param name="silent">Cancels on error without message</param>
        /// <returns></returns>
        public byte[] GetUsbKey(string id, bool silent, out bool canceled)
        {
retry:
            UsbKey _usbKeyDrive = new UsbKey();
            UsbKeyDriveMessages _messages = new UsbKeyDriveMessages();

            UsbKeyDriveErrorEnum _result;

            byte[] _key = _usbKeyDrive.GetKey(id, out _result);
            switch (_result)
            {
            case UsbKeyDriveErrorEnum.Ok:
                canceled = false;
                return(_key);

            case UsbKeyDriveErrorEnum.NoUsbKeyDrives:
            case UsbKeyDriveErrorEnum.MultipleUsbKeyDrives:
            case UsbKeyDriveErrorEnum.ExceptionReadingKeyFile:
            case UsbKeyDriveErrorEnum.CannotFindKeyOnUsbKeyDrive:
            case UsbKeyDriveErrorEnum.UsbKeyRequiredToOpen:
                if (silent)
                {
                    canceled = true;
                    return(null);
                }

                DialogResult _mb = MessageBox.Show(_mainform, _messages.GetMessage(_result), "USBKey", MessageBoxButtons.OKCancel);
                if (_mb == DialogResult.OK)
                {
                    goto retry;
                }
                canceled = true;
                return(null);
            }
            canceled = false;
            return(_key);
        }