- Timestamp:
- Mar 28, 2025 7:34:05 PM (2 weeks ago)
- svn:sync-xref-src-repo-rev:
- 168222
- Location:
- trunk/src/VBox/Additions/x11/VBoxClient
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/x11/VBoxClient/wayland-helper-ipc.cpp
r106808 r108787 153 153 } 154 154 155 int vbcl::ipc::packet_read(uint32_t uSessionId, RTLOCALIPCSESSION hSession, void **ppvData)155 int vbcl::ipc::packet_read(uint32_t uSessionId, RTLOCALIPCSESSION hSession, uint32_t msTimeout, void **ppvData) 156 156 { 157 157 int rc; … … 161 161 AssertPtrReturn(ppvData, VERR_INVALID_PARAMETER); 162 162 163 rc = RTLocalIpcSessionWaitForData(hSession, VBOX_GTKIPC_RX_TIMEOUT_MS);163 rc = RTLocalIpcSessionWaitForData(hSession, msTimeout); 164 164 if (RT_SUCCESS(rc)) 165 165 { … … 285 285 SHCLFORMATS fFormats = VBOX_SHCL_FMT_NONE; 286 286 287 rc = vbcl::ipc::packet_read(uSessionId, hIpcSession, (void **)&pPacket);287 rc = vbcl::ipc::packet_read(uSessionId, hIpcSession, m_fFmts.timeout(), (void **)&pPacket); 288 288 if (RT_SUCCESS(rc)) 289 289 { … … 342 342 SHCLFORMATS uFormat = VBOX_SHCL_FMT_NONE; 343 343 344 rc = vbcl::ipc::packet_read(uSessionId, hIpcSession, (void **)&pPacket);344 rc = vbcl::ipc::packet_read(uSessionId, hIpcSession, m_uFmt.timeout(), (void **)&pPacket); 345 345 if (RT_SUCCESS(rc)) 346 346 { … … 409 409 uint32_t cbData = 0; 410 410 411 rc = vbcl::ipc::packet_read(uSessionId, hIpcSession, (void **)&pPacket);411 rc = vbcl::ipc::packet_read(uSessionId, hIpcSession, m_pvDataBuf.timeout(), (void **)&pPacket); 412 412 if (RT_SUCCESS(rc)) 413 413 { -
trunk/src/VBox/Additions/x11/VBoxClient/wayland-helper-ipc.h
r106808 r108787 63 63 /** IPC server socket name prefixes. */ 64 64 #define VBOXWL_SRV_NAME_PREFIX_CLIP "clip" 65 #define VBOXWL_SRV_NAME_PREFIX_DND "dnd" 65 66 66 67 /** Arguments to vboxwl tool. */ … … 68 69 #define VBOXWL_ARG_CLIP_GH_ANNOUNCE "--clip-gh-announce" 69 70 #define VBOXWL_ARG_CLIP_GH_COPY "--clip-gh-copy" 71 #define VBOXWL_ARG_DND_GH "--dnd-gh" 72 #define VBOXWL_ARG_DND_HG "--dnd-hg" 70 73 #define VBOXWL_ARG_SESSION_ID "--session-id" 71 74 … … 147 150 * @param uSessionId IPC session ID. 148 151 * @param hSession IPC session handle. 152 * @param mcTimeout Read operation timeout in milliseconds. 149 153 * @param ppvData Output buffer structured as validated 150 154 * IPC packet (contains size inside). 151 155 */ 152 int packet_read(uint32_t uSessionId, RTLOCALIPCSESSION hSession, void **ppvData);156 int packet_read(uint32_t uSessionId, RTLOCALIPCSESSION hSession, uint32_t msTimeout, void **ppvData); 153 157 154 158 /** … … 195 199 */ 196 200 197 /** IPC flow description : Copy clipboard from host to guest. */201 /** IPC flow description (clipboard): Copy clipboard from host to guest. */ 198 202 const flow_t HGCopyFlow[4] = 199 203 { … … 204 208 }; 205 209 206 /** IPC flow description : Copy clipboard from guest to host. */210 /** IPC flow description (clipboard): Copy clipboard from guest to host. */ 207 211 const flow_t GHCopyFlow[3] = 208 212 { … … 212 216 }; 213 217 214 /** IPC flow description : Announce guest's clipboard to the host218 /** IPC flow description (clipboard): Announce guest's clipboard to the host 215 219 * and copy it to the host in format selected by host. */ 216 220 const flow_t GHAnnounceAndCopyFlow[4] = … … 219 223 { VBOX_FORMAT, FLOW_DIRECTION_CLIENT }, 220 224 { VBOX_DATA, FLOW_DIRECTION_SERVER }, 225 { CMD_MAX, false } 226 }; 227 228 /** IPC flow description (DnD): DnD operation started inside guest and 229 * guest reports DnD content mime-type list. Host side picks up one 230 * of the formats and requests data in this format. Guest sends 231 * data in requested format. */ 232 const flow_t GHDragFlow[4] = 233 { 234 { VBOX_FORMATS, FLOW_DIRECTION_SERVER }, 235 { VBOX_FORMAT, FLOW_DIRECTION_CLIENT }, 236 { VBOX_DATA, FLOW_DIRECTION_SERVER }, 237 { CMD_MAX, false } 238 }; 239 240 /** IPC flow description (DnD): DnD operation started on host and 241 * host reports DnD content mime-type list. Guest side picks up one 242 * of the formats and requests data in this format. Host sends 243 * data in requested format. */ 244 const flow_t HGDragFlow[4] = 245 { 246 { VBOX_FORMATS, FLOW_DIRECTION_CLIENT }, 247 { VBOX_FORMAT, FLOW_DIRECTION_SERVER }, 248 { VBOX_DATA, FLOW_DIRECTION_CLIENT }, 221 249 { CMD_MAX, false } 222 250 };
Note:
See TracChangeset
for help on using the changeset viewer.