VirtualBox

Changeset 71335 in vbox for trunk/src/VBox/HostServices


Ignore:
Timestamp:
Mar 14, 2018 3:07:20 PM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
121286
Message:

Guest Control/service: Renaming, documentation (no functional changes).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostServices/GuestControl/service.cpp

    r71331 r71335  
    605605
    606606    /**
    607      * Set to inidicate that a client call (GUEST_MSG_WAIT) is pending.
     607     * Set to indicate that a client call (GUEST_MSG_WAIT) is pending.
    608608     */
    609609    int SetPending(const ClientConnection *pConnection)
     
    10261026    int clientConnect(uint32_t u32ClientID, void *pvClient);
    10271027    int clientDisconnect(uint32_t u32ClientID, void *pvClient);
    1028     int clientGetCommand(uint32_t u32ClientID, VBOXHGCMCALLHANDLE callHandle, uint32_t cParms, VBOXHGCMSVCPARM paParms[]);
    1029     int clientSetMsgFilterSet(uint32_t u32ClientID, VBOXHGCMCALLHANDLE callHandle, uint32_t cParms, VBOXHGCMSVCPARM paParms[]);
    1030     int clientSetMsgFilterUnset(uint32_t u32ClientID, VBOXHGCMCALLHANDLE callHandle, uint32_t cParms, VBOXHGCMSVCPARM paParms[]);
     1028    int clientMsgGet(uint32_t u32ClientID, VBOXHGCMCALLHANDLE callHandle, uint32_t cParms, VBOXHGCMSVCPARM paParms[]);
     1029    int clientMsgFilterSet(uint32_t u32ClientID, VBOXHGCMCALLHANDLE callHandle, uint32_t cParms, VBOXHGCMSVCPARM paParms[]);
     1030    int clientMsgFilterUnset(uint32_t u32ClientID, VBOXHGCMCALLHANDLE callHandle, uint32_t cParms, VBOXHGCMSVCPARM paParms[]);
    10311031    int clientMsgSkip(uint32_t u32ClientID, VBOXHGCMCALLHANDLE callHandle, uint32_t cParms, VBOXHGCMSVCPARM paParms[]);
    1032     int cancelHostCmd(uint32_t u32ContextID);
    1033     int cancelPendingWaits(uint32_t u32ClientID, int rcPending);
    10341032    int hostCallback(uint32_t eFunction, uint32_t cParms, VBOXHGCMSVCPARM paParms[]);
    10351033    int hostProcessCommand(uint32_t eFunction, uint32_t cParms, VBOXHGCMSVCPARM paParms[]);
     
    11151113            bool fLast = RTListNodeIsLast(&mHostCmdList, &pCurCmd->Node);
    11161114
    1117             int rc2 = cancelHostCmd(pCurCmd->mContextID);
     1115            uint32_t cParms = 0;
     1116            VBOXHGCMSVCPARM arParms[2];
     1117            arParms[cParms++].setUInt32(pCurCmd->mContextID);
     1118
     1119            int rc2 = hostCallback(GUEST_DISCONNECTED, cParms, arParms);
    11181120            if (RT_FAILURE(rc2))
    11191121            {
     
    11411143
    11421144/**
    1143  * Either fills in parameters from a pending host command into our guest context or
    1144  * defer the guest call until we have something from the host.
     1145 * A client asks for the next message to process.
     1146 *
     1147 * This either fills in a pending host command into the client's parameter space
     1148 * or defers the guest call until we have something from the host.
    11451149 *
    11461150 * @return  IPRT status code.
     
    11501154 * @param   paParms                     Array of parameters.
    11511155 */
    1152 int Service::clientGetCommand(uint32_t u32ClientID, VBOXHGCMCALLHANDLE callHandle,
    1153                               uint32_t cParms, VBOXHGCMSVCPARM paParms[])
     1156int Service::clientMsgGet(uint32_t u32ClientID, VBOXHGCMCALLHANDLE callHandle,
     1157                          uint32_t cParms, VBOXHGCMSVCPARM paParms[])
    11541158{
    11551159    /*
     
    11801184}
    11811185
    1182 int Service::clientSetMsgFilterSet(uint32_t u32ClientID, VBOXHGCMCALLHANDLE callHandle,
    1183                                    uint32_t cParms, VBOXHGCMSVCPARM paParms[])
     1186/**
     1187 * A client tells this service to set a message filter.
     1188 * That way a client only will get new messages which matches the filter.
     1189 *
     1190 * @return VBox status code.
     1191 * @param  u32ClientID                  The client's ID.
     1192 * @param  callHandle                   The client's call handle.
     1193 * @param  cParms                       Number of parameters.
     1194 * @param  paParms                      Array of parameters.
     1195 */
     1196int Service::clientMsgFilterSet(uint32_t u32ClientID, VBOXHGCMCALLHANDLE callHandle,
     1197                                uint32_t cParms, VBOXHGCMSVCPARM paParms[])
    11841198{
    11851199    RT_NOREF(callHandle);
     
    12311245}
    12321246
    1233 int Service::clientSetMsgFilterUnset(uint32_t u32ClientID, VBOXHGCMCALLHANDLE callHandle,
    1234                                      uint32_t cParms, VBOXHGCMSVCPARM paParms[])
     1247/**
     1248 * A client tells this service to unset (clear) its message filter.
     1249 *
     1250 * @return VBox status code.
     1251 * @param  u32ClientID                  The client's ID.
     1252 * @param  callHandle                   The client's call handle.
     1253 * @param  cParms                       Number of parameters.
     1254 * @param  paParms                      Array of parameters.
     1255 */
     1256int Service::clientMsgFilterUnset(uint32_t u32ClientID, VBOXHGCMCALLHANDLE callHandle,
     1257                                  uint32_t cParms, VBOXHGCMSVCPARM paParms[])
    12351258{
    12361259    RT_NOREF(callHandle, paParms);
     
    13131336
    13141337/**
    1315  * Cancels a buffered host command to unblock waiting on Main side
    1316  * via callbacks.
    1317  *
    1318  * @return  IPRT status code.
    1319  * @param   u32ContextID                Context ID of host command to cancel.
    1320  */
    1321 int Service::cancelHostCmd(uint32_t u32ContextID)
    1322 {
    1323     Assert(mpfnHostCallback);
    1324 
    1325     LogFlowFunc(("Cancelling CID=%u ...\n", u32ContextID));
    1326 
    1327     uint32_t cParms = 0;
    1328     VBOXHGCMSVCPARM arParms[2];
    1329     arParms[cParms++].setUInt32(u32ContextID);
    1330 
    1331     return hostCallback(GUEST_DISCONNECTED, cParms, arParms);
    1332 }
    1333 
    1334 /**
    1335  * Client asks itself (in another thread) to cancel all pending waits which are blocking the client
    1336  * from shutting down / doing something else.
    1337  *
    1338  * @return  IPRT status code.
    1339  * @param   u32ClientID                 The client's ID.
    1340  * @param   rcPending                   Result code for completing pending operation.
    1341  */
    1342 int Service::cancelPendingWaits(uint32_t u32ClientID, int rcPending)
    1343 {
    1344     ClientStateMapIter itClientState = mClientStateMap.find(u32ClientID);
    1345     if (itClientState != mClientStateMap.end())
    1346         return itClientState->second.CancelWaiting(rcPending);
    1347 
    1348     return VINF_SUCCESS;
    1349 }
    1350 
    1351 /**
    13521338 * Notifies the host (using low-level HGCM callbacks) about an event
    13531339 * which was sent from the client.
     
    13671353    {
    13681354        VBOXGUESTCTRLHOSTCALLBACK data(cParms, paParms);
    1369         rc = mpfnHostCallback(mpvHostData, eFunction,
    1370                               (void *)(&data), sizeof(data));
     1355        rc = mpfnHostCallback(mpvHostData, eFunction, (void *)(&data), sizeof(data));
    13711356    }
    13721357    else
     
    14801465        {
    14811466            LogFlowFunc(("[Client %RU32] GUEST_MSG_GET\n", u32ClientID));
    1482             rc = clientGetCommand(u32ClientID, callHandle, cParms, paParms);
     1467            rc = clientMsgGet(u32ClientID, callHandle, cParms, paParms);
    14831468        }
    14841469        else
     
    14921477                 */
    14931478                case GUEST_CANCEL_PENDING_WAITS:
     1479                {
    14941480                    LogFlowFunc(("[Client %RU32] GUEST_CANCEL_PENDING_WAITS\n", u32ClientID));
    1495                     rc = cancelPendingWaits(u32ClientID, VINF_SUCCESS /* Pending result */);
     1481                    ClientStateMapIter itClientState = mClientStateMap.find(u32ClientID);
     1482                    if (itClientState != mClientStateMap.end())
     1483                        rc = itClientState->second.CancelWaiting(VINF_SUCCESS /* Pending result */);
    14961484                    break;
     1485                }
    14971486
    14981487                /*
     
    15021491                case GUEST_MSG_FILTER_SET:
    15031492                    LogFlowFunc(("[Client %RU32] GUEST_MSG_FILTER_SET\n", u32ClientID));
    1504                     rc = clientSetMsgFilterSet(u32ClientID, callHandle, cParms, paParms);
     1493                    rc = clientMsgFilterSet(u32ClientID, callHandle, cParms, paParms);
    15051494                    break;
    15061495
     
    15101499                case GUEST_MSG_FILTER_UNSET:
    15111500                    LogFlowFunc(("[Client %RU32] GUEST_MSG_FILTER_UNSET\n", u32ClientID));
    1512                     rc = clientSetMsgFilterUnset(u32ClientID, callHandle, cParms, paParms);
     1501                    rc = clientMsgFilterUnset(u32ClientID, callHandle, cParms, paParms);
    15131502                    break;
    15141503
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