VirtualBox

Changeset 33386 in vbox for trunk/src/VBox/Main


Ignore:
Timestamp:
Oct 24, 2010 3:57:55 PM (14 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
66973
Message:

VRDE: API changes for the VRDP server separation.

Location:
trunk/src/VBox/Main
Files:
20 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/ConsoleImpl.cpp

    r33108 r33386  
    276276        kOnCPUChanged,
    277277        kOnCPUExecutionCapChanged,
    278         kOnVRDPServerChanged,
    279         kOnRemoteDisplayInfoChanged,
     278        kOnVRDEServerChanged,
     279        kOnVRDEServerInfoChanged,
    280280        kOnUSBControllerChanged,
    281281        kOnUSBDeviceStateChanged,
     
    426426
    427427#ifdef VBOX_WITH_VRDP
    428     rc = mMachine->COMGETTER(VRDPServer)(unconst(mVRDPServer).asOutParam());
     428    rc = mMachine->COMGETTER(VRDEServer)(unconst(mVRDEServer).asOutParam());
    429429    AssertComRCReturnRC(rc);
    430430#endif
     
    453453    AssertComRCReturnRC(rc);
    454454
    455     unconst(mRemoteDisplayInfo).createObject();
    456     rc = mRemoteDisplayInfo->init(this);
     455    unconst(mVRDEServerInfo).createObject();
     456    rc = mVRDEServerInfo->init(this);
    457457    AssertComRCReturnRC(rc);
    458458
     
    555555    mUSBDevices.clear();
    556556
    557     if (mRemoteDisplayInfo)
    558     {
    559         mRemoteDisplayInfo->uninit();
    560         unconst(mRemoteDisplayInfo).setNull();;
     557    if (mVRDEServerInfo)
     558    {
     559        mVRDEServerInfo->uninit();
     560        unconst(mVRDEServerInfo).setNull();;
    561561    }
    562562
     
    598598
    599599#ifdef VBOX_WITH_VRDP
    600     unconst(mVRDPServer).setNull();
     600    unconst(mVRDEServer).setNull();
    601601#endif
    602602
     
    644644    {
    645645        Bstr clientName;
    646         mRemoteDisplayInfo->COMGETTER(ClientName)(clientName.asOutParam());
     646        mVRDEServerInfo->COMGETTER(ClientName)(clientName.asOutParam());
    647647
    648648        mMachine->SetGuestProperty(Bstr(pszPropertyName).raw(),
     
    753753    AssertComRCReturn(hrc, VERR_ACCESS_DENIED);
    754754
    755     VRDPAuthType_T authType = VRDPAuthType_Null;
    756     hrc = mVRDPServer->COMGETTER(AuthType)(&authType);
     755    AuthType_T authType = AuthType_Null;
     756    hrc = mVRDEServer->COMGETTER(AuthType)(&authType);
    757757    AssertComRCReturn(hrc, VERR_ACCESS_DENIED);
    758758
    759759    ULONG authTimeout = 0;
    760     hrc = mVRDPServer->COMGETTER(AuthTimeout)(&authTimeout);
     760    hrc = mVRDEServer->COMGETTER(AuthTimeout)(&authTimeout);
    761761    AssertComRCReturn(hrc, VERR_ACCESS_DENIED);
    762762
     
    768768    LogRel(("VRDPAUTH: User: [%s]. Domain: [%s]. Authentication type: [%s]\n",
    769769                pszUser, pszDomain,
    770                 authType == VRDPAuthType_Null?
     770                authType == AuthType_Null?
    771771                    "Null":
    772                     (authType == VRDPAuthType_External?
     772                    (authType == AuthType_External?
    773773                        "External":
    774                         (authType == VRDPAuthType_Guest?
     774                        (authType == AuthType_Guest?
    775775                            "Guest":
    776776                            "INVALID"
     
    781781    switch (authType)
    782782    {
    783         case VRDPAuthType_Null:
     783        case AuthType_Null:
    784784        {
    785785            result = VRDPAuthAccessGranted;
     
    787787        }
    788788
    789         case VRDPAuthType_External:
     789        case AuthType_External:
    790790        {
    791791            /* Call the external library. */
     
    802802        } /* pass through */
    803803
    804         case VRDPAuthType_Guest:
     804        case AuthType_Guest:
    805805        {
    806806            guestJudgement = VRDPAuthGuestNotReacted;
     
    848848            }
    849849
    850             if (authType == VRDPAuthType_External)
     850            if (authType == AuthType_External)
    851851            {
    852852                LogRel(("VRDPAUTH: Guest judgement %d.\n", guestJudgement));
     
    886886    /* Multiconnection check must be made after authentication, so bad clients would not interfere with a good one. */
    887887    BOOL allowMultiConnection = FALSE;
    888     hrc = mVRDPServer->COMGETTER(AllowMultiConnection)(&allowMultiConnection);
     888    hrc = mVRDEServer->COMGETTER(AllowMultiConnection)(&allowMultiConnection);
    889889    AssertComRCReturn(hrc, VERR_ACCESS_DENIED);
    890890
    891891    BOOL reuseSingleConnection = FALSE;
    892     hrc = mVRDPServer->COMGETTER(ReuseSingleConnection)(&reuseSingleConnection);
     892    hrc = mVRDEServer->COMGETTER(ReuseSingleConnection)(&reuseSingleConnection);
    893893    AssertComRCReturn(hrc, VERR_ACCESS_DENIED);
    894894
     
    10541054    AssertComRC(hrc);
    10551055
    1056     VRDPAuthType_T authType = VRDPAuthType_Null;
    1057     hrc = mVRDPServer->COMGETTER(AuthType)(&authType);
     1056    AuthType_T authType = AuthType_Null;
     1057    hrc = mVRDEServer->COMGETTER(AuthType)(&authType);
    10581058    AssertComRC(hrc);
    10591059
    1060     if (authType == VRDPAuthType_External)
     1060    if (authType == AuthType_External)
    10611061        mConsoleVRDPServer->AuthDisconnect(uuid, u32ClientId);
    10621062
     
    16241624}
    16251625
    1626 STDMETHODIMP Console::COMGETTER(RemoteDisplayInfo)(IRemoteDisplayInfo **aRemoteDisplayInfo)
    1627 {
    1628     CheckComArgOutPointerValid(aRemoteDisplayInfo);
     1626STDMETHODIMP Console::COMGETTER(VRDEServerInfo)(IVRDEServerInfo **aVRDEServerInfo)
     1627{
     1628    CheckComArgOutPointerValid(aVRDEServerInfo);
    16291629
    16301630    AutoCaller autoCaller(this);
     
    16321632
    16331633    /* mDisplay is constant during life time, no need to lock */
    1634     mRemoteDisplayInfo.queryInterfaceTo(aRemoteDisplayInfo);
     1634    mVRDEServerInfo.queryInterfaceTo(aVRDEServerInfo);
    16351635
    16361636    return S_OK;
     
    39383938
    39393939/**
    3940  * Called by IInternalSessionControl::OnVRDPServerChange().
     3940 * Called by IInternalSessionControl::OnVRDEServerChange().
    39413941 *
    39423942 * @note Locks this object for writing.
    39433943 */
    3944 HRESULT Console::onVRDPServerChange(BOOL aRestart)
     3944HRESULT Console::onVRDEServerChange(BOOL aRestart)
    39453945{
    39463946    AutoCaller autoCaller(this);
     
    39513951    HRESULT rc = S_OK;
    39523952
    3953     if (    mVRDPServer
     3953    if (    mVRDEServer
    39543954        &&  (   mMachineState == MachineState_Running
    39553955             || mMachineState == MachineState_Teleporting
     
    39603960        BOOL vrdpEnabled = FALSE;
    39613961
    3962         rc = mVRDPServer->COMGETTER(Enabled)(&vrdpEnabled);
     3962        rc = mVRDEServer->COMGETTER(Enabled)(&vrdpEnabled);
    39633963        ComAssertComRCRetRC(rc);
    39643964
     
    39913991    /* notify console callbacks on success */
    39923992    if (SUCCEEDED(rc))
    3993         CONSOLE_DO_CALLBACKS0(OnVRDPServerChanged);
     3993        CONSOLE_DO_CALLBACKS0(OnVRDEServerChanged);
    39943994
    39953995    return rc;
     
    39993999 * @note Locks this object for reading.
    40004000 */
    4001 void Console::onRemoteDisplayInfoChange()
     4001void Console::onVRDEServerInfoChange()
    40024002{
    40034003    AutoCaller autoCaller(this);
     
    40064006    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
    40074007
    4008     CONSOLE_DO_CALLBACKS0(OnRemoteDisplayInfoChanged);
     4008    CONSOLE_DO_CALLBACKS0(OnVRDEServerInfoChanged);
    40094009}
    40104010
     
    74317431
    74327432#ifdef VBOX_WITH_VRDP
    7433 
    74347433        /* Create the VRDP server. In case of headless operation, this will
    74357434         * also create the framebuffer, required at VM creation.
     
    74497448            Utf8Str errMsg;
    74507449            Bstr bstr;
    7451             console->mVRDPServer->COMGETTER(Ports)(bstr.asOutParam());
     7450            console->mVRDEServer->GetVRDEProperty(Bstr("TCP/Ports").raw(), bstr.asOutParam());
    74527451            Utf8Str ports = bstr;
    7453             errMsg = Utf8StrFmt(tr("VRDP server can't bind to a port: %s"),
     7452            errMsg = Utf8StrFmt(tr("VirtualBox Remote Desktop Extension server can't bind to the port: %s"),
    74547453                                ports.c_str());
    7455             LogRel(("Warning: failed to launch VRDP server (%Rrc): '%s'\n",
     7454            LogRel(("VRDE: Warning: failed to launch VRDE server (%Rrc): '%s'\n",
    74567455                    vrc, errMsg.c_str()));
    74577456        }
     7457        else if (vrc == VINF_NOT_SUPPORTED)
     7458        {
     7459            /* This means that the VRDE is not installed. */
     7460            LogRel(("VRDE: VirtualBox Remote Desktop Extension is not available.\n"));
     7461        }
    74587462        else if (RT_FAILURE(vrc))
    74597463        {
     7464            /* Fail, if the server is installed but can't start. */
    74607465            Utf8Str errMsg;
    74617466            switch (vrc)
     
    74637468                case VERR_FILE_NOT_FOUND:
    74647469                {
    7465                     errMsg = Utf8StrFmt(tr("Could not load the VRDP library"));
     7470                    /* VRDE library file is missing. */
     7471                    errMsg = Utf8StrFmt(tr("Could not find the VirtualBox Remote Desktop Extension library."));
    74667472                    break;
    74677473                }
    74687474                default:
    7469                     errMsg = Utf8StrFmt(tr("Failed to launch VRDP server (%Rrc)"),
     7475                    errMsg = Utf8StrFmt(tr("Failed to launch Remote Desktop Extension server (%Rrc)"),
    74707476                                        vrc);
    74717477            }
    7472             LogRel(("Failed to launch VRDP server (%Rrc), error message: '%s'\n",
     7478            LogRel(("VRDE: Failed: (%Rrc), error message: '%s'\n",
    74737479                     vrc, errMsg.c_str()));
    74747480            throw setErrorStatic(E_FAIL, errMsg.c_str());
  • trunk/src/VBox/Main/ConsoleVRDPServer.cpp

    r33005 r33386  
    582582        case VRDE_QP_NETWORK_PORT:
    583583        {
    584             /* This is obsolete, the VRDP server uses VRDE_QP_NETWORK_PORT_RANGE instead. */
     584            /* This is obsolete, the VRDE server uses VRDE_QP_NETWORK_PORT_RANGE instead. */
    585585            ULONG port = 0;
    586586
     
    601601        {
    602602            com::Bstr bstr;
    603             server->mConsole->getVRDPServer()->COMGETTER(NetAddress)(bstr.asOutParam());
     603            server->mConsole->getVRDEServer()->GetVRDEProperty(Bstr("TCP/Address").raw(), bstr.asOutParam());
    604604
    605605            /* The server expects UTF8. */
     
    650650        {
    651651            com::Bstr bstr;
    652             HRESULT hrc = server->mConsole->getVRDPServer()->COMGETTER(Ports)(bstr.asOutParam());
     652            HRESULT hrc = server->mConsole->getVRDEServer()->GetVRDEProperty(Bstr("TCP/Ports").raw(), bstr.asOutParam());
    653653
    654654            if (hrc != S_OK)
     
    692692            BOOL fVideoEnabled = FALSE;
    693693
    694             server->mConsole->getVRDPServer()->COMGETTER(VideoChannel)(&fVideoEnabled);
     694            server->mConsole->getVRDEServer()->COMGETTER(VideoChannel)(&fVideoEnabled);
    695695
    696696            if (cbBuffer >= sizeof(uint32_t))
     
    711711            ULONG ulQuality = 0;
    712712
    713             server->mConsole->getVRDPServer()->COMGETTER(VideoChannelQuality)(&ulQuality);
     713            server->mConsole->getVRDEServer()->COMGETTER(VideoChannelQuality)(&ulQuality);
    714714
    715715            if (cbBuffer >= sizeof(uint32_t))
     
    844844            }
    845845
    846             server->mConsole->onRemoteDisplayInfoChange();
     846            server->mConsole->onVRDEServerInfoChange();
    847847        } break;
    848848
     
    12561256#ifdef VBOX_WITH_VRDP
    12571257    int rc = VINF_SUCCESS;
    1258     IVRDPServer *vrdpserver = mConsole->getVRDPServer();
    1259     Assert(vrdpserver);
    1260     BOOL vrdpEnabled = FALSE;
    1261 
    1262     HRESULT rc2 = vrdpserver->COMGETTER(Enabled)(&vrdpEnabled);
    1263     AssertComRC(rc2);
    1264 
    1265     if (SUCCEEDED(rc2) && vrdpEnabled)
    1266     {
    1267         if (loadVRDPLibrary())
     1258
     1259    /*
     1260     * Check that a VRDE library name is set.
     1261     */
     1262    Utf8Str filename;
     1263
     1264    ComPtr<IMachine> machine;
     1265    HRESULT hrc = mConsole->COMGETTER(Machine)(machine.asOutParam());
     1266
     1267    if (SUCCEEDED(hrc))
     1268    {
     1269        ComPtr<IVirtualBox> virtualBox;
     1270        hrc = machine->COMGETTER(Parent)(virtualBox.asOutParam());
     1271
     1272        if (SUCCEEDED(hrc))
     1273        {
     1274            ComPtr<ISystemProperties> systemProperties;
     1275            hrc = virtualBox->COMGETTER(SystemProperties)(systemProperties.asOutParam());
     1276
     1277            if (SUCCEEDED(hrc))
     1278            {
     1279                Bstr library;
     1280                hrc = systemProperties->COMGETTER(DefaultVRDELibrary)(library.asOutParam());
     1281
     1282                if (SUCCEEDED(hrc))
     1283                {
     1284                    filename = library;
     1285                }
     1286            }
     1287        }
     1288    }
     1289
     1290    if (FAILED(hrc) || filename.isEmpty())
     1291    {
     1292        return VINF_NOT_SUPPORTED;
     1293    }
     1294
     1295    /*
     1296     * Load the VRDE library and start the server, if it is enabled.
     1297     */
     1298    IVRDEServer *server = mConsole->getVRDEServer();
     1299    Assert(server);
     1300    BOOL fEnabled = FALSE;
     1301
     1302    hrc = server->COMGETTER(Enabled)(&fEnabled);
     1303    AssertComRC(hrc);
     1304
     1305    if (SUCCEEDED(hrc) && fEnabled)
     1306    {
     1307        rc = loadVRDPLibrary(filename.c_str());
     1308
     1309        if (RT_SUCCESS(rc))
    12681310        {
    12691311            rc = mpfnVRDECreateServer(&mCallbacks.header, this, (VRDEINTERFACEHDR **)&mpEntryPoints, &mhServer);
     
    12761318            }
    12771319            else if (rc != VERR_NET_ADDRESS_IN_USE)
    1278                 AssertMsgFailed(("Could not start VRDP server: rc = %Rrc\n", rc));
    1279         }
    1280         else
    1281         {
    1282             AssertMsgFailed(("Could not load the VRDP library\n"));
    1283             rc = VERR_FILE_NOT_FOUND;
     1320            {
     1321                LogRel(("VRDE: Could not start VRDP server rc = %Rrc\n", rc));
     1322            }
    12841323        }
    12851324    }
     
    15091548
    15101549        Bstr authLibrary;
    1511         systemProperties->COMGETTER(RemoteDisplayAuthLibrary)(authLibrary.asOutParam());
     1550        systemProperties->COMGETTER(VRDEAuthLibrary)(authLibrary.asOutParam());
    15121551
    15131552        Utf8Str filename = authLibrary;
     
    21312170
    21322171#ifdef VBOX_WITH_VRDP
    2133 /* note: static function now! */
    2134 bool ConsoleVRDPServer::loadVRDPLibrary(void)
     2172/* static */ int ConsoleVRDPServer::loadVRDPLibrary(const char *pszLibraryName)
    21352173{
    21362174    int rc = VINF_SUCCESS;
     
    21382176    if (!mVRDPLibrary)
    21392177    {
    2140         rc = SUPR3HardenedLdrLoadAppPriv("VBoxVRDP", &mVRDPLibrary);
     2178        rc = SUPR3HardenedLdrLoadAppPriv(pszLibraryName, &mVRDPLibrary);
    21412179
    21422180        if (RT_SUCCESS(rc))
    21432181        {
    2144             LogFlow(("VRDPServer::loadLibrary(): successfully loaded VRDP library.\n"));
    2145 
    21462182            struct SymbolEntry
    21472183            {
     
    21632199                rc = RTLdrGetSymbol(mVRDPLibrary, symbols[i].name, symbols[i].ppfn);
    21642200
    2165                 AssertMsgRC(rc, ("Error resolving VRDP symbol %s\n", symbols[i].name));
    2166 
    21672201                if (RT_FAILURE(rc))
    21682202                {
     2203                    LogRel(("VRDE: Error resolving symbol '%s', rc %Rrc.\n", symbols[i].name, rc));
    21692204                    break;
    21702205                }
     
    21732208        else
    21742209        {
    2175             LogRel(("VRDPServer::loadLibrary(): failed to load VRDP library! VRDP not available: rc = %Rrc\n", rc));
     2210            if (rc != VERR_FILE_NOT_FOUND)
     2211            {
     2212                LogRel(("VRDE: Error loading the library '%s' rc = %Rrc.\n", pszLibraryName, rc));
     2213            }
     2214
    21762215            mVRDPLibrary = NULL;
    21772216        }
    21782217    }
    21792218
    2180     // just to be safe
    21812219    if (RT_FAILURE(rc))
    21822220    {
     
    21882226    }
    21892227
    2190     return (mVRDPLibrary != NULL);
     2228    return rc;
    21912229}
    21922230#endif /* VBOX_WITH_VRDP */
    21932231
    21942232/*
    2195  * IRemoteDisplayInfo implementation.
     2233 * IVRDEServerInfo implementation.
    21962234 */
    21972235// constructor / destructor
    21982236/////////////////////////////////////////////////////////////////////////////
    21992237
    2200 RemoteDisplayInfo::RemoteDisplayInfo()
     2238VRDEServerInfo::VRDEServerInfo()
    22012239    : mParent(NULL)
    22022240{
    22032241}
    22042242
    2205 RemoteDisplayInfo::~RemoteDisplayInfo()
    2206 {
    2207 }
    2208 
    2209 
    2210 HRESULT RemoteDisplayInfo::FinalConstruct()
     2243VRDEServerInfo::~VRDEServerInfo()
     2244{
     2245}
     2246
     2247
     2248HRESULT VRDEServerInfo::FinalConstruct()
    22112249{
    22122250    return S_OK;
    22132251}
    22142252
    2215 void RemoteDisplayInfo::FinalRelease()
     2253void VRDEServerInfo::FinalRelease()
    22162254{
    22172255    uninit();
     
    22242262 * Initializes the guest object.
    22252263 */
    2226 HRESULT RemoteDisplayInfo::init(Console *aParent)
     2264HRESULT VRDEServerInfo::init(Console *aParent)
    22272265{
    22282266    LogFlowThisFunc(("aParent=%p\n", aParent));
     
    22462284 *  Called either from FinalRelease() or by the parent when it gets destroyed.
    22472285 */
    2248 void RemoteDisplayInfo::uninit()
     2286void VRDEServerInfo::uninit()
    22492287{
    22502288    LogFlowThisFunc(("\n"));
     
    22582296}
    22592297
    2260 // IRemoteDisplayInfo properties
     2298// IVRDEServerInfo properties
    22612299/////////////////////////////////////////////////////////////////////////////
    22622300
    22632301#define IMPL_GETTER_BOOL(_aType, _aName, _aIndex)                         \
    2264     STDMETHODIMP RemoteDisplayInfo::COMGETTER(_aName)(_aType *a##_aName)  \
     2302    STDMETHODIMP VRDEServerInfo::COMGETTER(_aName)(_aType *a##_aName)  \
    22652303    {                                                                     \
    22662304        if (!a##_aName)                                                   \
     
    22862324
    22872325#define IMPL_GETTER_SCALAR(_aType, _aName, _aIndex, _aValueMask)          \
    2288     STDMETHODIMP RemoteDisplayInfo::COMGETTER(_aName)(_aType *a##_aName)  \
     2326    STDMETHODIMP VRDEServerInfo::COMGETTER(_aName)(_aType *a##_aName)  \
    22892327    {                                                                     \
    22902328        if (!a##_aName)                                                   \
     
    23112349
    23122350#define IMPL_GETTER_BSTR(_aType, _aName, _aIndex)                         \
    2313     STDMETHODIMP RemoteDisplayInfo::COMGETTER(_aName)(_aType *a##_aName)  \
     2351    STDMETHODIMP VRDEServerInfo::COMGETTER(_aName)(_aType *a##_aName)  \
    23142352    {                                                                     \
    23152353        if (!a##_aName)                                                   \
     
    23382376        if (!pchBuffer)                                                   \
    23392377        {                                                                 \
    2340             Log(("RemoteDisplayInfo::"                                    \
     2378            Log(("VRDEServerInfo::"                                       \
    23412379                 #_aName                                                  \
    23422380                 ": Failed to allocate memory %d bytes\n", cbOut));       \
  • trunk/src/VBox/Main/MachineImpl.cpp

    r33312 r33386  
    21472147}
    21482148
    2149 STDMETHODIMP Machine::COMGETTER(VRDPServer)(IVRDPServer **vrdpServer)
     2149STDMETHODIMP Machine::COMGETTER(VRDEServer)(IVRDEServer **vrdeServer)
    21502150{
    21512151#ifdef VBOX_WITH_VRDP
    2152     if (!vrdpServer)
     2152    if (!vrdeServer)
    21532153        return E_POINTER;
    21542154
     
    21582158    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
    21592159
    2160     Assert(!!mVRDPServer);
    2161     mVRDPServer.queryInterfaceTo(vrdpServer);
     2160    Assert(!!mVRDEServer);
     2161    mVRDEServer.queryInterfaceTo(vrdeServer);
    21622162
    21632163    return S_OK;
    21642164#else
    2165     NOREF(vrdpServer);
     2165    NOREF(vrde);
    21662166    ReturnComNotImplemented();
    21672167#endif
     
    59885988        || strType == "capture"
    59895989#ifdef VBOX_WITH_VRDP
    5990         || strType == "vrdp"
     5990        || strType == "vrdp" /* Deprecated. Same as headless. */
    59915991#endif
    59925992       )
    59935993    {
     5994        /* On pre-4.0 the "headless" type was used for passing "--vrdp off" to VBoxHeadless to let it work in OSE,
     5995         * which did not contain VRDP server. In VBox 4.0 the remote desktop server (VRDE) is optional,
     5996         * and a VM works even if the server has not been installed.
     5997         * So in 4.0 the "headless" behavior remains the same for default VBox installations.
     5998         * Only if a VRDE has been installed and the VM enables it, the "headless" will work
     5999         * differently in 4.0 and 3.x.
     6000         */
    59946001        const char VBoxHeadless_exe[] = "VBoxHeadless" HOSTSUFF_EXE;
    59956002        Assert(sz >= sizeof(VBoxHeadless_exe));
     
    59976004
    59986005        Utf8Str idStr = mData->mUuid.toString();
    5999         /* Leave space for 2 args, as "headless" needs --vrdp off on non-OSE. */
    6000         const char * args[] = {szPath, "--comment", mUserData->s.strName.c_str(), "--startvm", idStr.c_str(), 0, 0, 0 };
    6001 #ifdef VBOX_WITH_VRDP
    6002         if (strType == "headless")
    6003         {
    6004             unsigned pos = RT_ELEMENTS(args) - 3;
    6005             args[pos++] = "--vrdp";
    6006             args[pos] = "off";
    6007         }
    6008 #endif
     6006        /* Leave space for "--capture" arg. */
     6007        const char * args[] = {szPath, "--comment", mUserData->s.strName.c_str(), "--startvm", idStr.c_str(), 0, 0 };
    60096008        if (strType == "capture")
    60106009        {
    6011             unsigned pos = RT_ELEMENTS(args) - 3;
     6010            unsigned pos = RT_ELEMENTS(args) - 2;
    60126011            args[pos] = "--capture";
    60136012        }
     
    65416540
    65426541#ifdef VBOX_WITH_VRDP
    6543     /* create an associated VRDPServer object (default is disabled) */
    6544     unconst(mVRDPServer).createObject();
    6545     mVRDPServer->init(this);
     6542    /* create an associated VRDE object (default is disabled) */
     6543    unconst(mVRDEServer).createObject();
     6544    mVRDEServer->init(this);
    65466545#endif
    65476546
     
    66406639
    66416640#ifdef VBOX_WITH_VRDP
    6642     if (mVRDPServer)
    6643     {
    6644         mVRDPServer->uninit();
    6645         unconst(mVRDPServer).setNull();
     6641    if (mVRDEServer)
     6642    {
     6643        mVRDEServer->uninit();
     6644        unconst(mVRDEServer).setNull();
    66466645    }
    66476646#endif
     
    71507149
    71517150#ifdef VBOX_WITH_VRDP
    7152         /* RemoteDisplay */
    7153         rc = mVRDPServer->loadSettings(data.vrdpSettings);
     7151        /* VRDEServer */
     7152        rc = mVRDEServer->loadSettings(data.vrdeSettings);
    71547153        if (FAILED(rc)) return rc;
    71557154#endif
     
    81838182
    81848183#ifdef VBOX_WITH_VRDP
    8185         /* VRDP settings (optional) */
    8186         rc = mVRDPServer->saveSettings(data.vrdpSettings);
     8184        /* VRDEServer settings (optional) */
     8185        rc = mVRDEServer->saveSettings(data.vrdeSettings);
    81878186        if (FAILED(rc)) throw rc;
    81888187#endif
     
    93299328
    93309329#ifdef VBOX_WITH_VRDP
    9331     if (mVRDPServer && (mData->flModifications & IsModified_VRDPServer))
    9332         mVRDPServer->rollback();
     9330    if (mVRDEServer && (mData->flModifications & IsModified_VRDEServer))
     9331        mVRDEServer->rollback();
    93339332#endif
    93349333
     
    93819380            that->onSharedFolderChange();
    93829381
    9383         if (flModifications & IsModified_VRDPServer)
    9384             that->onVRDPServerChange(/* aRestart */ TRUE);
     9382        if (flModifications & IsModified_VRDEServer)
     9383            that->onVRDEServerChange(/* aRestart */ TRUE);
    93859384        if (flModifications & IsModified_USB)
    93869385            that->onUSBControllerChange();
     
    94319430    mBIOSSettings->commit();
    94329431#ifdef VBOX_WITH_VRDP
    9433     mVRDPServer->commit();
     9432    mVRDEServer->commit();
    94349433#endif
    94359434    mAudioAdapter->commit();
     
    95639562    mBIOSSettings->copyFrom(aThat->mBIOSSettings);
    95649563#ifdef VBOX_WITH_VRDP
    9565     mVRDPServer->copyFrom(aThat->mVRDPServer);
     9564    mVRDEServer->copyFrom(aThat->mVRDEServer);
    95669565#endif
    95679566    mAudioAdapter->copyFrom(aThat->mAudioAdapter);
     
    98929891    mBIOSSettings->init(this, aMachine->mBIOSSettings);
    98939892#ifdef VBOX_WITH_VRDP
    9894     /* create another VRDPServer object that will be mutable */
    9895     unconst(mVRDPServer).createObject();
    9896     mVRDPServer->init(this, aMachine->mVRDPServer);
     9893    /* create another VRDEServer object that will be mutable */
     9894    unconst(mVRDEServer).createObject();
     9895    mVRDEServer->init(this, aMachine->mVRDEServer);
    98979896#endif
    98989897    /* create another audio adapter object that will be mutable */
     
    1108211081 *  @note Locks this object for reading.
    1108311082 */
    11084 HRESULT SessionMachine::onVRDPServerChange(BOOL aRestart)
     11083HRESULT SessionMachine::onVRDEServerChange(BOOL aRestart)
    1108511084{
    1108611085    LogFlowThisFunc(("\n"));
     
    1109911098        return S_OK;
    1110011099
    11101     return directControl->OnVRDPServerChange(aRestart);
     11100    return directControl->OnVRDEServerChange(aRestart);
    1110211101}
    1110311102
  • trunk/src/VBox/Main/SessionImpl.cpp

    r32885 r33386  
    610610}
    611611
    612 STDMETHODIMP Session::OnVRDPServerChange(BOOL aRestart)
     612STDMETHODIMP Session::OnVRDEServerChange(BOOL aRestart)
    613613{
    614614    LogFlowThisFunc(("\n"));
     
    621621    AssertReturn(mType == SessionType_WriteLock, VBOX_E_INVALID_OBJECT_STATE);
    622622
    623     return mConsole->onVRDPServerChange(aRestart);
     623    return mConsole->onVRDEServerChange(aRestart);
    624624}
    625625
  • trunk/src/VBox/Main/SnapshotImpl.cpp

    r33318 r33386  
    10071007
    10081008#ifdef VBOX_WITH_VRDP
    1009     unconst(mVRDPServer).createObject();
    1010     mVRDPServer->initCopy(this, mPeer->mVRDPServer);
     1009    unconst(mVRDEServer).createObject();
     1010    mVRDEServer->initCopy(this, mPeer->mVRDEServer);
    10111011#endif
    10121012
     
    11001100
    11011101#ifdef VBOX_WITH_VRDP
    1102     unconst(mVRDPServer).createObject();
    1103     mVRDPServer->init(this);
     1102    unconst(mVRDEServer).createObject();
     1103    mVRDEServer->init(this);
    11041104#endif
    11051105
  • trunk/src/VBox/Main/SystemPropertiesImpl.cpp

    r33344 r33386  
    8787    setDefaultHardDiskFormat(Utf8Str::Empty);
    8888
    89     setRemoteDisplayAuthLibrary(Utf8Str::Empty);
     89    setVRDEAuthLibrary(Utf8Str::Empty);
     90    setDefaultVRDELibrary(Utf8Str::Empty);
    9091
    9192    m->ulLogHistoryCount = 3;
     
    666667}
    667668
    668 STDMETHODIMP SystemProperties::COMGETTER(RemoteDisplayAuthLibrary)(BSTR *aRemoteDisplayAuthLibrary)
    669 {
    670     CheckComArgOutPointerValid(aRemoteDisplayAuthLibrary);
    671 
    672     AutoCaller autoCaller(this);
    673     if (FAILED(autoCaller.rc())) return autoCaller.rc();
    674 
    675     AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
    676 
    677     m->strRemoteDisplayAuthLibrary.cloneTo(aRemoteDisplayAuthLibrary);
    678 
    679     return S_OK;
    680 }
    681 
    682 STDMETHODIMP SystemProperties::COMSETTER(RemoteDisplayAuthLibrary)(IN_BSTR aRemoteDisplayAuthLibrary)
     669STDMETHODIMP SystemProperties::COMGETTER(VRDEAuthLibrary)(BSTR *aVRDEAuthLibrary)
     670{
     671    CheckComArgOutPointerValid(aVRDEAuthLibrary);
     672
     673    AutoCaller autoCaller(this);
     674    if (FAILED(autoCaller.rc())) return autoCaller.rc();
     675
     676    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
     677
     678    m->strVRDEAuthLibrary.cloneTo(aVRDEAuthLibrary);
     679
     680    return S_OK;
     681}
     682
     683STDMETHODIMP SystemProperties::COMSETTER(VRDEAuthLibrary)(IN_BSTR aVRDEAuthLibrary)
    683684{
    684685    AutoCaller autoCaller(this);
     
    686687
    687688    AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS);
    688     HRESULT rc = setRemoteDisplayAuthLibrary(aRemoteDisplayAuthLibrary);
     689    HRESULT rc = setVRDEAuthLibrary(aVRDEAuthLibrary);
    689690    alock.release();
    690691
     
    732733}
    733734
     735STDMETHODIMP SystemProperties::COMGETTER(DefaultVRDELibrary)(BSTR *aVRDELibrary)
     736{
     737    CheckComArgOutPointerValid(aVRDELibrary);
     738
     739    AutoCaller autoCaller(this);
     740    if (FAILED(autoCaller.rc())) return autoCaller.rc();
     741
     742    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
     743
     744    m->strDefaultVRDELibrary.cloneTo(aVRDELibrary);
     745
     746    return S_OK;
     747}
     748
     749STDMETHODIMP SystemProperties::COMSETTER(DefaultVRDELibrary)(IN_BSTR aVRDELibrary)
     750{
     751    AutoCaller autoCaller(this);
     752    if (FAILED(autoCaller.rc())) return autoCaller.rc();
     753
     754    AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS);
     755    HRESULT rc = setDefaultVRDELibrary(aVRDELibrary);
     756    alock.release();
     757
     758    if (SUCCEEDED(rc))
     759    {
     760        // VirtualBox::saveSettings() needs vbox write lock
     761        AutoWriteLock vboxLock(mParent COMMA_LOCKVAL_SRC_POS);
     762        rc = mParent->saveSettings();
     763    }
     764
     765    return rc;
     766}
     767
    734768STDMETHODIMP SystemProperties::COMGETTER(LogHistoryCount)(ULONG *count)
    735769{
     
    794828    if (FAILED(rc)) return rc;
    795829
    796     rc = setRemoteDisplayAuthLibrary(data.strRemoteDisplayAuthLibrary);
     830    rc = setVRDEAuthLibrary(data.strVRDEAuthLibrary);
    797831    if (FAILED(rc)) return rc;
    798832
    799833    rc = setWebServiceAuthLibrary(data.strWebServiceAuthLibrary);
     834    if (FAILED(rc)) return rc;
     835
     836    rc = setDefaultVRDELibrary(data.strDefaultVRDELibrary);
    800837    if (FAILED(rc)) return rc;
    801838
     
    924961}
    925962
    926 HRESULT SystemProperties::setRemoteDisplayAuthLibrary(const Utf8Str &aPath)
     963HRESULT SystemProperties::setVRDEAuthLibrary(const Utf8Str &aPath)
    927964{
    928965    if (!aPath.isEmpty())
    929         m->strRemoteDisplayAuthLibrary = aPath;
     966        m->strVRDEAuthLibrary = aPath;
    930967    else
    931         m->strRemoteDisplayAuthLibrary = "VRDPAuth";
     968        m->strVRDEAuthLibrary = "VRDPAuth";
     969
     970    return S_OK;
     971}
     972
     973HRESULT SystemProperties::setDefaultVRDELibrary(const Utf8Str &aPath)
     974{
     975    m->strDefaultVRDELibrary = aPath;
    932976
    933977    return S_OK;
  • trunk/src/VBox/Main/VirtualBoxImpl.cpp

    r33294 r33386  
    44564456}
    44574457
     4458STDMETHODIMP VirtualBox::VRDERegisterLibrary(IN_BSTR aName)
     4459{
     4460    return E_FAIL; /* @todo VRDE */
     4461}
     4462
     4463STDMETHODIMP VirtualBox::VRDEUnregisterLibrary(IN_BSTR aName)
     4464{
     4465    return E_FAIL; /* @todo VRDE */
     4466}
     4467
     4468STDMETHODIMP VirtualBox::VRDEListLibraries(ComSafeArrayOut(BSTR, aNames))
     4469{
     4470    return E_FAIL; /* @todo VRDE */
     4471}
     4472
    44584473/* vi: set tabstop=4 shiftwidth=4 expandtab: */
  • trunk/src/VBox/Main/idl/VirtualBox.xidl

    r33307 r33386  
    7777  implementation, is used.
    7878
    79   All the parts that a typical VirtualBox user interacts with (the Qt GUI,
    80   the VBoxManage command-line interface and the VBoxVRDP server) are technically
     79  All the parts that a typical VirtualBox user interacts with (the Qt GUI
     80  and the VBoxManage command-line interface) are technically
    8181  front-ends to the Main API and only use the interfaces that are documented
    8282  in this Main API documentation. This ensures that, with any given release
     
    13741374  <interface
    13751375    name="IVirtualBox" extends="$unknown"
    1376     uuid="5e887b09-e3f3-4787-b9f3-8ade5d04d675"
     1376    uuid="2ecb8c49-ce8a-41fc-96da-9a438b44e4b1"
    13771377    wsmap="managed"
    13781378  >
     
    21632163      <param name="result" type="boolean" dir="return">
    21642164        <desc>If firmware of this type and version is available.</desc>
     2165      </param>
     2166    </method>
     2167
     2168    <method name="VRDERegisterLibrary">
     2169      <desc>
     2170        Appends a VRDE library to this VirtualBox installation.
     2171
     2172        The library implements a VirtualBox Remote Desktop Extension (VRDE),
     2173        which is used to remotely connect to the virtual machines.
     2174
     2175        The system library extension (".DLL" or ".so") must be omitted.
     2176        The library must reside in the VirtualBox installation directory.
     2177      </desc>
     2178      <param name="name" type="wstring" dir="in">
     2179        <desc>The library name.</desc>
     2180      </param>
     2181    </method>
     2182
     2183    <method name="VRDEUnregisterLibrary">
     2184      <desc>
     2185        Removes a VRDE library from this VirtualBox installation.
     2186      </desc>
     2187      <param name="name" type="wstring" dir="in">
     2188        <desc>The library name.</desc>
     2189      </param>
     2190    </method>
     2191
     2192    <method name="VRDEListLibraries">
     2193      <desc>
     2194        List registered libraries.
     2195      </desc>
     2196      <param name="names" type="wstring" dir="return" safearray="yes">
     2197        <desc>Array of names of the libraries.</desc>
    21652198      </param>
    21662199    </method>
     
    33463379  <interface
    33473380     name="IMachine" extends="$unknown"
    3348      uuid="14136b33-438a-45de-884c-550e9eb34f23"
     3381     uuid="8934e426-1c09-459f-bbc4-58dba016fbbe"
    33493382     wsmap="managed"
    33503383     >
     
    36493682    </attribute>
    36503683
    3651     <attribute name="VRDPServer" type="IVRDPServer" readonly="yes">
    3652       <desc>VRDP server object.</desc>
     3684    <attribute name="VRDEServer" type="IVRDEServer" readonly="yes">
     3685      <desc>VirtualBox Remote Desktop Extension (VRDE) server object.</desc>
    36533686    </attribute>
    36543687
     
    41244157          <ul>
    41254158            <li><tt>"gui"</tt>: VirtualBox Qt GUI front-end</li>
    4126             <li><tt>"vrdp"</tt>: VBoxHeadless (VRDP Server) front-end</li>
     4159            <li><tt>"headless"</tt>: VBoxHeadless (VRDE Server) front-end</li>
    41274160            <li><tt>"sdl"</tt>: VirtualBox SDL front-end</li>
    41284161          </ul>
     
    56275660
    56285661  <interface
    5629      name="IRemoteDisplayInfo" extends="$unknown"
    5630      uuid="b3741084-806f-4c3b-8c42-ebad1a81e45a"
     5662     name="IVRDEServerInfo" extends="$unknown"
     5663     uuid="6890123c-5218-42ba-9afd-c71699475115"
    56315664     wsmap="struct"
    56325665     >
    56335666     <desc>
    5634         Contains information about the remote display (VRDP) capabilities and status.
    5635         This is used in the <link to="IConsole::remoteDisplayInfo" /> attribute.
     5667        Contains information about the remote desktop (VRDE) server capabilities and status.
     5668        This is used in the <link to="IConsole::VRDEServerInfo" /> attribute.
    56365669     </desc>
    56375670
    56385671    <attribute name="active" type="boolean" readonly="yes">
    56395672      <desc>
    5640         Whether the remote display connection is active.
     5673        Whether the remote desktop connection is active.
    56415674      </desc>
    56425675    </attribute>
     
    56445677    <attribute name="port" type="long" readonly="yes">
    56455678      <desc>
    5646         VRDP server port number. If this property is equal to <tt>0</tt>, then
    5647         the VRDP server failed to start, usually because there are no free TCP
    5648         ports to bind to. If this property is equal to <tt>-1</tt>, then the VRDP
     5679        VRDE server port number. If this property is equal to <tt>0</tt>, then
     5680        the VRDE server failed to start, usually because there are no free IP
     5681        ports to bind to. If this property is equal to <tt>-1</tt>, then the VRDE
    56495682        server has not yet been started.
    56505683      </desc>
     
    57365769  <interface
    57375770     name="IConsole" extends="$unknown"
    5738      uuid="03cb7897-ea17-4e6c-81ae-4bd90be2fde2"
     5771     uuid="3c4a453e-d27b-44a2-b59d-dda6e1835e57"
    57395772     wsmap="managed"
    57405773     >
     
    58295862    <attribute name="remoteUSBDevices" type="IHostUSBDevice" readonly="yes" safearray="yes">
    58305863      <desc>
    5831         List of USB devices currently attached to the remote VRDP client.
     5864        List of USB devices currently attached to the remote VRDE client.
    58325865        Once a new device is physically attached to the remote host computer,
    58335866        it appears in this list and remains there until detached.
     
    58515884    </attribute>
    58525885
    5853     <attribute name="remoteDisplayInfo" type="IRemoteDisplayInfo" readonly="yes">
    5854       <desc>
    5855         Interface that provides information on Remote Display (VRDP) connection.
     5886    <attribute name="VRDEServerInfo" type="IVRDEServerInfo" readonly="yes">
     5887      <desc>
     5888        Interface that provides information on Remote Desktop Extension (VRDE) connection.
    58565889      </desc>
    58575890    </attribute>
     
    70867119     name="ISystemProperties"
    70877120     extends="$unknown"
    7088      uuid="f8fff1f1-eeb4-4483-a2a4-b4186fab5a1e"
     7121     uuid="2af0100b-fda2-4c6a-8e8f-31e4ba871886"
    70897122     wsmap="managed"
    70907123     >
     
    72787311    </attribute>
    72797312
    7280     <attribute name="remoteDisplayAuthLibrary" type="wstring">
    7281       <desc>
    7282         Library that provides authentication for VRDP clients. The library
     7313    <attribute name="VRDEAuthLibrary" type="wstring">
     7314      <desc>
     7315        Library that provides authentication for Remote Desktop clients. The library
    72837316        is used if a virtual machine's authentication type is set to "external"
    72847317        in the VM RemoteDisplay configuration.
     
    73087341        within the <link to="IWebsessionManager::logon" /> implementation.
    73097342
    7310         As opposed to <link to="ISystemProperties::remoteDisplayAuthLibrary" />,
     7343        As opposed to <link to="ISystemProperties::VRDEAuthLibrary" />,
    73117344        there is no per-VM setting for this, as the webservice is a global
    73127345        resource (if it is running). Only for this setting (for the webservice),
     
    73177350        The initial value of this property is <tt>"VRDPAuth"</tt>,
    73187351        meaning that the webservice will use the same authentication
    7319         library that is used by default for VBoxVRDP (again, see
    7320         <link to="ISystemProperties::remoteDisplayAuthLibrary" />).
     7352        library that is used by default for VRDE (again, see
     7353        <link to="ISystemProperties::VRDEAuthLibrary" />).
    73217354        The format and calling convention of authentication libraries
    7322         is the same for the webservice as it is for VBoxVRDP.
     7355        is the same for the webservice as it is for VRDE.
    73237356
    73247357        <note>
     
    73267359          initial value.
    73277360        </note>
     7361      </desc>
     7362    </attribute>
     7363
     7364    <attribute name="defaultVRDELibrary" type="wstring">
     7365      <desc>
     7366        Default VRDE library.
     7367
     7368        The default value of this property is an empty string, which means that the
     7369        VRDE is not available.
     7370
     7371        For details about VirtualBox Remote Desktop Extension and how to implement
     7372        it, please refer to the VirtualBox SDK.
    73287373      </desc>
    73297374    </attribute>
     
    1182111866    <attribute name="remote" type="boolean" readonly="yes">
    1182211867      <desc>
    11823         Whether the device is physically connected to a remote VRDP
     11868        Whether the device is physically connected to a remote VRDE
    1182411869        client or to a local host machine.
    1182511870      </desc>
     
    1224812293  </interface>
    1224912294
    12250   <!--
    12251   // IVRDPServer
    12252   /////////////////////////////////////////////////////////////////////////
    12253   -->
    12254 
    1225512295  <enum
    12256     name="VRDPAuthType"
    12257     uuid="3d91887a-b67f-4b33-85bf-2da7ab1ea83a"
     12296    name="AuthType"
     12297    uuid="7eef6ef6-98c2-4dc2-ab35-10d2b292028d"
    1225812298  >
    1225912299    <desc>
    12260       VRDP authentication type.
     12300      VirtualBox authentication type.
    1226112301    </desc>
    1226212302
     
    1226812308  </enum>
    1226912309
     12310  <!--
     12311  // IVRDEServer
     12312  /////////////////////////////////////////////////////////////////////////
     12313  -->
     12314
    1227012315  <interface
    12271      name="IVRDPServer" extends="$unknown"
    12272      uuid="7aeeb530-0b08-41fe-835d-9be9ec1dbe5c"
     12316     name="IVRDEServer" extends="$unknown"
     12317     uuid="f68a6b34-6f09-4040-8de1-e8d746c4a9ea"
    1227312318     wsmap="managed"
    1227412319     >
    1227512320    <attribute name="enabled" type="boolean">
    12276       <desc>VRDP server status.</desc>
    12277     </attribute>
    12278 
    12279     <attribute name="ports" type="wstring">
    12280       <desc>
    12281         VRDP server port numbers. The server will try to bind to one of free ports from the list.
    12282         <note>
    12283           This is a string of comma separated TCP port numbers or port number ranges.
    12284           Example <tt>5000,5010-5012,5015</tt>
    12285         </note>
    12286       </desc>
    12287     </attribute>
    12288 
    12289     <attribute name="netAddress" type="wstring">
    12290       <desc>VRDP server address.</desc>
    12291     </attribute>
    12292 
    12293     <attribute name="authType" type="VRDPAuthType">
    12294       <desc>VRDP authentication method.</desc>
     12321      <desc>VRDE server status.</desc>
     12322    </attribute>
     12323
     12324    <attribute name="authType" type="AuthType">
     12325      <desc>VRDE authentication method.</desc>
    1229512326    </attribute>
    1229612327
     
    1230912340      <desc>
    1231012341        Flag whether the existing connection must be dropped and a new connection
    12311         must be established by the VRDP server, when a new client connects in single
     12342        must be established by the VRDE server, when a new client connects in single
    1231212343        connection mode.
    1231312344      </desc>
     
    1231612347    <attribute name="videoChannel" type="boolean">
    1231712348      <desc>
    12318         Flag whether RDP video channel is supported.
     12349        Flag whether video redirectiron channel is enabled.
    1231912350      </desc>
    1232012351    </attribute>
     
    1232512356      </desc>
    1232612357    </attribute>
     12358
     12359    <method name="setVRDEProperty">
     12360      <desc>
     12361        Sets a VRDE specific property string.
     12362
     12363        If you pass @c null or empty string as a key @a value, the given @a key
     12364        will be deleted.
     12365
     12366      </desc>
     12367      <param name="key" type="wstring" dir="in">
     12368        <desc>Name of the key to set.</desc>
     12369      </param>
     12370      <param name="value" type="wstring" dir="in">
     12371        <desc>Value to assign to the key.</desc>
     12372      </param>
     12373    </method>
     12374
     12375    <method name="getVRDEProperty">
     12376      <desc>
     12377        Returns a VRDE specific property string.
     12378
     12379        If the requested data @a key does not exist, this function will
     12380        succeed and return an empty string in the @a value argument.
     12381
     12382      </desc>
     12383      <param name="key" type="wstring" dir="in">
     12384        <desc>Name of the key to get.</desc>
     12385      </param>
     12386      <param name="value" type="wstring" dir="return">
     12387        <desc>Value of the requested key.</desc>
     12388      </param>
     12389    </method>
    1232712390
    1232812391  </interface>
     
    1244212505  <interface
    1244312506     name="IInternalSessionControl" extends="$unknown"
    12444      uuid="0431ef9e-2c2e-42af-87d7-c8f52455f28a"
     12507     uuid="06ef98a7-f7c0-45ba-bf99-9aca7a4d5530"
    1244512508     internal="yes"
    1244612509     wsmap="suppress"
     
    1263112694    </method>
    1263212695
    12633     <method name="onVRDPServerChange">
    12634       <desc>
    12635         Triggered when settings of the VRDP server object of the
     12696    <method name="onVRDEServerChange">
     12697      <desc>
     12698        Triggered when settings of the VRDE server object of the
    1263612699        associated virtual machine have changed.
    1263712700
     
    1385113914  <enum
    1385213915     name="VBoxEventType"
    13853      uuid="1728bb3b-4843-4f12-af67-f7a1f69f3a52">
     13916     uuid="e085d0b1-05e6-4f40-a709-b7266fbdb236">
    1385413917
    1385513918    <desc>
     
    1401314076      </desc>
    1401414077    </const>
    14015     <const name="OnVRDPServerChanged" value="53">
    14016       <desc>
    14017         See <link to="IVRDPServerChangedEvent">IVRDPServerChangedEvent</link>.
     14078    <const name="OnVRDEServerChanged" value="53">
     14079      <desc>
     14080        See <link to="IVRDEServerChangedEvent">IVRDEServerChangedEvent</link>.
    1401814081      </desc>
    1401914082    </const>
     
    1405314116      </desc>
    1405414117    </const>
    14055     <const name="OnRemoteDisplayInfoChanged" value="61">
    14056       <desc>
    14057         See <link to="IRemoteDisplayInfoChangedEvent">IRemoteDisplayInfoChangedEvent</link>.
     14118    <const name="OnVRDEServerInfoChanged" value="61">
     14119      <desc>
     14120        See <link to="IVRDEServerInfoChangedEvent">IVRDEServerInfoChangedEvent</link>.
    1405814121      </desc>
    1405914122    </const>
     
    1490814971
    1490914972   <interface
    14910      name="IVRDPServerChangedEvent" extends="IEvent"
    14911      uuid="726038B6-6279-4A7A-8037-D041693D1915"
    14912      wsmap="managed" autogen="VBoxEvent" id="OnVRDPServerChanged"
     14973     name="IVRDEServerChangedEvent" extends="IEvent"
     14974     uuid="a06fd66a-3188-4c8c-8756-1395e8cb691c"
     14975     wsmap="managed" autogen="VBoxEvent" id="OnVRDEServerChanged"
    1491314976     >
    1491414977    <desc>
    1491514978      Notification when a property of the
    14916       <link to="IMachine::VRDPServer">VRDP server</link> changes.
    14917       Interested callees should use IVRDPServer methods and attributes to
     14979      <link to="IMachine::VRDEServer">VRDE server</link> changes.
     14980      Interested callees should use IVRDEServer methods and attributes to
    1491814981      find out what has changed.
    1491914982    </desc>
     
    1492114984
    1492214985   <interface
    14923      name="IRemoteDisplayInfoChangedEvent" extends="IEvent"
    14924      uuid="65B556C5-2A99-47D8-B311-FC177F0914CD"
    14925      wsmap="managed" autogen="VBoxEvent" id="OnRemoteDisplayInfoChanged"
     14986     name="IVRDEServerInfoChangedEvent" extends="IEvent"
     14987     uuid="dd6a1080-e1b7-4339-a549-f0878115596e"
     14988     wsmap="managed" autogen="VBoxEvent" id="OnVRDEServerInfoChanged"
    1492614989     >
    1492714990    <desc>
    14928       Notification when the status of the VRDP server changes. Interested callees
    14929       should use <link to="IConsole::remoteDisplayInfo">IRemoteDisplayInfo</link>
     14991      Notification when the status of the VRDE server changes. Interested callees
     14992      should use <link to="IConsole::VRDEServerInfo">IVRDEServerInfo</link>
    1493014993      attributes to find out what is the current status.
    1493114994    </desc>
  • trunk/src/VBox/Main/include/ConsoleImpl.h

    r33004 r33386  
    3333class RemoteUSBDevice;
    3434class SharedFolder;
    35 class RemoteDisplayInfo;
     35class VRDEServerInfo;
    3636class AudioSniffer;
    3737class ConsoleVRDPServer;
     
    121121    STDMETHOD(COMGETTER(USBDevices))(ComSafeArrayOut(IUSBDevice *, aUSBDevices));
    122122    STDMETHOD(COMGETTER(RemoteUSBDevices))(ComSafeArrayOut(IHostUSBDevice *, aRemoteUSBDevices));
    123     STDMETHOD(COMGETTER(RemoteDisplayInfo))(IRemoteDisplayInfo **aRemoteDisplayInfo);
     123    STDMETHOD(COMGETTER(VRDEServerInfo))(IVRDEServerInfo **aVRDEServerInfo);
    124124    STDMETHOD(COMGETTER(SharedFolders))(ComSafeArrayOut(ISharedFolder *, aSharedFolders));
    125125    STDMETHOD(COMGETTER(EventSource)) (IEventSource ** aEventSource);
     
    169169
    170170    /** Method is called only from ConsoleVRDPServer */
    171     IVRDPServer *getVRDPServer() const { return mVRDPServer; }
     171    IVRDEServer *getVRDEServer() const { return mVRDEServer; }
    172172
    173173    ConsoleVRDPServer *consoleVRDPServer() const { return mConsoleVRDPServer; }
     
    183183    HRESULT onCPUChange(ULONG aCPU, BOOL aRemove);
    184184    HRESULT onCPUExecutionCapChange(ULONG aExecutionCap);
    185     HRESULT onVRDPServerChange(BOOL aRestart);
     185    HRESULT onVRDEServerChange(BOOL aRestart);
    186186    HRESULT onUSBControllerChange();
    187187    HRESULT onSharedFolderChange(BOOL aGlobal);
     
    228228    void onRuntimeError(BOOL aFatal, IN_BSTR aErrorID, IN_BSTR aMessage);
    229229    HRESULT onShowWindow(BOOL aCheck, BOOL *aCanShow, LONG64 *aWinId);
    230     void onRemoteDisplayInfoChange();
     230    void onVRDEServerInfoChange();
    231231
    232232    static const PDMDRVREG DrvStatusReg;
     
    594594    const ComPtr<IInternalMachineControl> mControl;
    595595
    596     const ComPtr <IVRDPServer> mVRDPServer;
     596    const ComPtr <IVRDEServer> mVRDEServer;
    597597
    598598    ConsoleVRDPServer * const mConsoleVRDPServer;
     
    603603    const ComObjPtr<Display> mDisplay;
    604604    const ComObjPtr<MachineDebugger> mDebugger;
    605     const ComObjPtr<RemoteDisplayInfo> mRemoteDisplayInfo;
     605    const ComObjPtr<VRDEServerInfo> mVRDEServerInfo;
    606606    const ComObjPtr<EventSource> mEventSource;
    607607
  • trunk/src/VBox/Main/include/ConsoleVRDPServer.h

    r33005 r33386  
    33/** @file
    44 *
    5  * VBox Console VRDP Helper class and implementation of IRemoteDisplayInfo
     5 * VBox Console VRDE Server Helper class and implementation of IVRDEServerInfo
    66 */
    77
    88/*
    9  * Copyright (C) 2006-2008 Oracle Corporation
     9 * Copyright (C) 2006-2010 Oracle Corporation
    1010 *
    1111 * This file is part of VirtualBox Open Source Edition (OSE), as
     
    149149    HVRDESERVER mhServer;
    150150
    151     static bool loadVRDPLibrary (void);
     151    static int loadVRDPLibrary (const char *pszLibraryName);
    152152
    153153    /** Static because will never load this more than once! */
     
    230230class Console;
    231231
    232 class ATL_NO_VTABLE RemoteDisplayInfo :
     232class ATL_NO_VTABLE VRDEServerInfo :
    233233    public VirtualBoxBase,
    234     VBOX_SCRIPTABLE_IMPL(IRemoteDisplayInfo)
     234    VBOX_SCRIPTABLE_IMPL(IVRDEServerInfo)
    235235{
    236236public:
    237237
    238     VIRTUALBOXBASE_ADD_ERRORINFO_SUPPORT(RemoteDisplayInfo, IRemoteDisplayInfo)
    239 
    240     DECLARE_NOT_AGGREGATABLE(RemoteDisplayInfo)
     238    VIRTUALBOXBASE_ADD_ERRORINFO_SUPPORT(VRDEServerInfo, IVRDEServerInfo)
     239
     240    DECLARE_NOT_AGGREGATABLE(VRDEServerInfo)
    241241
    242242    DECLARE_PROTECT_FINAL_CONSTRUCT()
    243243
    244     BEGIN_COM_MAP(RemoteDisplayInfo)
     244    BEGIN_COM_MAP(VRDEServerInfo)
    245245        COM_INTERFACE_ENTRY(ISupportErrorInfo)
    246         COM_INTERFACE_ENTRY(IRemoteDisplayInfo)
     246        COM_INTERFACE_ENTRY(IVRDEServerInfo)
    247247        COM_INTERFACE_ENTRY(IDispatch)
    248248    END_COM_MAP()
    249249
    250     DECLARE_EMPTY_CTOR_DTOR (RemoteDisplayInfo)
     250    DECLARE_EMPTY_CTOR_DTOR (VRDEServerInfo)
    251251
    252252    HRESULT FinalConstruct();
     
    257257    void uninit();
    258258
    259     /* IRemoteDisplayInfo properties */
     259    /* IVRDEServerInfo properties */
    260260    #define DECL_GETTER(_aType, _aName) STDMETHOD(COMGETTER(_aName)) (_aType *a##_aName)
    261261        DECL_GETTER (BOOL,    Active);
  • trunk/src/VBox/Main/include/MachineImpl.h

    r33300 r33386  
    404404    STDMETHOD(COMSETTER(SnapshotFolder))(IN_BSTR aSavedStateFolder);
    405405    STDMETHOD(COMGETTER(MediumAttachments))(ComSafeArrayOut(IMediumAttachment *, aAttachments));
    406     STDMETHOD(COMGETTER(VRDPServer))(IVRDPServer **vrdpServer);
     406    STDMETHOD(COMGETTER(VRDEServer))(IVRDEServer **vrdeServer);
    407407    STDMETHOD(COMGETTER(AudioAdapter))(IAudioAdapter **audioAdapter);
    408408    STDMETHOD(COMGETTER(USBController))(IUSBController * *aUSBController);
     
    602602        IsModified_SerialPorts          = 0x0010,
    603603        IsModified_ParallelPorts        = 0x0020,
    604         IsModified_VRDPServer           = 0x0040,
     604        IsModified_VRDEServer           = 0x0040,
    605605        IsModified_AudioAdapter         = 0x0080,
    606606        IsModified_USB                  = 0x0100,
     
    616616    virtual HRESULT onSerialPortChange(ISerialPort * /* serialPort */) { return S_OK; }
    617617    virtual HRESULT onParallelPortChange(IParallelPort * /* parallelPort */) { return S_OK; }
    618     virtual HRESULT onVRDPServerChange(BOOL /* aRestart */) { return S_OK; }
     618    virtual HRESULT onVRDEServerChange(BOOL /* aRestart */) { return S_OK; }
    619619    virtual HRESULT onUSBControllerChange() { return S_OK; }
    620620    virtual HRESULT onStorageControllerChange() { return S_OK; }
     
    848848    // so they cannot be a part of HWData
    849849
    850     const ComObjPtr<VRDPServer>     mVRDPServer;
     850    const ComObjPtr<VRDEServer>     mVRDEServer;
    851851    const ComObjPtr<SerialPort>     mSerialPorts[SchemaDefs::SerialPortCount];
    852852    const ComObjPtr<ParallelPort>   mParallelPorts[SchemaDefs::ParallelPortCount];
     
    961961    HRESULT onCPUChange(ULONG aCPU, BOOL aRemove);
    962962    HRESULT onCPUExecutionCapChange(ULONG aCpuExecutionCap);
    963     HRESULT onVRDPServerChange(BOOL aRestart);
     963    HRESULT onVRDEServerChange(BOOL aRestart);
    964964    HRESULT onUSBControllerChange();
    965965    HRESULT onUSBDeviceAttach(IUSBDevice *aDevice,
  • trunk/src/VBox/Main/include/SessionImpl.h

    r32885 r33386  
    9191    STDMETHOD(OnCPUChange)(ULONG aCPU, BOOL aRemove);
    9292    STDMETHOD(OnCPUExecutionCapChange)(ULONG aExecutionCap);
    93     STDMETHOD(OnVRDPServerChange)(BOOL aRestart);
     93    STDMETHOD(OnVRDEServerChange)(BOOL aRestart);
    9494    STDMETHOD(OnUSBControllerChange)();
    9595    STDMETHOD(OnSharedFolderChange)(BOOL aGlobal);
  • trunk/src/VBox/Main/include/SystemPropertiesImpl.h

    r33344 r33386  
    8686    STDMETHOD(COMGETTER(FreeDiskSpacePercentError))(ULONG *aFreeDiskSpacePercent);
    8787    STDMETHOD(COMSETTER(FreeDiskSpacePercentError))(ULONG aFreeDiskSpacePercent);
    88     STDMETHOD(COMGETTER(RemoteDisplayAuthLibrary))(BSTR *aRemoteDisplayAuthLibrary);
    89     STDMETHOD(COMSETTER(RemoteDisplayAuthLibrary))(IN_BSTR aRemoteDisplayAuthLibrary);
     88    STDMETHOD(COMGETTER(VRDEAuthLibrary))(BSTR *aVRDEAuthLibrary);
     89    STDMETHOD(COMSETTER(VRDEAuthLibrary))(IN_BSTR aVRDEAuthLibrary);
    9090    STDMETHOD(COMGETTER(WebServiceAuthLibrary))(BSTR *aWebServiceAuthLibrary);
    9191    STDMETHOD(COMSETTER(WebServiceAuthLibrary))(IN_BSTR aWebServiceAuthLibrary);
     92    STDMETHOD(COMGETTER(DefaultVRDELibrary))(BSTR *aVRDELibrary);
     93    STDMETHOD(COMSETTER(DefaultVRDELibrary))(IN_BSTR aVRDELibrary);
    9294    STDMETHOD(COMGETTER(LogHistoryCount))(ULONG *count);
    9395    STDMETHOD(COMSETTER(LogHistoryCount))(ULONG count);
     
    119121    HRESULT setDefaultHardDiskFormat(const Utf8Str &aFormat);
    120122
    121     HRESULT setRemoteDisplayAuthLibrary(const Utf8Str &aPath);
     123    HRESULT setVRDEAuthLibrary(const Utf8Str &aPath);
    122124    HRESULT setWebServiceAuthLibrary(const Utf8Str &aPath);
     125    HRESULT setDefaultVRDELibrary(const Utf8Str &aPath);
    123126
    124127    VirtualBox * const  mParent;
  • trunk/src/VBox/Main/include/VRDPServerImpl.h

    r30739 r33386  
    77
    88/*
    9  * Copyright (C) 2006-2007 Oracle Corporation
     9 * Copyright (C) 2006-2010 Oracle Corporation
    1010 *
    1111 * This file is part of VirtualBox Open Source Edition (OSE), as
     
    2727namespace settings
    2828{
    29     struct VRDPSettings;
     29    struct VRDESettings;
    3030}
    3131
    32 class ATL_NO_VTABLE VRDPServer :
     32class ATL_NO_VTABLE VRDEServer :
    3333    public VirtualBoxBase,
    34     VBOX_SCRIPTABLE_IMPL(IVRDPServer)
     34    VBOX_SCRIPTABLE_IMPL(IVRDEServer)
    3535{
    3636public:
     
    3939    {
    4040        BOOL mEnabled;
    41         Bstr mVRDPPorts;
    42         Bstr mVRDPAddress;
    43         VRDPAuthType_T mAuthType;
     41        Bstr mPorts;
     42        Bstr mAddress;
     43        AuthType_T mAuthType;
    4444        ULONG mAuthTimeout;
    4545        BOOL mAllowMultiConnection;
     
    4949    };
    5050
    51     VIRTUALBOXBASE_ADD_ERRORINFO_SUPPORT(VRDPServer, IVRDPServer)
     51    VIRTUALBOXBASE_ADD_ERRORINFO_SUPPORT(VRDEServer, IVRDEServer)
    5252
    53     DECLARE_NOT_AGGREGATABLE(VRDPServer)
     53    DECLARE_NOT_AGGREGATABLE(VRDEServer)
    5454
    5555    DECLARE_PROTECT_FINAL_CONSTRUCT()
    5656
    57     BEGIN_COM_MAP(VRDPServer)
     57    BEGIN_COM_MAP(VRDEServer)
    5858        COM_INTERFACE_ENTRY  (ISupportErrorInfo)
    59         COM_INTERFACE_ENTRY  (IVRDPServer)
    60         COM_INTERFACE_ENTRY2 (IDispatch, IVRDPServer)
     59        COM_INTERFACE_ENTRY  (IVRDEServer)
     60        COM_INTERFACE_ENTRY2 (IDispatch, IVRDEServer)
    6161    END_COM_MAP()
    6262
    63     DECLARE_EMPTY_CTOR_DTOR (VRDPServer)
     63    DECLARE_EMPTY_CTOR_DTOR (VRDEServer)
    6464
    6565    HRESULT FinalConstruct();
     
    6868    // public initializer/uninitializer for internal purposes only
    6969    HRESULT init(Machine *aParent);
    70     HRESULT init(Machine *aParent, VRDPServer *aThat);
    71     HRESULT initCopy (Machine *aParent, VRDPServer *aThat);
     70    HRESULT init(Machine *aParent, VRDEServer *aThat);
     71    HRESULT initCopy (Machine *aParent, VRDEServer *aThat);
    7272    void uninit();
    7373
    74     // IVRDPServer properties
     74    // IVRDEServer properties
    7575    STDMETHOD(COMGETTER(Enabled)) (BOOL *aEnabled);
    7676    STDMETHOD(COMSETTER(Enabled)) (BOOL aEnable);
    77     STDMETHOD(COMGETTER(Ports)) (BSTR *aPorts);
    78     STDMETHOD(COMSETTER(Ports)) (IN_BSTR aPorts);
    79     STDMETHOD(COMGETTER(NetAddress)) (BSTR *aAddress);
    80     STDMETHOD(COMSETTER(NetAddress)) (IN_BSTR aAddress);
    81     STDMETHOD(COMGETTER(AuthType)) (VRDPAuthType_T *aType);
    82     STDMETHOD(COMSETTER(AuthType)) (VRDPAuthType_T aType);
     77    STDMETHOD(COMGETTER(AuthType)) (AuthType_T *aType);
     78    STDMETHOD(COMSETTER(AuthType)) (AuthType_T aType);
    8379    STDMETHOD(COMGETTER(AuthTimeout)) (ULONG *aTimeout);
    8480    STDMETHOD(COMSETTER(AuthTimeout)) (ULONG aTimeout);
     
    9288    STDMETHOD(COMSETTER(VideoChannelQuality)) (ULONG aVideoChannelQuality);
    9389
    94     // IVRDPServer methods
     90    // IVRDEServer methods
     91    STDMETHOD(SetVRDEProperty) (IN_BSTR aKey, IN_BSTR aValue);
     92    STDMETHOD(GetVRDEProperty) (IN_BSTR aKey, BSTR *aValue);
    9593
    9694    // public methods only for internal purposes
    9795
    98     HRESULT loadSettings(const settings::VRDPSettings &data);
    99     HRESULT saveSettings(settings::VRDPSettings &data);
     96    HRESULT loadSettings(const settings::VRDESettings &data);
     97    HRESULT saveSettings(settings::VRDESettings &data);
    10098
    10199    void rollback();
    102100    void commit();
    103     void copyFrom (VRDPServer *aThat);
     101    void copyFrom (VRDEServer *aThat);
    104102
    105103private:
    106104
    107105    Machine * const     mParent;
    108     const ComObjPtr<VRDPServer> mPeer;
     106    const ComObjPtr<VRDEServer> mPeer;
    109107
    110108    Backupable<Data>    mData;
  • trunk/src/VBox/Main/include/VirtualBoxImpl.h

    r33294 r33386  
    154154                                    BSTR * aUrl, BSTR * aFile, BOOL * aResult);
    155155
     156    STDMETHOD(VRDERegisterLibrary)(IN_BSTR aName);
     157    STDMETHOD(VRDEUnregisterLibrary)(IN_BSTR aName);
     158    STDMETHOD(VRDEListLibraries)(ComSafeArrayOut(BSTR, aNames));
    156159    /* public methods only for internal purposes */
    157160
  • trunk/src/VBox/Main/testcase/tstAPI.cpp

    r32718 r33386  
    10411041#if 0
    10421042        RTPrintf("\n");
    1043         RTPrintf("Enabling the VRDP server (must succeed even if the VM is saved):\n");
    1044         ComPtr<IVRDPServer> vrdp;
    1045         CHECK_ERROR_BREAK(sessionMachine, COMGETTER(VRDPServer)(vrdp.asOutParam()));
    1046         if (FAILED(vrdp->COMSETTER(Enabled)(TRUE)))
    1047         {
    1048             PRINT_ERROR_INFO(com::ErrorInfo(vrdp));
     1043        RTPrintf("Enabling the VRDE server (must succeed even if the VM is saved):\n");
     1044        ComPtr<IVRDEServer> vrdeServer;
     1045        CHECK_ERROR_BREAK(sessionMachine, COMGETTER(VRDEServer)(vrdeServer.asOutParam()));
     1046        if (FAILED(vrdeServer->COMSETTER(Enabled)(TRUE)))
     1047        {
     1048            PRINT_ERROR_INFO(com::ErrorInfo(vrdeServer));
    10491049        }
    10501050        else
    10511051        {
    10521052            BOOL enabled = FALSE;
    1053             CHECK_ERROR_BREAK(vrdp, COMGETTER(Enabled)(&enabled));
    1054             RTPrintf("VRDP server is %s\n", enabled ? "enabled" : "disabled");
     1053            CHECK_ERROR_BREAK(vrdeServer, COMGETTER(Enabled)(&enabled));
     1054            RTPrintf("VRDE server is %s\n", enabled ? "enabled" : "disabled");
    10551055        }
    10561056#endif
     
    12331233        ComPtr<IMachine> machine;
    12341234        Bstr name = argc > 1 ? argv[1] : "dsl";
    1235         Bstr sessionType = argc > 2 ? argv[2] : "vrdp";
     1235        Bstr sessionType = argc > 2 ? argv[2] : "headless";
    12361236        RTPrintf("Getting a machine object named '%ls'...\n", name.raw());
    12371237        CHECK_RC_BREAK(virtualBox->FindMachine(name, machine.asOutParam()));
  • trunk/src/VBox/Main/xml/Settings.cpp

    r33238 r33386  
    12291229                        pelmGlobalChild->getAttributeValue("defaultMachineFolder", systemProperties.strDefaultMachineFolder);
    12301230                        pelmGlobalChild->getAttributeValue("defaultHardDiskFormat", systemProperties.strDefaultHardDiskFormat);
    1231                         pelmGlobalChild->getAttributeValue("remoteDisplayAuthLibrary", systemProperties.strRemoteDisplayAuthLibrary);
     1231                        if (!pelmGlobalChild->getAttributeValue("VRDEAuthLibrary", systemProperties.strVRDEAuthLibrary))
     1232                            // pre-1.11 used @remoteDisplayAuthLibrary instead
     1233                            pelmGlobalChild->getAttributeValue("remoteDisplayAuthLibrary", systemProperties.strVRDEAuthLibrary);
    12321234                        pelmGlobalChild->getAttributeValue("webServiceAuthLibrary", systemProperties.strWebServiceAuthLibrary);
     1235                        pelmGlobalChild->getAttributeValue("defaultVRDELibrary", systemProperties.strDefaultVRDELibrary);
    12331236                        pelmGlobalChild->getAttributeValue("LogHistoryCount", systemProperties.ulLogHistoryCount);
    12341237                    }
     
    13351338    if (systemProperties.strDefaultHardDiskFormat.length())
    13361339        pelmSysProps->setAttribute("defaultHardDiskFormat", systemProperties.strDefaultHardDiskFormat);
    1337     if (systemProperties.strRemoteDisplayAuthLibrary.length())
    1338         pelmSysProps->setAttribute("remoteDisplayAuthLibrary", systemProperties.strRemoteDisplayAuthLibrary);
     1340    if (systemProperties.strVRDEAuthLibrary.length())
     1341        pelmSysProps->setAttribute("VRDEAuthLibrary", systemProperties.strVRDEAuthLibrary);
    13391342    if (systemProperties.strWebServiceAuthLibrary.length())
    13401343        pelmSysProps->setAttribute("webServiceAuthLibrary", systemProperties.strWebServiceAuthLibrary);
     1344    if (systemProperties.strDefaultVRDELibrary.length())
     1345        pelmSysProps->setAttribute("defaultVRDELibrary", systemProperties.strDefaultVRDELibrary);
    13411346    pelmSysProps->setAttribute("LogHistoryCount", systemProperties.ulLogHistoryCount);
    13421347
     
    13651370 * machine settings have really changed and thus need to be written out to disk.
    13661371 */
    1367 bool VRDPSettings::operator==(const VRDPSettings& v) const
     1372bool VRDESettings::operator==(const VRDESettings& v) const
    13681373{
    13691374    return (    (this == &v)
     
    15951600                  && (keyboardHidType           == h.keyboardHidType)
    15961601                  && (chipsetType               == h.chipsetType)
    1597                   && (vrdpSettings              == h.vrdpSettings)
     1602                  && (vrdeSettings              == h.vrdeSettings)
    15981603                  && (biosSettings              == h.biosSettings)
    15991604                  && (usbController             == h.usbController)
     
    24262431        else if (pelmHwChild->nameEquals("RemoteDisplay"))
    24272432        {
    2428             pelmHwChild->getAttributeValue("enabled", hw.vrdpSettings.fEnabled);
    2429             pelmHwChild->getAttributeValue("port", hw.vrdpSettings.strPort);
    2430             pelmHwChild->getAttributeValue("netAddress", hw.vrdpSettings.strNetAddress);
     2433            pelmHwChild->getAttributeValue("enabled", hw.vrdeSettings.fEnabled);
     2434            pelmHwChild->getAttributeValue("port", hw.vrdeSettings.strPort);
     2435            pelmHwChild->getAttributeValue("netAddress", hw.vrdeSettings.strNetAddress);
    24312436
    24322437            Utf8Str strAuthType;
     
    24362441                strAuthType.toUpper();
    24372442                if (strAuthType == "NULL")
    2438                     hw.vrdpSettings.authType = VRDPAuthType_Null;
     2443                    hw.vrdeSettings.authType = AuthType_Null;
    24392444                else if (strAuthType == "GUEST")
    2440                     hw.vrdpSettings.authType = VRDPAuthType_Guest;
     2445                    hw.vrdeSettings.authType = AuthType_Guest;
    24412446                else if (strAuthType == "EXTERNAL")
    2442                     hw.vrdpSettings.authType = VRDPAuthType_External;
     2447                    hw.vrdeSettings.authType = AuthType_External;
    24432448                else
    24442449                    throw ConfigFileError(this, pelmHwChild, N_("Invalid value '%s' in RemoteDisplay/@authType attribute"), strAuthType.c_str());
    24452450            }
    24462451
    2447             pelmHwChild->getAttributeValue("authTimeout", hw.vrdpSettings.ulAuthTimeout);
    2448             pelmHwChild->getAttributeValue("allowMultiConnection", hw.vrdpSettings.fAllowMultiConnection);
    2449             pelmHwChild->getAttributeValue("reuseSingleConnection", hw.vrdpSettings.fReuseSingleConnection);
     2452            pelmHwChild->getAttributeValue("authTimeout", hw.vrdeSettings.ulAuthTimeout);
     2453            pelmHwChild->getAttributeValue("allowMultiConnection", hw.vrdeSettings.fAllowMultiConnection);
     2454            pelmHwChild->getAttributeValue("reuseSingleConnection", hw.vrdeSettings.fReuseSingleConnection);
    24502455
    24512456            const xml::ElementNode *pelmVideoChannel;
    24522457            if ((pelmVideoChannel = pelmHwChild->findChildElement("VideoChannel")))
    24532458            {
    2454                 pelmVideoChannel->getAttributeValue("enabled", hw.vrdpSettings.fVideoChannel);
    2455                 pelmVideoChannel->getAttributeValue("quality", hw.vrdpSettings.ulVideoChannelQuality);
    2456                 hw.vrdpSettings.ulVideoChannelQuality = RT_CLAMP(hw.vrdpSettings.ulVideoChannelQuality, 10, 100);
     2459                pelmVideoChannel->getAttributeValue("enabled", hw.vrdeSettings.fVideoChannel);
     2460                pelmVideoChannel->getAttributeValue("quality", hw.vrdeSettings.ulVideoChannelQuality);
     2461                hw.vrdeSettings.ulVideoChannelQuality = RT_CLAMP(hw.vrdeSettings.ulVideoChannelQuality, 10, 100);
    24572462            }
    24582463        }
     
    33413346        pelmDisplay->setAttribute("accelerate2DVideo", hw.fAccelerate2DVideo);
    33423347
    3343     xml::ElementNode *pelmVRDP = pelmHardware->createChild("RemoteDisplay");
    3344     pelmVRDP->setAttribute("enabled", hw.vrdpSettings.fEnabled);
    3345     Utf8Str strPort = hw.vrdpSettings.strPort;
     3348    xml::ElementNode *pelmVRDE = pelmHardware->createChild("RemoteDisplay");
     3349    pelmVRDE->setAttribute("enabled", hw.vrdeSettings.fEnabled);
     3350    Utf8Str strPort = hw.vrdeSettings.strPort;
    33463351    if (!strPort.length())
    33473352        strPort = "3389";
    3348     pelmVRDP->setAttribute("port", strPort);
    3349     if (hw.vrdpSettings.strNetAddress.length())
    3350         pelmVRDP->setAttribute("netAddress", hw.vrdpSettings.strNetAddress);
     3353    pelmVRDE->setAttribute("port", strPort);
     3354    if (hw.vrdeSettings.strNetAddress.length())
     3355        pelmVRDE->setAttribute("netAddress", hw.vrdeSettings.strNetAddress);
    33513356    const char *pcszAuthType;
    3352     switch (hw.vrdpSettings.authType)
    3353     {
    3354         case VRDPAuthType_Guest:    pcszAuthType = "Guest";    break;
    3355         case VRDPAuthType_External: pcszAuthType = "External"; break;
    3356         default: /*case VRDPAuthType_Null:*/ pcszAuthType = "Null"; break;
    3357     }
    3358     pelmVRDP->setAttribute("authType", pcszAuthType);
    3359 
    3360     if (hw.vrdpSettings.ulAuthTimeout != 0)
    3361         pelmVRDP->setAttribute("authTimeout", hw.vrdpSettings.ulAuthTimeout);
    3362     if (hw.vrdpSettings.fAllowMultiConnection)
    3363         pelmVRDP->setAttribute("allowMultiConnection", hw.vrdpSettings.fAllowMultiConnection);
    3364     if (hw.vrdpSettings.fReuseSingleConnection)
    3365         pelmVRDP->setAttribute("reuseSingleConnection", hw.vrdpSettings.fReuseSingleConnection);
     3357    switch (hw.vrdeSettings.authType)
     3358    {
     3359        case AuthType_Guest:    pcszAuthType = "Guest";    break;
     3360        case AuthType_External: pcszAuthType = "External"; break;
     3361        default: /*case AuthType_Null:*/ pcszAuthType = "Null"; break;
     3362    }
     3363    pelmVRDE->setAttribute("authType", pcszAuthType);
     3364
     3365    if (hw.vrdeSettings.ulAuthTimeout != 0)
     3366        pelmVRDE->setAttribute("authTimeout", hw.vrdeSettings.ulAuthTimeout);
     3367    if (hw.vrdeSettings.fAllowMultiConnection)
     3368        pelmVRDE->setAttribute("allowMultiConnection", hw.vrdeSettings.fAllowMultiConnection);
     3369    if (hw.vrdeSettings.fReuseSingleConnection)
     3370        pelmVRDE->setAttribute("reuseSingleConnection", hw.vrdeSettings.fReuseSingleConnection);
    33663371
    33673372    if (m->sv >= SettingsVersion_v1_10)
    33683373    {
    3369         xml::ElementNode *pelmVideoChannel = pelmVRDP->createChild("VideoChannel");
    3370         pelmVideoChannel->setAttribute("enabled", hw.vrdpSettings.fVideoChannel);
    3371         pelmVideoChannel->setAttribute("quality", hw.vrdpSettings.ulVideoChannelQuality);
     3374        xml::ElementNode *pelmVideoChannel = pelmVRDE->createChild("VideoChannel");
     3375        pelmVideoChannel->setAttribute("enabled", hw.vrdeSettings.fVideoChannel);
     3376        pelmVideoChannel->setAttribute("quality", hw.vrdeSettings.ulVideoChannelQuality);
    33723377    }
    33733378
     
    43174322        if (   (hardwareMachine.ioSettings.fIoCacheEnabled != true)
    43184323            || (hardwareMachine.ioSettings.ulIoCacheSize != 5)
    4319                 // and VRDP video channel
    4320             || (hardwareMachine.vrdpSettings.fVideoChannel)
     4324                // and remote desktop video redirection channel
     4325            || (hardwareMachine.vrdeSettings.fVideoChannel)
    43214326                // and page fusion
    43224327            || (hardwareMachine.fPageFusionEnabled)
  • trunk/src/VBox/Main/xml/VirtualBox-settings-common.xsd

    r32436 r33386  
    208208
    209209
    210 <xsd:simpleType name="TVRDPAuthType">
     210<xsd:simpleType name="TAuthType">
    211211  <xsd:restriction base="xsd:string">
    212212    <xsd:enumeration value="Null"/>
     
    356356  <xsd:attribute name="defaultHardDiskFolder" type="TLocalFile"/>
    357357  <xsd:attribute name="defaultHardDiskFormat" type="TNonEmptyString"/>
    358   <xsd:attribute name="remoteDisplayAuthLibrary" type="TLocalFile"/>
     358  <xsd:attribute name="VRDEAuthLibrary" type="TLocalFile"/>
    359359  <xsd:attribute name="webServiceAuthLibrary" type="TLocalFile"/>
     360  <xsd:attribute name="defaultVRDELibrary" type="TLocalFile"/>
    360361  <xsd:attribute name="HWVirtExEnabled" type="xsd:boolean"/>
    361362  <xsd:attribute name="LogHistoryCount" type="xsd:unsignedInt" default="3"/>
     
    542543  <xsd:attribute name="port" type="xsd:token" default="0"/>
    543544  <xsd:attribute name="netAddress" type="xsd:token" default=""/>
    544   <xsd:attribute name="authType" type="TVRDPAuthType" default="Null"/>
     545  <xsd:attribute name="authType" type="TAuthType" default="Null"/>
    545546  <xsd:attribute name="authTimeout" type="xsd:unsignedInt" default="5000"/>
    546547  <xsd:attribute name="allowMultiConnection" type="xsd:boolean" default="false"/>
  • trunk/src/VBox/Main/xpcom/module.cpp

    r30825 r33386  
    7070NS_DECL_CLASSINFO(SharedFolder)
    7171NS_IMPL_THREADSAFE_ISUPPORTS1_CI(SharedFolder, ISharedFolder)
    72 NS_DECL_CLASSINFO(RemoteDisplayInfo)
    73 NS_IMPL_THREADSAFE_ISUPPORTS1_CI(RemoteDisplayInfo, IRemoteDisplayInfo)
     72NS_DECL_CLASSINFO(VRDEInfo)
     73NS_IMPL_THREADSAFE_ISUPPORTS1_CI(VRDEInfo, IVRDEInfo)
    7474
    7575NS_DECL_CLASSINFO(Session)
  • trunk/src/VBox/Main/xpcom/server.cpp

    r33112 r33386  
    141141
    142142#ifdef VBOX_WITH_VRDP
    143 NS_DECL_CLASSINFO(VRDPServer)
    144 NS_IMPL_THREADSAFE_ISUPPORTS1_CI(VRDPServer, IVRDPServer)
     143NS_DECL_CLASSINFO(VRDE)
     144NS_IMPL_THREADSAFE_ISUPPORTS1_CI(VRDE, IVRDE)
    145145#endif
    146146
Note: See TracChangeset for help on using the changeset viewer.

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