VirtualBox

Changeset 86959 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Nov 23, 2020 11:25:53 AM (4 years ago)
Author:
vboxsync
Message:

Shared Clipboard: Convert VBox clipboard formats to strings to improve logging.

Location:
trunk/src/VBox
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/GuestHost/SharedClipboard/clipboard-common.cpp

    r86889 r86959  
    11281128    return "Unknown";
    11291129}
     1130
     1131/**
     1132 * Converts Shared Clipboard formats to a string.
     1133 *
     1134 * @returns Stringified Shared Clipboard formats, or NULL on failure. Must be free'd with RTStrFree().
     1135 * @param   fFormats            Shared Clipboard formats to convert.
     1136 *
     1137 */
     1138char *ShClFormatsToStrA(SHCLFORMATS fFormats)
     1139{
     1140#define APPEND_FMT_TO_STR(_aFmt)                \
     1141    if (fFormats & VBOX_SHCL_FMT_##_aFmt)       \
     1142    {                                           \
     1143        if (pszFmts)                            \
     1144        {                                       \
     1145            rc2 = RTStrAAppend(&pszFmts, ", "); \
     1146            if (RT_FAILURE(rc2))                \
     1147                break;                          \
     1148        }                                       \
     1149                                                \
     1150        rc2 = RTStrAAppend(&pszFmts, #_aFmt);   \
     1151        if (RT_FAILURE(rc2))                    \
     1152            break;                              \
     1153    }
     1154
     1155    char *pszFmts = NULL;
     1156    int rc2 = VINF_SUCCESS;
     1157
     1158    do
     1159    {
     1160        APPEND_FMT_TO_STR(UNICODETEXT);
     1161        APPEND_FMT_TO_STR(BITMAP);
     1162        APPEND_FMT_TO_STR(HTML);
     1163# ifdef VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS
     1164        APPEND_FMT_TO_STR(URI_LIST);
     1165# endif
     1166
     1167    } while (0);
     1168
     1169    if (!pszFmts)
     1170        rc2 = RTStrAAppend(&pszFmts, "NONE");
     1171
     1172    if (   RT_FAILURE(rc2)
     1173        && pszFmts)
     1174    {
     1175        RTStrFree(pszFmts);
     1176        pszFmts = NULL;
     1177    }
     1178
     1179#undef APPEND_FMT_TO_STR
     1180
     1181    return pszFmts;
     1182}
     1183
  • trunk/src/VBox/GuestHost/SharedClipboard/clipboard-x11.cpp

    r86737 r86959  
    4848#include <X11/StringDefs.h>
    4949
     50#include <iprt/assert.h>
    5051#include <iprt/types.h>
    5152#include <iprt/mem.h>
     
    444445    LogFlow((" -> vboxFmt=%#x\n", vboxFmt));
    445446
    446     LogRel2(("Shared Clipboard: X11 reported available VBox formats: %#x\n", vboxFmt));
     447#ifdef LOG_ENABLED
     448    char *pszFmts = ShClFormatsToStrA(vboxFmt);
     449    AssertPtrReturnVoid(pszFmts);
     450    LogRel2(("Shared Clipboard: X11 reported available VBox formats '%s'\n", pszFmts));
     451    RTStrFree(pszFmts);
     452#endif
    447453
    448454    ShClX11ReportFormatsCallback(pCtx->pFrontend, vboxFmt);
     
    15851591                 pCtx->vboxFormats, idxFmtX11, g_aFormats[idxFmtX11].pcszAtom, fmtX11));
    15861592
    1587     LogRel2(("Shared Clipboard: Converting VBox formats %#x to '%s' for X11\n",
    1588              pCtx->vboxFormats, g_aFormats[idxFmtX11].pcszAtom));
     1593#ifdef LOG_ENABLED
     1594    char *pszFmts = ShClFormatsToStrA(pCtx->vboxFormats);
     1595    AssertPtrReturn(pszFmts, VERR_NO_MEMORY);
     1596    LogRel2(("Shared Clipboard: Converting VBox formats '%s' to '%s' for X11\n",
     1597             pszFmts, g_aFormats[idxFmtX11].pcszAtom));
     1598    RTStrFree(pszFmts);
     1599#endif
    15891600
    15901601    if (   ((fmtX11 == SHCLX11FMT_UTF8) || (fmtX11 == SHCLX11FMT_TEXT))
     
    16961707
    16971708    if (RT_FAILURE(rc))
    1698         LogRel(("Shared Clipboard: Converting VBox formats %#x to '%s' for X11 (idxFmtX11=%u, fmtX11=%u) failed, rc=%Rrc\n",
    1699                 pCtx->vboxFormats, g_aFormats[idxFmtX11].pcszAtom, idxFmtX11, fmtX11, rc));
     1709    {
     1710        char *pszFmts2 = ShClFormatsToStrA(pCtx->vboxFormats);
     1711        AssertPtrReturn(pszFmts2, VERR_NO_MEMORY);
     1712        LogRel(("Shared Clipboard: Converting VBox formats '%s' to '%s' for X11 (idxFmtX11=%u, fmtX11=%u) failed, rc=%Rrc\n",
     1713                pszFmts2, g_aFormats[idxFmtX11].pcszAtom, idxFmtX11, fmtX11, rc));
     1714        RTStrFree(pszFmts2);
     1715    }
    17001716
    17011717    LogFlowFuncLeaveRC(rc);
  • trunk/src/VBox/HostServices/SharedClipboard/VBoxSharedClipboardSvc.cpp

    r86912 r86959  
    12131213        fFormats &= ~fFormat;
    12141214
     1215#ifdef LOG_ENABLED
     1216        char *pszFmt = ShClFormatsToStrA(fFormat);
     1217        AssertPtrReturn(pszFmt, VERR_NO_MEMORY);
     1218        LogRel2(("Shared Clipboard: Requesting guest clipboard data in format '%s'\n", pszFmt));
     1219        RTStrFree(pszFmt);
     1220#endif
    12151221        /*
    12161222         * Allocate messages, one for each format.
     
    13891395    if (!(g_fTransferMode & VBOX_SHCL_TRANSFER_MODE_ENABLED))
    13901396    {
    1391         LogFlowFunc(("fFormats=%#x -> %#x\n", fFormats, fFormats & ~VBOX_SHCL_FMT_URI_LIST));
    13921397        fFormats &= ~VBOX_SHCL_FMT_URI_LIST;
    13931398    }
     1399    else
     1400        LogRel2(("Shared Clipboard: Warning: File transfers are disabled, ignoring\n"));
    13941401#endif
    1395     LogRel2(("Shared Clipboard: Reporting formats %#x to guest\n", fFormats));
     1402
     1403#ifdef LOG_ENABLED
     1404    char *pszFmts = ShClFormatsToStrA(fFormats);
     1405    AssertPtrReturn(pszFmts, VERR_NO_MEMORY);
     1406    LogRel2(("Shared Clipboard: Reporting formats '%s' to guest\n", pszFmts));
     1407    RTStrFree(pszFmts);
     1408#endif
    13961409
    13971410    /*
     
    15081521            else
    15091522            {
     1523#ifdef LOG_ENABLED
     1524                char *pszFmts = ShClFormatsToStrA(fFormats);
     1525                AssertPtrReturn(pszFmts, VERR_NO_MEMORY);
     1526                LogRel2(("Shared Clipboard: Guest reported formats '%s' to host\n", pszFmts));
     1527                RTStrFree(pszFmts);
     1528#endif
    15101529                rc = ShClBackendFormatAnnounce(pClient, fFormats);
    15111530                if (RT_FAILURE(rc))
     
    16061625    }
    16071626
    1608     LogRel2(("Shared Clipboard: Guest wants to read %RU32 bytes host clipboard data in format %RU32\n", cbData, uFormat));
     1627#ifdef LOG_ENABLED
     1628    char *pszFmt = ShClFormatsToStrA(uFormat);
     1629    AssertPtrReturn(pszFmt, VERR_NO_MEMORY);
     1630    LogRel2(("Shared Clipboard: Guest wants to read %RU32 bytes host clipboard data in format '%s'\n", cbData, pszFmt));
     1631    RTStrFree(pszFmt);
     1632#endif
    16091633
    16101634    /*
     
    17961820    }
    17971821
    1798     LogRel2(("Shared Clipboard: Guest writes %RU32 bytes clipboard data in format %RU32 to host\n", cbData, uFormat));
     1822#ifdef LOG_ENABLED
     1823    char *pszFmt = ShClFormatsToStrA(uFormat);
     1824    AssertPtrReturn(pszFmt, VERR_NO_MEMORY);
     1825    LogRel2(("Shared Clipboard: Guest writes %RU32 bytes clipboard data in format '%s' to host\n", cbData, pszFmt));
     1826    RTStrFree(pszFmt);
     1827#endif
    17991828
    18001829    /*
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