VirtualBox

Ignore:
Timestamp:
Dec 2, 2022 3:37:16 PM (2 years ago)
Author:
vboxsync
Message:

DnD/Host service: Added DumpQueue() for debug builds, and also make use of DnDGuestMsgToStr() + DnDHostMsgToStr().

Location:
trunk/src/VBox/HostServices/DragAndDrop
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostServices/DragAndDrop/VBoxDragAndDropSvc.cpp

    r96407 r97731  
    427427{
    428428    RT_NOREF1(pvClient);
    429     LogFlowFunc(("idClient=%RU32, u32Function=%RU32, cParms=%RU32\n", idClient, u32Function, cParms));
     429    LogFlowFunc(("idClient=%RU32, u32Function=%s (%#x), cParms=%RU32\n",
     430                 idClient, DnDGuestMsgToStr(u32Function), u32Function, cParms));
    430431
    431432    /* Check if we've the right mode set. */
     
    439440            else
    440441            {
    441                 LogFlowFunc(("DnD disabled, deferring request\n"));
     442                LogRel(("DnD: Feature is disabled, ignoring request from guest\n"));
    442443                rc = VINF_HGCM_ASYNC_EXECUTE;
    443444            }
     
    471472                rc = VINF_SUCCESS;
    472473            else
    473                 LogFlowFunc(("Host -> Guest DnD mode disabled, failing request\n"));
     474                LogRel(("DnD: Host -> Guest mode disabled, ignoring request from guest\n"));
    474475            break;
    475476        }
     
    489490            else
    490491#endif
    491                 LogFlowFunc(("Guest -> Host DnD mode disabled, failing request\n"));
     492                LogRel(("DnD: Guest -> Host mode disabled, ignoring request from guest\n"));
    492493            break;
    493494        }
     
    565566            case GUEST_DND_FN_GET_NEXT_HOST_MSG:
    566567            {
    567                 LogFlowFunc(("GUEST_DND_FN_GET_NEXT_HOST_MSG\n"));
    568568                if (cParms == 3)
    569569                {
     
    612612            case GUEST_DND_FN_CONNECT:
    613613            {
    614                 LogFlowFunc(("GUEST_DND_FN_CONNECT\n"));
    615 
    616614                ASSERT_GUEST_BREAK(cParms >= 2);
    617615
     
    648646            case GUEST_DND_FN_REPORT_FEATURES:
    649647            {
    650                 LogFlowFunc(("GUEST_DND_FN_REPORT_FEATURES\n"));
    651648                rc = clientReportFeatures(pClient, cParms, paParms);
    652649                if (RT_SUCCESS(rc))
     
    667664            case GUEST_DND_FN_QUERY_FEATURES:
    668665            {
    669                 LogFlowFunc(("GUEST_DND_FN_QUERY_FEATURES"));
    670666                rc = clientQueryFeatures(cParms, paParms);
    671667                break;
     
    673669            case GUEST_DND_FN_HG_ACK_OP:
    674670            {
    675                 LogFlowFunc(("GUEST_DND_FN_HG_ACK_OP\n"));
    676 
    677671                ASSERT_GUEST_BREAK(cParms >= 2);
    678672
     
    690684            case GUEST_DND_FN_HG_REQ_DATA:
    691685            {
    692                 LogFlowFunc(("GUEST_DND_FN_HG_REQ_DATA\n"));
    693 
    694686                VBOXDNDCBHGREQDATADATA data;
    695687                RT_ZERO(data);
     
    724716            case GUEST_DND_FN_HG_EVT_PROGRESS:
    725717            {
    726                 LogFlowFunc(("GUEST_DND_FN_HG_EVT_PROGRESS\n"));
    727 
    728718                ASSERT_GUEST_BREAK(cParms >= 3);
    729719
     
    746736            case GUEST_DND_FN_GH_ACK_PENDING:
    747737            {
    748                 LogFlowFunc(("GUEST_DND_FN_GH_ACK_PENDING\n"));
    749 
    750738                VBOXDNDCBGHACKPENDINGDATA data;
    751739                RT_ZERO(data);
     
    788776            case GUEST_DND_FN_GH_SND_DATA_HDR:
    789777            {
    790                 LogFlowFunc(("GUEST_DND_FN_GH_SND_DATA_HDR\n"));
    791 
    792778                ASSERT_GUEST_BREAK(cParms == 12);
    793779
     
    824810            case GUEST_DND_FN_GH_SND_DATA:
    825811            {
    826                 LogFlowFunc(("GUEST_DND_FN_GH_SND_DATA\n"));
    827 
    828812                switch (pClient->uProtocolVerDeprecated)
    829813                {
     
    849833
    850834                    case 2:
     835                        RT_FALL_THROUGH();
    851836                    default:
    852837                    {
     
    870855            case GUEST_DND_FN_GH_SND_DIR:
    871856            {
    872                 LogFlowFunc(("GUEST_DND_FN_GH_SND_DIR\n"));
    873 
    874857                ASSERT_GUEST_BREAK(cParms >= 3);
    875858
     
    891874            case GUEST_DND_FN_GH_SND_FILE_HDR:
    892875            {
    893                 LogFlowFunc(("GUEST_DND_FN_GH_SND_FILE_HDR\n"));
    894 
    895876                ASSERT_GUEST_BREAK(cParms == 6);
    896877
     
    915896            case GUEST_DND_FN_GH_SND_FILE_DATA:
    916897            {
    917                 LogFlowFunc(("GUEST_DND_FN_GH_SND_FILE_DATA\n"));
    918 
    919898                switch (pClient->uProtocolVerDeprecated)
    920899                {
     
    982961            case GUEST_DND_FN_GH_EVT_ERROR:
    983962            {
    984                 LogFlowFunc(("GUEST_DND_FN_GH_EVT_ERROR\n"));
    985 
    986963                ASSERT_GUEST_BREAK(cParms >= 1);
    987964
     
    1001978            default:
    1002979            {
     980                LogFlowFunc(("u32Function=%s (%#x), cParms=%RU32\n", DnDHostMsgToStr(u32Function), u32Function, cParms));
     981
    1003982                /* All other messages are handled by the DnD manager. */
    1004983                rc = m_pManager->GetNextMsg(u32Function, cParms, paParms);
     
    10821061                                 uint32_t cParms, VBOXHGCMSVCPARM paParms[]) RT_NOEXCEPT
    10831062{
    1084     LogFlowFunc(("u32Function=%RU32, cParms=%RU32, cClients=%zu, cQueue=%zu\n",
    1085                  u32Function, cParms, m_clientMap.size(), m_clientQueue.size()));
     1063    LogFlowFunc(("u32Function=%s (%#x), cParms=%RU32, cClients=%zu, cQueue=%zu\n",
     1064                 DnDHostMsgToStr(u32Function), u32Function, cParms, m_clientMap.size(), m_clientQueue.size()));
    10861065
    10871066    int rc;
     
    12161195            int rcNext = m_pManager->GetNextMsgInfo(&uMsgNext, &cParmsNext);
    12171196
    1218             LogFlowFunc(("uMsgClient=%RU32, uMsgNext=%RU32, cParmsNext=%RU32, rcNext=%Rrc\n",
    1219                          uMsgClient, uMsgNext, cParmsNext, rcNext));
     1197            LogFlowFunc(("uMsgClient=%s (%#x), uMsgNext=%s (%#x), cParmsNext=%RU32, rcNext=%Rrc\n",
     1198                         DnDGuestMsgToStr(uMsgClient), uMsgClient, DnDHostMsgToStr(uMsgNext), uMsgNext, cParmsNext, rcNext));
    12201199
    12211200            if (RT_SUCCESS(rcNext))
  • trunk/src/VBox/HostServices/DragAndDrop/dndmanager.cpp

    r96407 r97731  
    6060    AssertPtrReturn(pMsg, VERR_INVALID_POINTER);
    6161
    62     LogFlowFunc(("uMsg=%RU32, cParms=%RU32, fAppend=%RTbool\n", pMsg->GetType(), pMsg->GetParamCount(), fAppend));
     62    LogFlowFunc(("uMsg=%s (%#x), cParms=%RU32, fAppend=%RTbool\n",
     63                 DnDHostMsgToStr(pMsg->GetType()), pMsg->GetType(), pMsg->GetParamCount(), fAppend));
    6364
    6465    if (fAppend)
     
    6667    else
    6768        m_queueMsg.prepend(pMsg);
     69
     70#ifdef DEBUG
     71    DumpQueue();
     72#endif
    6873
    6974    /** @todo Catch / handle OOM? */
     
    99104}
    100105
     106#ifdef DEBUG
     107void DnDManager::DumpQueue(void)
     108{
     109    LogFunc(("Current queue (%zu items, FIFO) is: %s", m_queueMsg.size(), m_queueMsg.isEmpty() ? "<Empty>" : ""));
     110    for (size_t i = 0; i < m_queueMsg.size(); ++i)
     111        Log(("%s ", DnDHostMsgToStr(m_queueMsg[i]->GetType())));
     112    Log(("\n"));
     113}
     114#endif /* DEBUG */
     115
    101116/**
    102117 * Retrieves information about the next message in the queue.
     
    113128    int rc;
    114129
     130#ifdef DEBUG
     131    DumpQueue();
     132#endif
     133
    115134    if (m_queueMsg.isEmpty())
    116135    {
     
    128147    }
    129148
    130     LogFlowFunc(("Returning puMsg=%RU32, pcParms=%RU32, rc=%Rrc\n", *puType, *pcParms, rc));
     149    LogFlowFunc(("Returning uMsg=%s (%#x), cParms=%RU32, rc=%Rrc\n", DnDHostMsgToStr(*puType), *puType, *pcParms, rc));
    131150    return rc;
    132151}
     
    143162int DnDManager::GetNextMsg(uint32_t uMsg, uint32_t cParms, VBOXHGCMSVCPARM paParms[])
    144163{
    145     LogFlowFunc(("uMsg=%RU32, cParms=%RU32\n", uMsg, cParms));
     164    LogFlowFunc(("uMsg=%s (%#x), cParms=%RU32\n", DnDHostMsgToStr(uMsg), uMsg, cParms));
    146165
    147166    /* Check for pending messages in our queue. */
  • trunk/src/VBox/HostServices/DragAndDrop/dndmanager.h

    r96407 r97731  
    106106    int AddMsg(uint32_t uMsg, uint32_t cParms, VBOXHGCMSVCPARM paParms[], bool fAppend = true);
    107107
     108#ifdef DEBUG
     109    void DumpQueue();
     110#endif
     111
    108112    int GetNextMsgInfo(uint32_t *puType, uint32_t *pcParms);
    109113    int GetNextMsg(uint32_t uMsg, uint32_t cParms, VBOXHGCMSVCPARM paParms[]);
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