VirtualBox

Ignore:
Timestamp:
Nov 26, 2018 3:44:41 PM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
126937
Message:

HGCM: Replace C++-style inline members on VBOXHGCMSVCPARM with simple functions.
bugref:9172: Shared folder performance tuning
Changes in bugref:9172 caused a build regression on Ubuntu 18.10 due to the
use of RT_ZERO on a structure containing an embedded VBOXHGCMSVCPARM, as
VBOXHGCMSVCPARM had member functions and was therefore not a simple plain-
old-data structure. Rather than just doing the sensible thing and zeroing
it in a different way, I converted the inline member getters and setters to
standard inline C functions, including fixing callers. Actually I had planned
this for some time, as the member function use seemed a bit gratuitous in
hindsight.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostServices/SharedClipboard/testcase/tstClipboardServiceHost.cpp

    r75500 r75737  
    6262    RTTESTI_CHECK_MSG_RETV(RT_SUCCESS(rc), ("rc=%Rrc\n", rc));
    6363    /* Reset global variable which doesn't reset itself. */
    64     parms[0].setUInt32(VBOX_SHARED_CLIPBOARD_MODE_OFF);
     64    HGCMSvcSetU32(&parms[0], VBOX_SHARED_CLIPBOARD_MODE_OFF);
    6565    rc = table.pfnHostCall(NULL, VBOX_SHARED_CLIPBOARD_HOST_FN_SET_MODE,
    6666                           1, parms);
     
    7575                           2, parms);
    7676    RTTESTI_CHECK_RC(rc, VERR_INVALID_PARAMETER);
    77     parms[0].setUInt64(99);
    78     rc = table.pfnHostCall(NULL, VBOX_SHARED_CLIPBOARD_HOST_FN_SET_MODE,
    79                            1, parms);
    80     RTTESTI_CHECK_RC(rc, VERR_INVALID_PARAMETER);
    81     parms[0].setUInt32(VBOX_SHARED_CLIPBOARD_MODE_HOST_TO_GUEST);
     77    HGCMSvcSetU64(&parms[0], 99);
     78    rc = table.pfnHostCall(NULL, VBOX_SHARED_CLIPBOARD_HOST_FN_SET_MODE,
     79                           1, parms);
     80    RTTESTI_CHECK_RC(rc, VERR_INVALID_PARAMETER);
     81    HGCMSvcSetU32(&parms[0], VBOX_SHARED_CLIPBOARD_MODE_HOST_TO_GUEST);
    8282    rc = table.pfnHostCall(NULL, VBOX_SHARED_CLIPBOARD_HOST_FN_SET_MODE,
    8383                           1, parms);
     
    8686    RTTESTI_CHECK_MSG(u32Mode == VBOX_SHARED_CLIPBOARD_MODE_HOST_TO_GUEST,
    8787                      ("u32Mode=%u\n", (unsigned) u32Mode));
    88     parms[0].setUInt32(99);
     88    HGCMSvcSetU32(&parms[0], 99);
    8989    rc = table.pfnHostCall(NULL, VBOX_SHARED_CLIPBOARD_HOST_FN_SET_MODE,
    9090                           1, parms);
     
    107107    RTTESTI_CHECK_MSG_RETV(RT_SUCCESS(rc), ("rc=%Rrc\n", rc));
    108108    /* Unless we are bidirectional the host message requests will be dropped. */
    109     parms[0].setUInt32(VBOX_SHARED_CLIPBOARD_MODE_BIDIRECTIONAL);
     109    HGCMSvcSetU32(&parms[0], VBOX_SHARED_CLIPBOARD_MODE_BIDIRECTIONAL);
    110110    rc = table.pfnHostCall(NULL, VBOX_SHARED_CLIPBOARD_HOST_FN_SET_MODE,
    111111                           1, parms);
     
    114114    RTTestISub("Testing FN_GET_HOST_MSG, one format, waiting guest call.");
    115115    RT_ZERO(g_Client);
    116     parms[0].setUInt32(0);
    117     parms[1].setUInt32(0);
     116    HGCMSvcSetU32(&parms[0], 0);
     117    HGCMSvcSetU32(&parms[1], 0);
    118118    call.rc = VERR_TRY_AGAIN;
    119119    table.pfnCall(NULL, &call, 1 /* clientId */, &g_Client, VBOX_SHARED_CLIPBOARD_FN_GET_HOST_MSG,
     
    134134    vboxSvcClipboardReportMsg (&g_Client, VBOX_SHARED_CLIPBOARD_HOST_MSG_READ_DATA,
    135135                               VBOX_SHARED_CLIPBOARD_FMT_HTML);
    136     parms[0].setUInt32(0);
    137     parms[1].setUInt32(0);
     136    HGCMSvcSetU32(&parms[0], 0);
     137    HGCMSvcSetU32(&parms[1], 0);
    138138    call.rc = VERR_TRY_AGAIN;
    139139    table.pfnCall(NULL, &call, 1 /* clientId */, &g_Client, VBOX_SHARED_CLIPBOARD_FN_GET_HOST_MSG,
     
    149149    RTTestISub("Testing FN_GET_HOST_MSG, two formats, waiting guest call.");
    150150    RT_ZERO(g_Client);
    151     parms[0].setUInt32(0);
    152     parms[1].setUInt32(0);
     151    HGCMSvcSetU32(&parms[0], 0);
     152    HGCMSvcSetU32(&parms[1], 0);
    153153    call.rc = VERR_TRY_AGAIN;
    154154    table.pfnCall(NULL, &call, 1 /* clientId */, &g_Client, VBOX_SHARED_CLIPBOARD_FN_GET_HOST_MSG,
     
    175175    vboxSvcClipboardReportMsg (&g_Client, VBOX_SHARED_CLIPBOARD_HOST_MSG_READ_DATA,
    176176                               VBOX_SHARED_CLIPBOARD_FMT_UNICODETEXT | VBOX_SHARED_CLIPBOARD_FMT_HTML);
    177     parms[0].setUInt32(0);
    178     parms[1].setUInt32(0);
     177    HGCMSvcSetU32(&parms[0], 0);
     178    HGCMSvcSetU32(&parms[1], 0);
    179179    call.rc = VERR_TRY_AGAIN;
    180180    table.pfnCall(NULL, &call, 1 /* clientId */, &g_Client, VBOX_SHARED_CLIPBOARD_FN_GET_HOST_MSG,
     
    207207    RTTESTI_CHECK_MSG_RETV(RT_SUCCESS(rc), ("rc=%Rrc\n", rc));
    208208    /* Reset global variable which doesn't reset itself. */
    209     parms[0].setUInt32(false);
     209    HGCMSvcSetU32(&parms[0], false);
    210210    rc = table.pfnHostCall(NULL, VBOX_SHARED_CLIPBOARD_HOST_FN_SET_HEADLESS,
    211211                           1, parms);
     
    219219                           2, parms);
    220220    RTTESTI_CHECK_RC(rc, VERR_INVALID_PARAMETER);
    221     parms[0].setUInt64(99);
    222     rc = table.pfnHostCall(NULL, VBOX_SHARED_CLIPBOARD_HOST_FN_SET_HEADLESS,
    223                            1, parms);
    224     RTTESTI_CHECK_RC(rc, VERR_INVALID_PARAMETER);
    225     parms[0].setUInt32(true);
     221    HGCMSvcSetU64(&parms[0], 99);
     222    rc = table.pfnHostCall(NULL, VBOX_SHARED_CLIPBOARD_HOST_FN_SET_HEADLESS,
     223                           1, parms);
     224    RTTESTI_CHECK_RC(rc, VERR_INVALID_PARAMETER);
     225    HGCMSvcSetU32(&parms[0], true);
    226226    rc = table.pfnHostCall(NULL, VBOX_SHARED_CLIPBOARD_HOST_FN_SET_HEADLESS,
    227227                           1, parms);
     
    229229    fHeadless = vboxSvcClipboardGetHeadless();
    230230    RTTESTI_CHECK_MSG(fHeadless == true, ("fHeadless=%RTbool\n", fHeadless));
    231     parms[0].setUInt32(99);
     231    HGCMSvcSetU32(&parms[0], 99);
    232232    rc = table.pfnHostCall(NULL, VBOX_SHARED_CLIPBOARD_HOST_FN_SET_HEADLESS,
    233233                           1, parms);
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