- Timestamp:
- Jun 25, 2007 3:27:23 PM (18 years ago)
- Location:
- trunk/src/VBox/Main
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/ConsoleImpl.cpp
r3191 r3278 302 302 AssertReturn (mConsoleVRDPServer, E_FAIL); 303 303 304 #ifdef VRDP_MC305 304 mcAudioRefs = 0; 306 305 mcVRDPClients = 0; 307 #endif /* VRDP_MC */308 306 309 307 unconst (mVMMDev) = new VMMDev(this); … … 443 441 } 444 442 445 #ifdef VRDP_MC446 443 DECLCALLBACK(int) Console::vrdp_ClientLogon (void *pvUser, 447 444 uint32_t u32ClientId, … … 449 446 const char *pszPassword, 450 447 const char *pszDomain) 451 #else452 DECLCALLBACK(int) Console::vrdp_ClientLogon (void *pvUser, const char *pszUser,453 const char *pszPassword,454 const char *pszDomain)455 #endif /* VRDP_MC */456 448 { 457 449 LogFlowFuncEnter(); 458 #ifdef VRDP_MC459 450 LogFlowFunc (("%d, %s, %s, %s\n", u32ClientId, pszUser, pszPassword, pszDomain)); 460 #else461 uint32_t u32ClientId = 0;462 LogFlowFunc (("%s, %s, %s\n", pszUser, pszPassword, pszDomain));463 #endif /* VRDP_MC */464 451 465 452 Console *console = static_cast <Console *> (pvUser); … … 630 617 } 631 618 632 #ifdef VRDP_MC633 619 DECLCALLBACK(void) Console::vrdp_ClientConnect (void *pvUser, 634 620 uint32_t u32ClientId) 635 #else636 DECLCALLBACK(void) Console::vrdp_ClientConnect (void *pvUser,637 uint32_t fu32SupportedOrders)638 #endif /* VRDP_MC */639 621 { 640 622 LogFlowFuncEnter(); … … 647 629 648 630 #ifdef VBOX_VRDP 649 #ifdef VRDP_MC650 631 ASMAtomicIncU32(&console->mcVRDPClients); 651 632 652 633 NOREF(u32ClientId); 653 634 console->mDisplay->VideoAccelVRDP (true); 654 #else655 console->mDisplay->VideoAccelVRDP (true, fu32SupportedOrders);656 #endif /* VRDP_MC */657 635 #endif /* VBOX_VRDP */ 658 636 … … 661 639 } 662 640 663 #ifdef VRDP_MC664 641 DECLCALLBACK(void) Console::vrdp_ClientDisconnect (void *pvUser, 665 642 uint32_t u32ClientId, 666 643 uint32_t fu32Intercepted) 667 #else668 DECLCALLBACK(void) Console::vrdp_ClientDisconnect (void *pvUser)669 #endif /* VRDP_MC */670 644 { 671 645 LogFlowFuncEnter(); … … 680 654 681 655 #ifdef VBOX_VRDP 682 #ifdef VRDP_MC683 656 ASMAtomicDecU32(&console->mcVRDPClients); 684 657 685 658 console->mDisplay->VideoAccelVRDP (false); 686 #else687 u32ClientId = 0;688 console->mDisplay->VideoAccelVRDP (false, 0);689 #endif /* VRDP_MC */690 659 #endif /* VBOX_VRDP */ 691 660 692 #ifdef VRDP_MC693 661 if (fu32Intercepted & VRDP_CLIENT_INTERCEPT_USB) 694 662 { 695 663 console->mConsoleVRDPServer->USBBackendDelete (u32ClientId); 696 664 } 697 #else698 console->mConsoleVRDPServer->DeleteUSBBackend ();699 #endif /* VRDP_MC */700 665 701 666 #ifdef VBOX_VRDP 702 #ifdef VRDP_MC703 667 if (fu32Intercepted & VRDP_CLIENT_INTERCEPT_CLIPBOARD) 704 668 { … … 722 686 } 723 687 } 724 #else725 if (console->mAudioSniffer)726 {727 PPDMIAUDIOSNIFFERPORT port = console->mAudioSniffer->getAudioSnifferPort();728 if (port)729 {730 port->pfnSetup (port, false, false);731 }732 }733 #endif /* VRDP_MC */734 688 #endif /* VBOX_VRDP */ 735 689 … … 749 703 } 750 704 751 #ifdef VRDP_MC752 705 DECLCALLBACK(void) Console::vrdp_InterceptAudio (void *pvUser, 753 706 uint32_t u32ClientId) 754 #else755 DECLCALLBACK(void) Console::vrdp_InterceptAudio (void *pvUser, bool fKeepHostAudio)756 #endif /* VRDP_MC */757 707 { 758 708 LogFlowFuncEnter(); … … 764 714 AssertComRCReturnVoid (autoCaller.rc()); 765 715 766 #ifdef VRDP_MC767 716 LogFlowFunc (("mAudioSniffer %p, u32ClientId %d.\n", 768 717 console->mAudioSniffer, u32ClientId)); 769 718 NOREF(u32ClientId); 770 #else771 LogFlowFunc (("mAudioSniffer %p, keepHostAudio %d.\n",772 console->mAudioSniffer, fKeepHostAudio));773 #endif /* VRDP_MC */774 719 775 720 #ifdef VBOX_VRDP 776 #ifdef VRDP_MC777 721 console->mcAudioRefs++; 778 722 … … 788 732 } 789 733 } 790 #else791 if (console->mAudioSniffer)792 {793 PPDMIAUDIOSNIFFERPORT port = console->mAudioSniffer->getAudioSnifferPort();794 if (port)795 {796 port->pfnSetup (port, true, !!fKeepHostAudio);797 }798 }799 #endif /* VRDP_MC */800 734 #endif 801 735 … … 804 738 } 805 739 806 #ifdef VRDP_MC807 740 DECLCALLBACK(void) Console::vrdp_InterceptUSB (void *pvUser, 808 741 uint32_t u32ClientId, 809 742 PFNVRDPUSBCALLBACK *ppfn, 810 743 void **ppv) 811 #else812 DECLCALLBACK(void) Console::vrdp_InterceptUSB (void *pvUser, PFNVRDPUSBCALLBACK *ppfn, void **ppv)813 #endif /* VRDP_MC */814 744 { 815 745 LogFlowFuncEnter(); … … 823 753 AssertReturnVoid (console->mConsoleVRDPServer); 824 754 825 #ifdef VRDP_MC826 755 console->mConsoleVRDPServer->USBBackendCreate (u32ClientId, ppfn, ppv); 827 #else828 console->mConsoleVRDPServer->CreateUSBBackend (ppfn, ppv);829 #endif /* VRDP_MC */830 756 831 757 LogFlowFuncLeave(); … … 833 759 } 834 760 835 #ifdef VRDP_MC836 761 DECLCALLBACK(void) Console::vrdp_InterceptClipboard (void *pvUser, 837 762 uint32_t u32ClientId, … … 856 781 return; 857 782 } 858 #else859 DECLCALLBACK(void) Console::vrdp_InterceptClipboard (void *pvUser,860 PFNVRDPCLIPBOARDCALLBACK *ppfn,861 void **ppv)862 {863 /* Obsolete. */864 return;865 }866 #endif /* VRDP_MC */867 783 868 784 … … 4229 4145 ComAssertComRCRetRC (hrc); 4230 4146 4231 #ifndef VRDP_MC4232 if (fRemote)4233 {4234 pvRemote = mConsoleVRDPServer->GetUSBBackendPointer ();4235 ComAssertRet (pvRemote, E_FAIL);4236 }4237 #endif /* !VRDP_MC */4238 4239 4147 /* protect mpVM */ 4240 4148 AutoVMCaller autoVMCaller (this); … … 4306 4214 AssertReturn (that && aConfig && aUuid, VERR_INVALID_PARAMETER); 4307 4215 4308 #ifdef VRDP_MC4309 4216 if (aRemote) 4310 4217 { … … 4324 4231 } 4325 4232 } 4326 #endif /* VRDP_MC */4327 4233 4328 4234 int vrc = aConfig->pfnCreateProxyDevice (aConfig, aUuid, aRemote, aAddress, … … 4419 4325 AssertReturn (that && aConfig && aUuid, VERR_INVALID_PARAMETER); 4420 4326 4421 #ifdef VRDP_MC4422 4327 /* 4423 4328 * If that was a remote device, release the backend pointer. … … 4434 4339 that->consoleVRDPServer ()->USBBackendReleasePointer (&guid); 4435 4340 } 4436 #endif /* VRDP_MC */4437 4341 4438 4342 int vrc = aConfig->pfnDestroyProxyDevice (aConfig, aUuid); … … 6313 6217 * @note Locks this object for writing. 6314 6218 */ 6315 #ifdef VRDP_MC6316 6219 void Console::processRemoteUSBDevices (uint32_t u32ClientId, VRDPUSBDEVICEDESC *pDevList, uint32_t cbDevList) 6317 #else6318 void Console::processRemoteUSBDevices (VRDPUSBDEVICEDESC *pDevList, uint32_t cbDevList)6319 #endif /* VRDP_MC */6320 6220 { 6321 6221 LogFlowThisFuncEnter(); 6322 #ifdef VRDP_MC6323 6222 LogFlowThisFunc (("u32ClientId = %d, pDevList=%p, cbDevList = %d\n", u32ClientId, pDevList, cbDevList)); 6324 #else6325 LogFlowThisFunc (("pDevList=%p, cbDevList = %d\n", pDevList, cbDevList));6326 #endif /* VRDP_MC */6327 6223 6328 6224 AutoCaller autoCaller (this); … … 6369 6265 while (it != mRemoteUSBDevices.end()) 6370 6266 { 6371 #ifdef VRDP_MC6372 6267 if ((*it)->devId () == e->id 6373 6268 && (*it)->clientId () == u32ClientId) 6374 #else6375 if ((*it)->devId () == e->id)6376 #endif /* VRDP_MC */6377 6269 { 6378 6270 /* The device is already in the list. */ … … 6394 6286 ComObjPtr <RemoteUSBDevice> device; 6395 6287 device.createObject(); 6396 #ifdef VRDP_MC6397 6288 device->init (u32ClientId, e); 6398 #else6399 device->init (e);6400 #endif /* VRDP_MC */6401 6289 6402 6290 mRemoteUSBDevices.push_back (device); -
trunk/src/VBox/Main/ConsoleVRDPServer.cpp
r3153 r3278 45 45 void (VBOXCALL *ConsoleVRDPServer::mpfnVRDPSendAudioSamples)(HVRDPSERVER hserver, void *pvSamples, uint32_t cSamples, VRDPAUDIOFORMAT format); 46 46 void (VBOXCALL *ConsoleVRDPServer::mpfnVRDPSendAudioVolume) (HVRDPSERVER hserver, uint16_t left, uint16_t right); 47 #ifdef VRDP_MC48 47 void (VBOXCALL *ConsoleVRDPServer::mpfnVRDPSendUSBRequest) (HVRDPSERVER hserver, uint32_t u32ClientId, void *pvParms, uint32_t cbParms); 49 #else50 void (VBOXCALL *ConsoleVRDPServer::mpfnVRDPSendUSBRequest) (HVRDPSERVER hserver, void *pvParms, uint32_t cbParms);51 #endif /* VRDP_MC */52 48 void (VBOXCALL *ConsoleVRDPServer::mpfnVRDPSendUpdate) (HVRDPSERVER hServer, unsigned uScreenId, void *pvUpdate, uint32_t cbUpdate); 53 49 void (VBOXCALL *ConsoleVRDPServer::mpfnVRDPQueryInfo) (HVRDPSERVER hserver, uint32_t index, void *pvBuffer, uint32_t cbBuffer, uint32_t *pcbOut); … … 59 55 mConsole = console; 60 56 61 #ifdef VRDP_MC62 57 int rc = RTCritSectInit (&mCritSect); 63 58 AssertRC (rc); … … 74 69 mUSBBackends.event = 0; 75 70 #endif 76 #else77 #ifdef VBOX_WITH_USB78 mRemoteUSBBackend = NULL;79 #endif80 #endif /* VRDP_MC */81 71 82 72 #ifdef VBOX_VRDP … … 89 79 ConsoleVRDPServer::~ConsoleVRDPServer () 90 80 { 91 #ifdef VRDP_MC92 81 Stop (); 93 82 … … 97 86 memset (&mCritSect, 0, sizeof (mCritSect)); 98 87 } 99 #else100 #ifdef VBOX_VRDP101 Stop ();102 /* No unloading of anything because we might still have live object around. */103 #endif104 #endif /* VRDP_MC */105 88 } 106 89 … … 125 108 if (VBOX_SUCCESS(rc)) 126 109 { 127 #ifndef VRDP_MC128 LogFlow(("VRDP server created: %p, will set mFramebuffer\n", mhServer));129 130 IFramebuffer *framebuffer = mConsole->getDisplay()->getFramebuffer();131 132 mpfnVRDPSetFramebuffer (mhServer, framebuffer,133 framebuffer? VRDP_EXTERNAL_FRAMEBUFFER: VRDP_INTERNAL_FRAMEBUFFER);134 135 LogFlow(("Framebuffer %p set for the VRDP server\n", framebuffer));136 #endif /* !VRDP_MC */137 110 #ifdef VBOX_WITH_USB 138 #ifdef VRDP_MC139 111 remoteUSBThreadStart (); 140 #endif /* VRDP_MC */141 112 #endif /* VBOX_WITH_USB */ 142 113 } … … 178 149 179 150 #ifdef VBOX_WITH_USB 180 #ifdef VRDP_MC181 151 remoteUSBThreadStop (); 182 #else183 /* Delete the USB backend object if it was not deleted properly. */184 if (mRemoteUSBBackend)185 {186 Log(("ConsoleVRDPServer::Stop: deleting USB backend\n"));187 188 mRemoteUSBBackend->ReleaseUSB ();189 delete mRemoteUSBBackend;190 mRemoteUSBBackend = NULL;191 }192 #endif /* VRDP_MC */193 152 #endif /* VBOX_WITH_USB */ 194 153 … … 203 162 } 204 163 205 #ifdef VRDP_MC206 164 /* Worker thread for Remote USB. The thread polls the clients for 207 165 * the list of attached USB devices. … … 248 206 void ConsoleVRDPServer::notifyRemoteUSBThreadRunning (RTTHREAD thread) 249 207 { 250 #ifdef VBOX_WITH_USB251 208 mUSBBackends.thread = thread; 252 209 mUSBBackends.fThreadRunning = true; 253 210 int rc = RTThreadUserSignal (thread); 254 211 AssertRC (rc); 255 #endif256 212 } 257 213 … … 321 277 } 322 278 #endif /* VBOX_WITH_USB */ 323 #endif /* VRDP_MC */324 279 325 280 VRDPAuthResult ConsoleVRDPServer::Authenticate (const Guid &uuid, VRDPAuthGuestJudgement guestJudgement, … … 448 403 } 449 404 450 #ifdef VRDP_MC451 405 int ConsoleVRDPServer::lockConsoleVRDPServer (void) 452 406 { … … 876 830 #endif 877 831 } 878 #else // VRDP_MC879 void ConsoleVRDPServer::CreateUSBBackend (PFNVRDPUSBCALLBACK *ppfn, void **ppv)880 {881 #ifdef VBOX_WITH_USB882 Assert(mRemoteUSBBackend == NULL);883 884 mRemoteUSBBackend = new RemoteUSBBackend (mConsole, this);885 886 if (mRemoteUSBBackend)887 {888 int rc = mRemoteUSBBackend->InterceptUSB (ppfn, ppv);889 890 if (VBOX_FAILURE (rc))891 {892 delete mRemoteUSBBackend;893 mRemoteUSBBackend = NULL;894 }895 }896 #endif /* VBOX_WITH_USB */897 }898 899 void ConsoleVRDPServer::DeleteUSBBackend (void)900 {901 #ifdef VBOX_WITH_USB902 LogFlow(("ConsoleVRDPServer::DeleteUSBBackend: %p\n", mRemoteUSBBackend));903 904 if (mRemoteUSBBackend)905 {906 mRemoteUSBBackend->ReleaseUSB ();907 delete mRemoteUSBBackend;908 mRemoteUSBBackend = NULL;909 }910 #endif /* VBOX_WITH_USB */911 }912 913 void *ConsoleVRDPServer::GetUSBBackendPointer (void)914 {915 #ifdef VBOX_WITH_USB916 Assert (mRemoteUSBBackend); /* Must be called only if the object exists. */917 return mRemoteUSBBackend->GetRemoteBackendCallback ();918 #else919 return NULL;920 #endif921 }922 #endif /* VRDP_MC */923 924 832 925 833 … … 972 880 } 973 881 974 #ifdef VRDP_MC975 882 void ConsoleVRDPServer::SendUSBRequest (uint32_t u32ClientId, void *pvParms, uint32_t cbParms) const 976 883 { … … 980 887 #endif 981 888 } 982 #else983 void ConsoleVRDPServer::SendUSBRequest (void *pvParms, uint32_t cbParms) const984 {985 #ifdef VBOX_VRDP986 if (mpfnVRDPSendUSBRequest)987 mpfnVRDPSendUSBRequest (mhServer, pvParms, cbParms);988 #endif989 }990 #endif /* VRDP_MC */991 889 992 890 void ConsoleVRDPServer::QueryInfo (uint32_t index, void *pvBuffer, uint32_t cbBuffer, uint32_t *pcbOut) const … … 1023 921 { 1024 922 DEFSYMENTRY(VRDPStartServer), 1025 #ifndef VRDP_MC1026 DEFSYMENTRY(VRDPSetFramebuffer),1027 #endif /* VRDP_MC */1028 923 DEFSYMENTRY(VRDPSetCallback), 1029 924 DEFSYMENTRY(VRDPShutdownServer), -
trunk/src/VBox/Main/DisplayImpl.cpp
r3227 r3278 374 374 } 375 375 376 #ifndef VRDP_MC377 376 static void checkCoordBounds (int *px, int *py, int *pw, int *ph, int cx, int cy) 378 377 { … … 407 406 } 408 407 } 409 #endif410 408 411 409 unsigned mapCoordsToScreen(DISPLAYFBINFO *pInfos, unsigned cInfos, int *px, int *py, int *pw, int *ph) … … 454 452 #endif /* DEBUG_sunlover */ 455 453 456 #ifdef VRDP_MC457 454 unsigned uScreenId = mapCoordsToScreen(maFramebuffers, mcMonitors, &x, &y, &w, &h); 458 #else459 checkCoordBounds (&x, &y, &w, &h, mpDrv->Connector.cx, mpDrv->Connector.cy);460 #endif /* VRDP_MC */461 455 462 456 #ifdef DEBUG_sunlover … … 482 476 483 477 RTSemEventMultiReset(mUpdateSem); 478 479 checkCoordBounds (&x, &y, &w, &h, mpDrv->Connector.cx, mpDrv->Connector.cy); 484 480 485 481 pFramebuffer->NotifyUpdate(x, y, w, h, &finished); … … 770 766 771 767 #ifdef VBOX_VRDP 772 #ifdef VRDP_MC773 768 /* Called always by one VRDP server thread. Can be thread-unsafe. 774 769 */ 775 770 void Display::VideoAccelVRDP (bool fEnable) 776 771 { 777 #if 0778 /* Supporting all orders. */779 uint32_t fu32SupportedOrders = ~0;780 #endif781 782 772 int c = fEnable? 783 773 ASMAtomicIncS32 (&mcVideoAccelVRDPRefs): … … 823 813 } 824 814 } 825 #else826 void Display::VideoAccelVRDP (bool fEnable, uint32_t fu32SupportedOrders)827 {828 Assert (mfVideoAccelVRDP != fEnable);829 830 mfVideoAccelVRDP = fEnable;831 832 if (fEnable)833 {834 mfu32SupportedOrders = fu32SupportedOrders;835 }836 else837 {838 mfu32SupportedOrders = 0;839 }840 841 vbvaSetMemoryFlags (mpVbvaMemory, mfVideoAccelEnabled, mfVideoAccelVRDP, mfu32SupportedOrders, maFramebuffers, mcMonitors);842 843 LogRel(("VBVA: VRDP acceleration has been %s.\n", fEnable? "requested": "disabled"));844 }845 #endif /* VRDP_MC */846 815 #endif /* VBOX_VRDP */ 847 816 … … 2074 2043 } 2075 2044 } 2076 #ifdef VRDP_MC 2077 /* Inform to VRDP server that the current display update sequence is 2045 /* Inform the VRDP server that the current display update sequence is 2078 2046 * completed. At this moment the framebuffer memory contains a definite 2079 2047 * image, that is synchronized with the orders already sent to VRDP client. … … 2083 2051 Assert (pDisplay->mParent && pDisplay->mParent->consoleVRDPServer()); 2084 2052 pDisplay->mParent->consoleVRDPServer()->SendUpdate (uScreenId, NULL, 0); 2085 #endif /* VRDP_MC */2086 2053 } 2087 2054 } -
trunk/src/VBox/Main/Makefile.kmk
r3191 r3278 22 22 DEPTH = ../../.. 23 23 include $(PATH_KBUILD)/header.kmk 24 25 ifdef VBOX_WITH_VRDP_MC26 DEFS += VRDP_MC27 endif28 24 29 25 SUBDIRS_AFTER = testcase -
trunk/src/VBox/Main/RemoteUSBDeviceImpl.cpp
r2981 r3278 52 52 * Initializes the remote USB device object. 53 53 */ 54 #ifdef VRDP_MC55 54 HRESULT RemoteUSBDevice::init (uint32_t u32ClientId, VRDPUSBDEVICEDESC *pDevDesc) 56 #else57 HRESULT RemoteUSBDevice::init (VRDPUSBDEVICEDESC *pDevDesc)58 #endif /* VRDP_MC */59 55 { 60 56 LogFlowMember (("RemoteUSBDevice::init()\n")); … … 74 70 75 71 char id[64]; 76 #ifdef VRDP_MC77 72 RTStrPrintf(id, sizeof (id), REMOTE_USB_BACKEND_PREFIX_S "0x%08X&0x%08X", pDevDesc->id, u32ClientId); 78 #else79 RTStrPrintf(id, sizeof (id), REMOTE_USB_BACKEND_PREFIX_S "0x%08X", pDevDesc->id);80 #endif /* VRDP_MC */81 73 mAddress = id; 82 74 … … 88 80 mDevId = pDevDesc->id; 89 81 90 #ifdef VRDP_MC91 82 mClientId = u32ClientId; 92 #endif /* VRDP_MC */93 83 94 84 setReady (true); -
trunk/src/VBox/Main/include/ConsoleImpl.h
r3034 r3278 182 182 static VRDPSERVERCALLBACK *getVrdpServerCallback () { return &sVrdpServerCallback; }; 183 183 184 #ifdef VRDP_MC185 184 void processRemoteUSBDevices (uint32_t u32ClientId, VRDPUSBDEVICEDESC *pDevList, uint32_t cbDevList); 186 #else187 void processRemoteUSBDevices (VRDPUSBDEVICEDESC *pDevList, uint32_t cbDevList);188 #endif /* VRDP_MC */189 185 190 186 // callback callers … … 406 402 static DECLCALLBACK(int) drvStatus_Construct(PPDMDRVINS pDrvIns, PCFGMNODE pCfgHandle); 407 403 408 #ifdef VRDP_MC409 404 int mcAudioRefs; 410 405 volatile uint32_t mcVRDPClients; … … 416 411 static DECLCALLBACK(void) vrdp_InterceptUSB (void *pvUser, uint32_t u32ClientId, PFNVRDPUSBCALLBACK *ppfn, void **ppv); 417 412 static DECLCALLBACK(void) vrdp_InterceptClipboard (void *pvUser, uint32_t u32ClientId, PFNVRDPCLIPBOARDCALLBACK *ppfn, void **ppv); 418 #else419 static DECLCALLBACK(int) vrdp_ClientLogon (void *pvUser, const char *pszUser, const char *pszPassword, const char *pszDomain);420 static DECLCALLBACK(void) vrdp_ClientConnect (void *pvUser, uint32_t fu32SupportedOrders);421 static DECLCALLBACK(void) vrdp_ClientDisconnect (void *pvUser);422 static DECLCALLBACK(void) vrdp_InterceptAudio (void *pvUser, bool keepHostAudio);423 static DECLCALLBACK(void) vrdp_InterceptUSB (void *pvUser, PFNVRDPUSBCALLBACK *ppfn, void **ppv);424 static DECLCALLBACK(void) vrdp_InterceptClipboard (void *pvUser, PFNVRDPCLIPBOARDCALLBACK *ppfn, void **ppv);425 #endif /* VRDP_MC */426 413 427 414 static VRDPSERVERCALLBACK sVrdpServerCallback; -
trunk/src/VBox/Main/include/ConsoleVRDPServer.h
r3153 r3278 50 50 void AuthDisconnect (const Guid &uuid, uint32_t u32ClientId); 51 51 52 #ifdef VRDP_MC53 52 void USBBackendCreate (uint32_t u32ClientId, PFNVRDPUSBCALLBACK *ppfn, void **ppv); 54 53 void USBBackendDelete (uint32_t u32ClientId); … … 69 68 void ClipboardCreate (uint32_t u32ClientId, PFNVRDPCLIPBOARDCALLBACK *ppfn, void **ppv); 70 69 void ClipboardDelete (uint32_t u32ClientId); 71 #else72 void CreateUSBBackend (PFNVRDPUSBCALLBACK *ppfn, void **ppv);73 void DeleteUSBBackend (void);74 75 void *GetUSBBackendPointer (void);76 #endif /* VRDP_MC */77 70 78 71 /* … … 86 79 void SendAudioSamples (void *pvSamples, uint32_t cSamples, VRDPAUDIOFORMAT format) const; 87 80 void SendAudioVolume (uint16_t left, uint16_t right) const; 88 #ifdef VRDP_MC89 81 void SendUSBRequest (uint32_t u32ClientId, void *pvParms, uint32_t cbParms) const; 90 #else91 void SendUSBRequest (void *pvParms, uint32_t cbParms) const;92 #endif /* VRDP_MC */93 82 94 83 void QueryInfo (uint32_t index, void *pvBuffer, uint32_t cbBuffer, uint32_t *pcbOut) const; … … 117 106 static void (VBOXCALL *mpfnVRDPSendAudioSamples)(HVRDPSERVER hserver, void *pvSamples, uint32_t cSamples, VRDPAUDIOFORMAT format); 118 107 static void (VBOXCALL *mpfnVRDPSendAudioVolume) (HVRDPSERVER hserver, uint16_t left, uint16_t right); 119 #ifdef VRDP_MC120 108 static void (VBOXCALL *mpfnVRDPSendUSBRequest) (HVRDPSERVER hserver, uint32_t u32ClientId, void *pvParms, uint32_t cbParms); 121 #else122 static void (VBOXCALL *mpfnVRDPSendUSBRequest) (HVRDPSERVER hserver, void *pvParms, uint32_t cbParms);123 #endif /* VRDP_MC */124 109 static void (VBOXCALL *mpfnVRDPSendUpdate) (HVRDPSERVER hServer, unsigned uScreenId, void *pvUpdate, uint32_t cbUpdate); 125 110 static void (VBOXCALL *mpfnVRDPQueryInfo) (HVRDPSERVER hserver, uint32_t index, void *pvBuffer, uint32_t cbBuffer, uint32_t *pcbOut); … … 127 112 #endif /* VBOX_VRDP */ 128 113 129 #ifdef VRDP_MC130 114 RTCRITSECT mCritSect; 131 115 … … 161 145 void remoteUSBThreadStop (void); 162 146 #endif /* VBOX_WITH_USB */ 163 #else164 #ifdef VBOX_WITH_USB165 /* The remote USB backend object is created only if the client166 * asks for USB channel. The object is created in the vrdp_InterceptUSB167 * callback.168 */169 RemoteUSBBackend *mRemoteUSBBackend;170 #endif /* VBOX_WITH_USB */171 #endif /* VRDP_MC */172 147 173 148 /* External authentication library handle. The library is loaded in the -
trunk/src/VBox/Main/include/DisplayImpl.h
r3153 r3278 111 111 112 112 #ifdef VBOX_VRDP 113 #ifdef VRDP_MC114 113 void VideoAccelVRDP (bool fEnable); 115 #else116 void VideoAccelVRDP (bool fEnable, uint32_t fu32SupportedOrders);117 #endif /* VRDP_MC */118 114 #endif /* VBOX_VRDP */ 119 115 -
trunk/src/VBox/Main/include/RemoteUSBBackend.h
r2981 r3278 38 38 class ConsoleVRDPServer; 39 39 40 #ifdef VRDP_MC41 42 40 /* How many remote devices can be attached to a remote client. 43 41 * Normally a client computer has 2-8 physical USB ports, so 16 devices … … 54 52 RemoteUSBBackendListable() : pNext (NULL), pPrev (NULL) {}; 55 53 }; 56 #endif /* VRDP_MC */57 54 58 #ifdef VRDP_MC59 55 class RemoteUSBBackend: public RemoteUSBBackendListable 60 #else61 class RemoteUSBBackend62 #endif /* VRDP_MC */63 56 { 64 57 public: 65 66 #ifdef VRDP_MC67 58 RemoteUSBBackend(Console *console, ConsoleVRDPServer *server, uint32_t u32ClientId); 68 59 ~RemoteUSBBackend(); … … 80 71 81 72 void PollRemoteDevices (void); 82 #else83 RemoteUSBBackend(Console *console, ConsoleVRDPServer *server);84 ~RemoteUSBBackend();85 86 int InterceptUSB (PFNVRDPUSBCALLBACK *ppfn, void **ppv);87 void ReleaseUSB (void);88 89 REMOTEUSBCALLBACK *GetRemoteBackendCallback (void) { return &mCallback; };90 #endif /* VRDP_MC */91 73 92 74 public: /* Functions for internal use. */ 93 94 75 ConsoleVRDPServer *VRDPServer (void) { return mServer; }; 95 76 96 #ifdef VRDP_MC97 77 bool pollingEnabledURB (void) { return mfPollURB; } 98 78 … … 114 94 bool findUUID (const Guid *pUuid); 115 95 void removeUUID (const Guid *pUuid); 116 #else117 bool pollingEnabledURB (void) { return mfPollURB; };118 119 void notifyThreadStarted (RTTHREAD self);120 void notifyThreadFinished (void);121 bool threadEnabled (void);122 bool continueThread (void);123 124 bool needRDL (void);125 void notifyRDLSent (void);126 127 int negotiateResponse (VRDPUSBREQNEGOTIATERET *pret);128 129 int saveDeviceList (void *pvList, uint32_t cbList);130 bool processRDL (void);131 132 void request (void);133 void release (void);134 135 void waitEvent (unsigned cMillies);136 137 void addDevice (PREMOTEUSBDEVICE pDevice);138 void removeDevice (PREMOTEUSBDEVICE pDevice);139 140 PREMOTEUSBDEVICE deviceFromId (VRDPUSBDEVID id);141 142 int reapURB (void *pvBody, uint32_t cbBody);143 #endif /* VRDP_MC */144 96 145 97 private: 146 147 #ifndef VRDP_MC148 void initMembers (void);149 #endif /* !VRDP_MC */150 151 98 Console *mConsole; 152 99 ConsoleVRDPServer *mServer; 153 100 154 #ifdef VRDP_MC155 101 int cRefs; 156 102 … … 183 129 184 130 Guid aGuids[VRDP_MAX_USB_DEVICES_PER_CLIENT]; 185 #else186 RTCRITSECT mCritsect;187 RTSEMEVENT mEvent;188 189 REMOTEUSBCALLBACK mCallback;190 191 RTTHREAD mThread;192 193 bool mfThreadActive;194 bool mfThreadEnabled;195 bool mfTerminateThread;196 197 RDLState menmRDLState;198 199 void *mpvDeviceList;200 uint32_t mcbDeviceList;201 202 PREMOTEUSBDEVICE mpDevices;203 204 bool mfPollURB;205 #endif /* VRDP_MC */206 131 }; 207 132 -
trunk/src/VBox/Main/include/RemoteUSBDeviceImpl.h
r2981 r3278 54 54 55 55 // public initializer/uninitializer for internal purposes only 56 #ifdef VRDP_MC57 56 HRESULT init(uint32_t u32ClientId, VRDPUSBDEVICEDESC *pDevDesc); 58 #else59 HRESULT init(VRDPUSBDEVICEDESC *pDevDesc);60 #endif /* VRDP_MC */61 57 void uninit(); 62 58 … … 81 77 82 78 uint16_t devId (void) { return mDevId; } 83 #ifdef VRDP_MC84 79 uint32_t clientId (void) { return mClientId; } 85 #endif /* VRDP_MC */86 80 87 81 bool captured (void) { return mState == USBDeviceState_USBDeviceCaptured; } … … 123 117 bool mDirty; 124 118 uint16_t mDevId; 125 #ifdef VRDP_MC126 119 uint32_t mClientId; 127 #endif /* VRDP_MC */128 120 }; 129 121
Note:
See TracChangeset
for help on using the changeset viewer.