VirtualBox

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


Ignore:
Timestamp:
Dec 11, 2017 3:02:07 PM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
119600
Message:

GuestPropertySvc.h: Working on making it usable from C (VBoxGuest, ++)

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

Legend:

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

    r70036 r70058  
    17661766     * changes to the object state.
    17671767     */
    1768     PHOSTCALLBACKDATA   pCBData = reinterpret_cast<PHOSTCALLBACKDATA>(pvParms);
    1769     AssertReturn(sizeof(HOSTCALLBACKDATA) == cbParms, VERR_INVALID_PARAMETER);
    1770     AssertReturn(HOSTCALLBACKMAGIC == pCBData->u32Magic, VERR_INVALID_PARAMETER);
     1768    PGUESTPROPHOSTCALLBACKDATA pCBData = reinterpret_cast<PGUESTPROPHOSTCALLBACKDATA>(pvParms);
     1769    AssertReturn(sizeof(GUESTPROPHOSTCALLBACKDATA) == cbParms, VERR_INVALID_PARAMETER);
     1770    AssertReturn(pCBData->u32Magic == GUESTPROPHOSTCALLBACKDATA_MAGIC, VERR_INVALID_PARAMETER);
    17711771    LogFlow(("Console::doGuestPropNotification: pCBData={.pcszName=%s, .pcszValue=%s, .pcszFlags=%s}\n",
    17721772             pCBData->pcszName, pCBData->pcszValue, pCBData->pcszFlags));
     
    18391839        parm[2].u.uint32 = 0;
    18401840
    1841         vrc = m_pVMMDev->hgcmHostCall("VBoxGuestPropSvc", ENUM_PROPS_HOST, 3,
    1842                                       &parm[0]);
     1841        vrc = m_pVMMDev->hgcmHostCall("VBoxGuestPropSvc", GUEST_PROP_FN_ENUM_PROPS_HOST, 3, &parm[0]);
    18431842        Utf8Buf.jolt();
    18441843        if (parm[2].type != VBOX_HGCM_SVC_PARM_32BIT)
     
    59415940    {
    59425941        VBOXHGCMSVCPARM parm[4];
    5943         char szBuffer[MAX_VALUE_LEN + MAX_FLAGS_LEN];
     5942        char szBuffer[GUEST_PROP_MAX_VALUE_LEN + GUEST_PROP_MAX_FLAGS_LEN];
    59445943
    59455944        parm[0].type = VBOX_HGCM_SVC_PARM_PTR;
     
    59575956        parm[3].u.uint32 = 0;
    59585957
    5959         int vrc = m_pVMMDev->hgcmHostCall("VBoxGuestPropSvc", GET_PROP_HOST,
     5958        int vrc = m_pVMMDev->hgcmHostCall("VBoxGuestPropSvc", GUEST_PROP_FN_GET_PROP_HOST,
    59605959                                          4, &parm[0]);
    59615960        /* The returned string should never be able to be greater than our buffer */
     
    60286027    if (aFlags.isEmpty())
    60296028    {
    6030         vrc = m_pVMMDev->hgcmHostCall("VBoxGuestPropSvc", SET_PROP_VALUE_HOST,
    6031                                     2, &parm[0]);
     6029        vrc = m_pVMMDev->hgcmHostCall("VBoxGuestPropSvc", GUEST_PROP_FN_SET_PROP_VALUE_HOST, 2, &parm[0]);
    60326030    }
    60336031    else
     
    60376035        parm[2].u.pointer.size = (uint32_t)aFlags.length() + 1; /* The + 1 is the null terminator */
    60386036
    6039         vrc = m_pVMMDev->hgcmHostCall("VBoxGuestPropSvc", SET_PROP_HOST,
    6040                                       3, &parm[0]);
     6037        vrc = m_pVMMDev->hgcmHostCall("VBoxGuestPropSvc", GUEST_PROP_FN_SET_PROP_HOST, 3, &parm[0]);
    60416038    }
    60426039
     
    60736070    parm[0].u.pointer.size = (uint32_t)aName.length() + 1; /* The + 1 is the null terminator */
    60746071
    6075     int vrc = m_pVMMDev->hgcmHostCall("VBoxGuestPropSvc", DEL_PROP_HOST,
    6076                                       1, &parm[0]);
     6072    int vrc = m_pVMMDev->hgcmHostCall("VBoxGuestPropSvc", GUEST_PROP_FN_DEL_PROP_HOST, 1, &parm[0]);
    60776073
    60786074    HRESULT hrc = S_OK;
  • trunk/src/VBox/Main/src-client/ConsoleImpl2.cpp

    r70035 r70058  
    59065906
    59075907#ifdef VBOX_WITH_GUEST_PROPS
     5908
    59085909/**
    59095910 * Set an array of guest properties
     
    59305931    parms[3].u.pointer.size = 0;  /* We don't actually care. */
    59315932
    5932     pVMMDev->hgcmHostCall("VBoxGuestPropSvc",
    5933                           guestProp::SET_PROPS_HOST,
    5934                           4,
    5935                           &parms[0]);
     5933    pVMMDev->hgcmHostCall("VBoxGuestPropSvc", GUEST_PROP_FN_SET_PROPS_HOST, 4, &parms[0]);
    59365934}
    59375935
     
    59585956    parms[2].u.pointer.addr = (void *)pszFlags;
    59595957    parms[2].u.pointer.size = (uint32_t)strlen(pszFlags) + 1;
    5960     pVMMDev->hgcmHostCall("VBoxGuestPropSvc", guestProp::SET_PROP_HOST, 3,
    5961                           &parms[0]);
     5958    pVMMDev->hgcmHostCall("VBoxGuestPropSvc", GUEST_PROP_FN_SET_PROP_HOST, 3, &parms[0]);
    59625959}
    59635960
     
    59695966 * @param   eFlags  the flags to set
    59705967 */
    5971 int configSetGlobalPropertyFlags(VMMDev * const pVMMDev,
    5972                                  guestProp::ePropFlags eFlags)
     5968int configSetGlobalPropertyFlags(VMMDev * const pVMMDev, uint32_t fFlags)
    59735969{
    59745970    VBOXHGCMSVCPARM paParm;
    5975     paParm.setUInt32(eFlags);
    5976     int rc = pVMMDev->hgcmHostCall("VBoxGuestPropSvc",
    5977                                    guestProp::SET_GLOBAL_FLAGS_HOST, 1,
    5978                                    &paParm);
     5971    paParm.setUInt32(fFlags);
     5972    int rc = pVMMDev->hgcmHostCall("VBoxGuestPropSvc", GUEST_PROP_FN_SET_GLOBAL_FLAGS_HOST, 1, &paParm);
    59795973    if (RT_FAILURE(rc))
    59805974    {
    5981         char szFlags[guestProp::MAX_FLAGS_LEN];
    5982         if (RT_FAILURE(writeFlags(eFlags, szFlags)))
     5975        char szFlags[GUEST_PROP_MAX_FLAGS_LEN];
     5976        if (RT_FAILURE(GuestPropWriteFlags(fFlags, szFlags)))
    59835977            Log(("Failed to set the global flags.\n"));
    59845978        else
     
    59875981    return rc;
    59885982}
     5983
    59895984#endif /* VBOX_WITH_GUEST_PROPS */
    59905985
     
    60206015        {
    60216016            VBOXHGCMSVCPARM Params[2];
    6022             int rc2 = pConsole->m_pVMMDev->hgcmHostCall("VBoxGuestPropSvc", guestProp::GET_DBGF_INFO_FN, 2, &Params[0]);
     6017            int rc2 = pConsole->m_pVMMDev->hgcmHostCall("VBoxGuestPropSvc", GUEST_PROP_FN_GET_DBGF_INFO_FN, 2, &Params[0]);
    60236018            if (RT_SUCCESS(rc2))
    60246019            {
     
    61346129
    61356130#ifdef VBOX_WITH_GUEST_PROPS_RDONLY_GUEST
    6136         rc = configSetGlobalPropertyFlags(pConsole->m_pVMMDev,
    6137                                           guestProp::RDONLYGUEST);
     6131        rc = configSetGlobalPropertyFlags(pConsole->m_pVMMDev, guestProp::RDONLYGUEST);
    61386132        AssertRCReturn(rc, rc);
    61396133#endif
  • trunk/src/VBox/Main/src-server/MachineImpl.cpp

    r68986 r70058  
    56545654    if (it != mHWData->mGuestProperties.end())
    56555655    {
    5656         char szFlags[MAX_FLAGS_LEN + 1];
     5656        char szFlags[GUEST_PROP_MAX_FLAGS_LEN + 1];
    56575657        aValue = it->second.strValue;
    56585658        *aTimestamp = it->second.mTimestamp;
    5659         writeFlags(it->second.mFlags, szFlags);
     5659        GuestPropWriteFlags(it->second.mFlags, szFlags);
    56605660        aFlags = Utf8Str(szFlags);
    56615661    }
     
    57525752    try
    57535753    {
    5754         uint32_t fFlags = NILFLAG;
    5755         if (aFlags.length() && RT_FAILURE(validateFlags(aFlags.c_str(), &fFlags)))
     5754        uint32_t fFlags = GUEST_PROP_F_NILFLAG;
     5755        if (aFlags.length() && RT_FAILURE(GuestPropValidateFlags(aFlags.c_str(), &fFlags)))
    57565756            return setError(E_INVALIDARG, tr("Invalid guest property flag values: '%s'"), aFlags.c_str());
    57575757
     
    57745774        else
    57755775        {
    5776             if (it->second.mFlags & (RDONLYHOST))
     5776            if (it->second.mFlags & (GUEST_PROP_F_RDONLYHOST))
    57775777            {
    57785778                rc = setError(E_ACCESSDENIED, tr("The property '%s' cannot be changed by the host"), aName.c_str());
     
    59365936    aFlags.resize(cEntries);
    59375937
    5938     char szFlags[MAX_FLAGS_LEN + 1];
     5938    char szFlags[GUEST_PROP_MAX_FLAGS_LEN + 1];
    59395939    size_t i = 0;
    59405940    for (HWData::GuestPropertyMap::const_iterator
     
    59465946        aValues[i] = it->second.strValue;
    59475947        aTimestamps[i] = it->second.mTimestamp;
    5948         writeFlags(it->second.mFlags, szFlags);
     5948        GuestPropWriteFlags(it->second.mFlags, szFlags);
    59495949        aFlags[i] = Utf8Str(szFlags);
    59505950    }
     
    91589158        {
    91599159            const settings::GuestProperty &prop = *it;
    9160             uint32_t fFlags = guestProp::NILFLAG;
    9161             guestProp::validateFlags(prop.strFlags.c_str(), &fFlags);
     9160            uint32_t fFlags = GUEST_PROP_F_NILFLAG;
     9161            GuestPropValidateFlags(prop.strFlags.c_str(), &fFlags);
    91629162            if (   fSkipTransientGuestProperties
    9163                 && (   fFlags & guestProp::TRANSIENT
    9164                     || fFlags & guestProp::TRANSRESET))
     9163                && (   fFlags & GUEST_PROP_F_TRANSIENT
     9164                    || fFlags & GUEST_PROP_F_TRANSRESET))
    91659165            {
    91669166                it = llGuestProperties.erase(it);
     
    1045410454                    || mData->mMachineState == MachineState_Aborted
    1045510455                    || mData->mMachineState == MachineState_Teleported)
    10456                 && (   property.mFlags & guestProp::TRANSIENT
    10457                     || property.mFlags & guestProp::TRANSRESET))
     10456                && (property.mFlags & (GUEST_PROP_F_TRANSIENT | GUEST_PROP_F_TRANSRESET)))
    1045810457                continue;
    10459             settings::GuestProperty prop;
     10458            settings::GuestProperty prop; /// @todo r=bird: some excellent variable name choices here: 'prop' and 'property'; No 'const' clue either.
    1046010459            prop.strName = it->first;
    1046110460            prop.strValue = property.strValue;
    1046210461            prop.timestamp = property.mTimestamp;
    10463             char szFlags[guestProp::MAX_FLAGS_LEN + 1];
    10464             guestProp::writeFlags(property.mFlags, szFlags);
     10462            char szFlags[GUEST_PROP_MAX_FLAGS_LEN + 1];
     10463            GuestPropWriteFlags(property.mFlags, szFlags);
    1046510464            prop.strFlags = szFlags;
    1046610465
     
    1354113540         ++it, ++i)
    1354213541    {
    13543         char szFlags[MAX_FLAGS_LEN + 1];
     13542        char szFlags[GUEST_PROP_MAX_FLAGS_LEN + 1];
    1354413543        aNames[i] = it->first;
    1354513544        aValues[i] = it->second.strValue;
     
    1354913548        if (it->second.mFlags)
    1355013549        {
    13551             writeFlags(it->second.mFlags, szFlags);
     13550            GuestPropWriteFlags(it->second.mFlags, szFlags);
    1355213551            aFlags[i] = szFlags;
    1355313552        }
     
    1357613575         * Convert input up front.
    1357713576         */
    13578         uint32_t fFlags = NILFLAG;
     13577        uint32_t fFlags = GUEST_PROP_F_NILFLAG;
    1357913578        if (aFlags.length())
    1358013579        {
    13581             int vrc = validateFlags(aFlags.c_str(), &fFlags);
     13580            int vrc = GuestPropValidateFlags(aFlags.c_str(), &fFlags);
    1358213581            AssertRCReturn(vrc, E_INVALIDARG);
    1358313582        }
     
    1480314802        {
    1480414803            uint32_t fFlags = it->second.mFlags;
    14805             if (   fFlags & guestProp::TRANSIENT
    14806                 || fFlags & guestProp::TRANSRESET)
     14804            if (fFlags & (GUEST_PROP_F_TRANSIENT | GUEST_PROP_F_TRANSRESET))
    1480714805            {
    1480814806                /* iterator where we need to continue after the erase call
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