VirtualBox

Changeset 41371 in vbox


Ignore:
Timestamp:
May 21, 2012 3:23:40 PM (12 years ago)
Author:
vboxsync
Message:

Main,include,VBoxManage: smartcard support: IMachine::EmulatedUSBCardReaderEnabled.

Location:
trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/settings.h

    r40418 r41371  
    782782    ChipsetType_T       chipsetType;            // requires settings version 1.11 (VirtualBox 4.0)
    783783
     784    bool                fEmulatedUSBCardReader; // 1.12 (VirtualBox 4.1)
     785
    784786    VRDESettings        vrdeSettings;
    785787
  • trunk/src/VBox/Frontends/VBoxManage/Makefile.kmk

    r38416 r41371  
    7575        $(if $(VBOX_WITH_VIDEOHWACCEL), VBOX_WITH_VIDEOHWACCEL) \
    7676        $(if $(VBOX_WITH_VIRTIO),VBOX_WITH_VIRTIO) \
    77         $(if $(VBOX_WITH_PCI_PASSTHROUGH),VBOX_WITH_PCI_PASSTHROUGH)
     77        $(if $(VBOX_WITH_USB_CARDREADER),VBOX_WITH_USB_CARDREADER) \
     78        $(if $(VBOX_WITH_PCI_PASSTHROUGH),VBOX_WITH_PCI_PASSTHROUGH)
    7879
    7980ifneq ($(KBUILD_TARGET),win)
  • trunk/src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp

    r40984 r41371  
    336336                     "                            [--faulttolerancepassword <password>]\n"
    337337#endif
     338#ifdef VBOX_WITH_USB_CARDREADER
     339                     "                            [--usbcardreader on|off]\n"
     340#endif
    338341                     "\n");
    339342    }
  • trunk/src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp

    r41347 r41371  
    183183    MODIFYVM_ATTACH_PCI,
    184184    MODIFYVM_DETACH_PCI,
     185#endif
     186#ifdef VBOX_WITH_USB_CARDREADER
     187    MODIFYVM_USBCARDREADER,
    185188#endif
    186189    MODIFYVM_CHIPSET
     
    323326    { "--pcidetach",                MODIFYVM_DETACH_PCI,                RTGETOPT_REQ_STRING },
    324327#endif
     328#ifdef VBOX_WITH_USB_CARDREADER
     329    { "--usbcardreader",            MODIFYVM_USBCARDREADER,             RTGETOPT_REQ_BOOL_ONOFF },
     330#endif
    325331};
    326332
     
    23972403            }
    23982404#endif
     2405#ifdef VBOX_WITH_USB_CARDREADER
     2406            case MODIFYVM_USBCARDREADER:
     2407            {
     2408                CHECK_ERROR(machine, COMSETTER(EmulatedUSBCardReaderEnabled)(ValueUnion.f));
     2409                break;
     2410            }
     2411#endif /* VBOX_WITH_USB_CARDREADER */
     2412
    23992413            default:
    24002414            {
  • trunk/src/VBox/Main/include/MachineImpl.h

    r41049 r41371  
    291291        PointingHidType_T    mPointingHidType;
    292292        ChipsetType_T        mChipsetType;
     293        BOOL                 mEmulatedUSBCardReaderEnabled;
    293294
    294295        BOOL                 mIoCacheEnabled;
  • trunk/src/VBox/Main/src-client/ConsoleImpl2.cpp

    r41352 r41371  
    23362336#endif
    23372337#ifdef VBOX_WITH_USB_CARDREADER
    2338                 InsertConfigNode(pUsbDevices, "CardReader", &pDev);
    2339                 InsertConfigNode(pDev,     "0", &pInst);
    2340                 InsertConfigNode(pInst,    "Config", &pCfg);
    2341                 InsertConfigNode(pInst,    "LUN#0", &pLunL0);
     2338                BOOL aEmulatedUSBCardReaderEnabled = FALSE;
     2339                hrc = pMachine->COMGETTER(EmulatedUSBCardReaderEnabled)(&aEmulatedUSBCardReaderEnabled);    H();
     2340                if (aEmulatedUSBCardReaderEnabled)
     2341                {
     2342                    InsertConfigNode(pUsbDevices, "CardReader", &pDev);
     2343                    InsertConfigNode(pDev,     "0", &pInst);
     2344                    InsertConfigNode(pInst,    "Config", &pCfg);
     2345
     2346                    InsertConfigNode(pInst,    "LUN#0", &pLunL0);
    23422347# ifdef VBOX_WITH_USB_CARDREADER_TEST
    2343                 InsertConfigString(pLunL0,    "Driver", "DrvDirectCardReader");
    2344                 InsertConfigNode(pLunL0,    "Config", &pCfg);
     2348                    InsertConfigString(pLunL0, "Driver", "DrvDirectCardReader");
     2349                    InsertConfigNode(pLunL0,   "Config", &pCfg);
    23452350# else
    2346                 InsertConfigString(pLunL0,    "Driver", "UsbCardReader");
    2347                 InsertConfigNode(pLunL0,    "Config", &pCfg);
    2348                 InsertConfigInteger(pCfg,   "Object", (uintptr_t)mUsbCardReader);
     2351                    InsertConfigString(pLunL0, "Driver", "UsbCardReader");
     2352                    InsertConfigNode(pLunL0,   "Config", &pCfg);
     2353                    InsertConfigInteger(pCfg,  "Object", (uintptr_t)mUsbCardReader);
    23492354# endif
     2355                }
    23502356#endif
     2357
    23512358# if 0  /* Virtual MSD*/
    23522359
  • trunk/src/VBox/Main/src-server/MachineImpl.cpp

    r41225 r41371  
    202202    mPointingHidType = PointingHidType_PS2Mouse;
    203203    mChipsetType = ChipsetType_PIIX3;
     204    mEmulatedUSBCardReaderEnabled = FALSE;
    204205
    205206    for (size_t i = 0; i < RT_ELEMENTS(mCPUAttached); i++)
     
    15261527STDMETHODIMP Machine::COMGETTER(EmulatedUSBCardReaderEnabled)(BOOL *enabled)
    15271528{
     1529#ifdef VBOX_WITH_USB_CARDREADER
     1530    CheckComArgOutPointerValid(enabled);
     1531
     1532    AutoCaller autoCaller(this);
     1533    if (FAILED(autoCaller.rc())) return autoCaller.rc();
     1534
     1535    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
     1536
     1537    *enabled = mHWData->mEmulatedUSBCardReaderEnabled;
     1538
     1539    return S_OK;
     1540#else
    15281541    NOREF(enabled);
    15291542    return E_NOTIMPL;
     1543#endif
    15301544}
    15311545
    15321546STDMETHODIMP Machine::COMSETTER(EmulatedUSBCardReaderEnabled)(BOOL enabled)
    15331547{
     1548#ifdef VBOX_WITH_USB_CARDREADER
     1549    AutoCaller autoCaller(this);
     1550    if (FAILED(autoCaller.rc())) return autoCaller.rc();
     1551    AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS);
     1552
     1553    int rc = checkStateDependency(MutableStateDep);
     1554    if (FAILED(rc)) return rc;
     1555
     1556    setModified(IsModified_MachineData);
     1557    mHWData.backup();
     1558    mHWData->mEmulatedUSBCardReaderEnabled = enabled;
     1559
     1560    return S_OK;
     1561#else
    15341562    NOREF(enabled);
    15351563    return E_NOTIMPL;
     1564#endif
    15361565}
    15371566
     
    80778106        mHWData->mKeyboardHidType = data.keyboardHidType;
    80788107        mHWData->mChipsetType = data.chipsetType;
     8108        mHWData->mEmulatedUSBCardReaderEnabled = data.fEmulatedUSBCardReader;
    80798109        mHWData->mHpetEnabled = data.fHpetEnabled;
    80808110
     
    92119241        // chipset
    92129242        data.chipsetType = mHWData->mChipsetType;
     9243
     9244        data.fEmulatedUSBCardReader = !!mHWData->mEmulatedUSBCardReaderEnabled;
    92139245
    92149246        // HPET
  • trunk/src/VBox/Main/xml/Settings.cpp

    r40652 r41371  
    16061606          keyboardHidType(KeyboardHidType_PS2Keyboard),
    16071607          chipsetType(ChipsetType_PIIX3),
     1608          fEmulatedUSBCardReader(false),
    16081609          clipboardMode(ClipboardMode_Bidirectional),
    16091610          ulMemoryBalloonSize(0),
     
    16681669                  && (keyboardHidType           == h.keyboardHidType)
    16691670                  && (chipsetType               == h.chipsetType)
     1671                  && (fEmulatedUSBCardReader    == h.fEmulatedUSBCardReader)
    16701672                  && (vrdeSettings              == h.vrdeSettings)
    16711673                  && (biosSettings              == h.biosSettings)
     
    28202822                    hw.pciAttachments.push_back(hpda);
    28212823                }
     2824            }
     2825        }
     2826        else if (pelmHwChild->nameEquals("EmulatedUSB"))
     2827        {
     2828            const xml::ElementNode *pelmCardReader;
     2829
     2830            if ((pelmCardReader = pelmHwChild->findChildElement("CardReader")))
     2831            {
     2832                pelmCardReader->getAttributeValue("enabled", hw.fEmulatedUSBCardReader);
    28222833            }
    28232834        }
     
    40424053    }
    40434054
     4055    if (m->sv >= SettingsVersion_v1_12)
     4056    {
     4057        xml::ElementNode *pelmEmulatedUSB = pelmHardware->createChild("EmulatedUSB");
     4058        xml::ElementNode *pelmCardReader = pelmEmulatedUSB->createChild("CardReader");
     4059
     4060        pelmCardReader->setAttribute("enabled", hw.fEmulatedUSBCardReader);
     4061    }
     4062
    40444063    xml::ElementNode *pelmGuest = pelmHardware->createChild("Guest");
    40454064    pelmGuest->setAttribute("memoryBalloonSize", hw.ulMemoryBalloonSize);
     
    46484667    if (m->sv < SettingsVersion_v1_12)
    46494668    {
     4669        // 4.1: Emulated USB devices.
     4670        if (hardwareMachine.fEmulatedUSBCardReader)
     4671            m->sv = SettingsVersion_v1_12;
     4672    }
     4673
     4674    if (m->sv < SettingsVersion_v1_12)
     4675    {
    46504676        // VirtualBox 4.1 adds PCI passthrough.
    46514677        if (hardwareMachine.pciAttachments.size())
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette