Changeset 33590 in vbox
- Timestamp:
- Oct 29, 2010 8:55:09 AM (15 years ago)
- svn:sync-xref-src-repo-rev:
- 67200
- Location:
- trunk
- Files:
-
- 33 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Config.kmk
r33572 r33590 440 440 # The headless frontend. 441 441 VBOX_WITH_HEADLESS = 1 442 # Enable the VRDP server.442 # Enable the build of VRDP server. 443 443 VBOX_WITH_VRDP = 1 444 444 # Enable support for video redirection VRDP channel. … … 963 963 # 964 964 ifndef VBOX_WITH_MAIN 965 VBOX_WITH_VRDP=966 965 VBOX_WITH_VBOXSDL= 967 966 VBOX_WITH_QTGUI= -
trunk/src/VBox/Devices/Makefile.kmk
r33567 r33590 1083 1083 Drivers_DEFS += VBOX_WITH_USB 1084 1084 1085 ifdef VBOX_WITH_VRDP 1086 Drivers_DEFS += VBOX_WITH_VRDP 1087 Drivers_SOURCES += \ 1088 USB/vrdp/USBProxyDevice-vrdp.cpp 1089 endif 1085 Drivers_SOURCES += \ 1086 USB/vrdp/USBProxyDevice-vrdp.cpp 1090 1087 1091 1088 Drivers_DEFS.darwin += VUSB_HAVE_USBPROXY_DEVICE -
trunk/src/VBox/Devices/USB/USBProxyDevice.cpp
r33540 r33590 781 781 pThis->pOps = &g_USBProxyDeviceHost; 782 782 else 783 #ifdef VBOX_WITH_VRDP784 783 pThis->pOps = &g_USBProxyDeviceVRDP; 785 #else786 return VERR_NOT_SUPPORTED;787 #endif788 784 rc = pThis->pOps->pfnOpen(pThis, szAddress, pvBackend); 789 785 if (RT_FAILURE(rc)) -
trunk/src/VBox/Devices/USB/USBProxyDevice.h
r33540 r33590 140 140 /** The Host backend. */ 141 141 extern const USBPROXYBACK g_USBProxyDeviceHost; 142 #ifdef VBOX_WITH_VRDP 143 /** The VRDP backend. */ 142 /** The remote desktop backend. */ 144 143 extern const USBPROXYBACK g_USBProxyDeviceVRDP; 145 #endif /* VBOX_WITH_VRDP */146 144 147 145 #ifdef RDESKTOP … … 211 209 RTFILE File; 212 210 int fd; 213 #ifdef VBOX_WITH_VRDP214 211 struct vrdp_priv 215 212 { … … 217 214 void *pDevice; 218 215 } vrdp; 219 #endif /* VBOX_WITH_VRDP */220 216 } Backend; 221 217 } USBPROXYDEV; -
trunk/src/VBox/Frontends/VBoxBFE/Makefile.kmk
r32231 r33590 52 52 #VBoxBFE_DEFS += VBOX_SECURELABEL 53 53 #endif 54 ifdef VBOX_WITH_VRDP55 VBoxBFE_DEFS += VBOX_WITH_VRDP56 endif57 54 VBoxBFE_DEFS += VBOXBFE_WITHOUT_COM 58 55 ifdef VBOX_WITH_LINUX_COMPILER_H -
trunk/src/VBox/Frontends/VBoxBFE/VBoxBFE.cpp
r33540 r33590 390 390 " -tapfd<1-N> <fd> Use existing TAP device, don't allocate\n" 391 391 #endif 392 #ifdef VBOX_WITH_VRDP393 392 " -vrdp [port] Listen for VRDP connections on port (default if not specified)\n" 394 #endif395 393 #ifdef VBOX_SECURELABEL 396 394 " -securelabel Display a secure VM label at the top of the screen\n" … … 416 414 { 417 415 bool fFullscreen = false; 418 #ifdef VBOX_WITH_VRDP419 416 int32_t portVRDP = -1; 420 #endif421 417 #ifdef VBOX_SECURELABEL 422 418 bool fSecureLabel = false; … … 711 707 } 712 708 #endif /* RT_OS_LINUX */ 713 #ifdef VBOX_WITH_VRDP714 709 else if (strcmp(pszArg, "-vrdp") == 0) 715 710 { … … 725 720 } 726 721 } 727 #endif /* VBOX_WITH_VRDP */728 722 #ifdef VBOX_SECURELABEL 729 723 else if (strcmp(pszArg, "-securelabel") == 0) -
trunk/src/VBox/Frontends/VBoxHeadless/Makefile.kmk
r28800 r33590 49 49 VBoxHeadless_DEFS = VBOX_FFMPEG 50 50 VBoxHeadless_SOURCES = VBoxHeadless.cpp 51 ifdef VBOX_WITH_VRDP 52 VBoxHeadless_DEFS += VBOX_WITH_VRDP 53 VBoxHeadless_SOURCES += Framebuffer.cpp 54 endif 51 VBoxHeadless_SOURCES += Framebuffer.cpp 55 52 ifdef VBOX_WITH_GUEST_PROPS 56 53 VBoxHeadless_DEFS += VBOX_WITH_GUEST_PROPS -
trunk/src/VBox/Frontends/VBoxHeadless/VBoxHeadless.cpp
r33556 r33590 57 57 #endif 58 58 59 #ifdef VBOX_WITH_VRDP 60 # include "Framebuffer.h" 61 #endif 59 #include "Framebuffer.h" 62 60 #ifdef VBOX_WITH_VNC 63 61 # include "FramebufferVNC.h" … … 315 313 Assert(rdicev); 316 314 317 #ifdef VBOX_WITH_VRDP318 315 if (gConsole) 319 316 { … … 337 334 } 338 335 } 339 #endif340 336 break; 341 337 } … … 445 441 " -o, --vncpass <pw> Set the VNC server password\n" 446 442 #endif 447 #ifdef VBOX_WITH_VRDP448 443 " -v, -vrde, --vrde on|off|config Enable (default) or disable the VRDE\n" 449 444 " server or don't change the setting\n" … … 454 449 " \"TCP/Address\" - interface IP the VRDE server\n" 455 450 " will bind to\n" 456 #endif457 451 #ifdef VBOX_FFMPEG 458 452 " -c, -capture, --capture Record the VM screen output to a file\n" … … 518 512 extern "C" DECLEXPORT(int) TrustedMain(int argc, char **argv, char **envp) 519 513 { 520 #ifdef VBOX_WITH_VRDP521 514 const char *vrdePort = NULL; 522 515 const char *vrdeAddress = NULL; … … 524 517 int cVRDEProperties = 0; 525 518 const char *aVRDEProperties[16]; 526 #endif527 519 #ifdef VBOX_WITH_VNC 528 520 bool fVNCEnable = false; … … 575 567 { "-startvm", 's', RTGETOPT_REQ_STRING }, 576 568 { "--startvm", 's', RTGETOPT_REQ_STRING }, 577 #ifdef VBOX_WITH_VRDP578 569 { "-vrdpport", 'p', RTGETOPT_REQ_STRING }, /* VRDE: deprecated. */ 579 570 { "--vrdpport", 'p', RTGETOPT_REQ_STRING }, /* VRDE: deprecated. */ … … 586 577 { "-vrdeproperty", 'e', RTGETOPT_REQ_STRING }, 587 578 { "--vrdeproperty", 'e', RTGETOPT_REQ_STRING }, 588 #endif /* VBOX_WITH_VRDP defined */589 579 #ifdef VBOX_WITH_VNC 590 580 { "--vncport", 'm', RTGETOPT_REQ_INT32 }, … … 634 624 pcszNameOrUUID = ValueUnion.psz; 635 625 break; 636 #ifdef VBOX_WITH_VRDP637 626 case 'p': 638 627 RTPrintf("Warning: '-p' or '-vrdpport' are deprecated. Use '-e \"TCP/Ports=%s\"'\n", ValueUnion.psz); … … 652 641 RTPrintf("Warning: too many VRDE properties. Ignored: '%s'\n", ValueUnion.psz); 653 642 break; 654 #endif /* VBOX_WITH_VRDP defined */655 643 #ifdef VBOX_WITH_VNC 656 644 case 'n': … … 904 892 905 893 unsigned uScreenId; 906 #ifdef VBOX_WITH_VRDP907 894 for (uScreenId = 0; uScreenId < cMonitors; uScreenId++) 908 895 { … … 934 921 break; 935 922 } 936 #endif 923 937 924 // fill in remaining slots with null framebuffers 938 925 for (uScreenId = 0; uScreenId < cMonitors; uScreenId++) … … 1017 1004 } 1018 1005 1019 #ifdef VBOX_WITH_VRDP1020 1006 /* default is to enable the remote desktop server (backward compatibility) */ 1021 1007 BOOL fVRDEEnable = true; … … 1111 1097 } 1112 1098 } 1113 #endif 1099 1114 1100 Log(("VBoxHeadless: Powering up the machine...\n")); 1115 1101 -
trunk/src/VBox/Frontends/VBoxManage/Makefile.kmk
r33408 r33590 70 70 $(if $(VBOX_WITH_VDE), VBOX_WITH_VDE) \ 71 71 $(if $(VBOX_WITH_VIDEOHWACCEL), VBOX_WITH_VIDEOHWACCEL) \ 72 $(if $(VBOX_WITH_VIRTIO),VBOX_WITH_VIRTIO) \ 73 $(if $(VBOX_WITH_VRDP), VBOX_WITH_VRDP) 72 $(if $(VBOX_WITH_VIRTIO),VBOX_WITH_VIRTIO) 74 73 75 74 ifneq ($(KBUILD_TARGET),win) -
trunk/src/VBox/Frontends/VBoxManage/VBoxManageControlVM.cpp
r33540 r33590 486 486 } 487 487 } 488 #ifdef VBOX_WITH_VRDP489 488 else if ( !strcmp(a->argv[1], "vrde") 490 489 || !strcmp(a->argv[1], "vrdp")) … … 567 566 } 568 567 } 569 else if (!strcmp(a->argv[1], "vrde setproperty"))568 else if (!strcmp(a->argv[1], "vrdeproperty")) 570 569 { 571 570 if (a->argc <= 1 + 1) … … 595 594 else 596 595 { 597 errorArgument("Invalid --vrde setproperty argument '%s'", a->argv[2]);596 errorArgument("Invalid --vrdeproperty argument '%s'", a->argv[2]); 598 597 rc = E_FAIL; 599 598 break; … … 612 611 } 613 612 } 614 #endif /* VBOX_WITH_VRDP */615 613 else if ( !strcmp(a->argv[1], "usbattach") 616 614 || !strcmp(a->argv[1], "usbdetach")) -
trunk/src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp
r33556 r33590 74 74 bool fDarwin = false; 75 75 #endif 76 #ifdef VBOX_WITH_VRDP77 bool fVRDE = true;78 #else79 bool fVRDE = false;80 #endif81 76 #ifdef VBOX_WITH_VBOXSDL 82 77 bool fVBoxSDL = true; … … 93 88 fFreeBSD = true; 94 89 fDarwin = true; 95 fVRDE = true;96 90 fVBoxSDL = true; 97 91 u64Cmd = USAGE_ALL; … … 310 304 " [--clipboard disabled|hosttoguest|guesttohost|\n" 311 305 " bidirectional]\n"); 312 if (fVRDE) 313 { 314 RTStrmPrintf(pStrm, 306 RTStrmPrintf(pStrm, 315 307 " [--vrde on|off]\n" 316 308 " [--vrdelibrary default|<name>\n" 317 " [--vrde setproperty <name=[value]>]\n"309 " [--vrdeproperty <name=[value]>]\n" 318 310 " [--vrdeauthtype null|external|guest]\n" 319 311 " [--vrdemulticon on|off]\n" … … 321 313 " [--vrdevideochannel on|off]\n" 322 314 " [--vrdevideochannelquality <percent>]\n"); 323 }324 315 RTStrmPrintf(pStrm, 325 316 " [--usb on|off]\n" … … 404 395 " usbattach <uuid>|<address> |\n" 405 396 " usbdetach <uuid>|<address> |\n"); 406 if (fVRDE) 407 { 408 RTStrmPrintf(pStrm, 397 RTStrmPrintf(pStrm, 409 398 " vrde on|off |\n"); 410 411 " vrde setproperty <name=[value]> |\n"399 RTStrmPrintf(pStrm, 400 " vrdeproperty <name=[value]> |\n" 412 401 " vrdevideochannelquality <percent>\n"); 413 }414 402 RTStrmPrintf(pStrm, 415 403 " setvideomodehint <xres> <yres> <bpp> [display] |\n" -
trunk/src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp
r33556 r33590 132 132 MODIFYVM_AUDIO, 133 133 MODIFYVM_CLIPBOARD, 134 #ifdef VBOX_WITH_VRDP135 134 MODIFYVM_VRDPPORT, /* VRDE: deprecated */ 136 135 MODIFYVM_VRDPADDRESS, /* VRDE: deprecated */ … … 141 140 MODIFYVM_VRDPVIDEOCHANNELQUALITY, /* VRDE: deprecated */ 142 141 MODIFYVM_VRDP, /* VRDE: deprecated */ 143 MODIFYVM_VRDE SETPROPERTY,142 MODIFYVM_VRDEPROPERTY, 144 143 MODIFYVM_VRDEAUTHTYPE, 145 144 MODIFYVM_VRDEMULTICON, … … 149 148 MODIFYVM_VRDELIBRARY, 150 149 MODIFYVM_VRDE, 151 #endif152 150 MODIFYVM_RTCUSEUTC, 153 151 MODIFYVM_USBEHCI, … … 257 255 { "--audio", MODIFYVM_AUDIO, RTGETOPT_REQ_STRING }, 258 256 { "--clipboard", MODIFYVM_CLIPBOARD, RTGETOPT_REQ_STRING }, 259 #ifdef VBOX_WITH_VRDP260 257 { "--vrdpport", MODIFYVM_VRDPPORT, RTGETOPT_REQ_STRING }, /* deprecated */ 261 258 { "--vrdpaddress", MODIFYVM_VRDPADDRESS, RTGETOPT_REQ_STRING }, /* deprecated */ … … 266 263 { "--vrdpvideochannelquality", MODIFYVM_VRDPVIDEOCHANNELQUALITY, RTGETOPT_REQ_UINT32 }, /* deprecated */ 267 264 { "--vrdp", MODIFYVM_VRDP, RTGETOPT_REQ_BOOL_ONOFF }, /* deprecated */ 268 { "--vrde setproperty", MODIFYVM_VRDESETPROPERTY,RTGETOPT_REQ_STRING },265 { "--vrdeproperty", MODIFYVM_VRDEPROPERTY, RTGETOPT_REQ_STRING }, 269 266 { "--vrdeauthtype", MODIFYVM_VRDEAUTHTYPE, RTGETOPT_REQ_STRING }, 270 267 { "--vrdemulticon", MODIFYVM_VRDEMULTICON, RTGETOPT_REQ_BOOL_ONOFF }, … … 274 271 { "--vrdelibrary", MODIFYVM_VRDELIBRARY, RTGETOPT_REQ_STRING }, 275 272 { "--vrde", MODIFYVM_VRDE, RTGETOPT_REQ_BOOL_ONOFF }, 276 #endif277 273 { "--usbehci", MODIFYVM_USBEHCI, RTGETOPT_REQ_BOOL_ONOFF }, 278 274 { "--usb", MODIFYVM_USB, RTGETOPT_REQ_BOOL_ONOFF }, … … 302 298 static void vrdeWarningDeprecatedProperty(const char *pszOption, const char *pszProperty, const char *pszArg) 303 299 { 304 RTStrmPrintf(g_pStdErr, "Warning: '--%s' is deprecated. Use '--vrde setproperty \"%s=%s\"'.\n",300 RTStrmPrintf(g_pStdErr, "Warning: '--%s' is deprecated. Use '--vrdeproperty \"%s=%s\"'.\n", 305 301 pszOption, pszProperty, pszArg); 306 302 } … … 1825 1821 } 1826 1822 1827 #ifdef VBOX_WITH_VRDP1828 1823 case MODIFYVM_VRDELIBRARY: 1829 1824 { … … 1845 1840 } 1846 1841 1847 case MODIFYVM_VRDE SETPROPERTY:1842 case MODIFYVM_VRDEPROPERTY: 1848 1843 { 1849 1844 ComPtr<IVRDEServer> vrdeServer; … … 1870 1865 RTStrFree(pszProperty); 1871 1866 1872 errorArgument("Invalid --vrde setproperty argument '%s'", ValueUnion.psz);1867 errorArgument("Invalid --vrdeproperty argument '%s'", ValueUnion.psz); 1873 1868 rc = E_FAIL; 1874 1869 break; … … 1999 1994 break; 2000 1995 } 2001 #endif /* VBOX_WITH_VRDP */2002 1996 2003 1997 case MODIFYVM_USBEHCI: -
trunk/src/VBox/Frontends/VBoxSDL/Makefile.kmk
r32083 r33590 59 59 VBoxSDL_DEFS += VBOX_SECURELABEL 60 60 endif 61 endif62 ifdef VBOX_WITH_VRDP63 VBoxSDL_DEFS += VBOX_WITH_VRDP64 61 endif 65 62 VBoxSDL_DEFS.freebsd = VBOXSDL_WITH_X11 -
trunk/src/VBox/Frontends/VBoxSDL/VBoxSDL.cpp
r33540 r33590 601 601 " --hostkey <key> {<key2>} <mod> Set the host key to the values obtained using --detecthostkey\n" 602 602 " --termacpi Send an ACPI power button event when closing the window\n" 603 #ifdef VBOX_WITH_VRDP604 603 " --vrdp <ports> Listen for VRDP connections on one of specified ports (default if not specified)\n" 605 #endif606 604 " --discardstate Discard saved state (if present) and revert to last snapshot (if present)\n" 607 605 #ifdef VBOX_SECURELABEL … … 799 797 char *cdromFile = NULL; 800 798 char *fdaFile = NULL; 801 #ifdef VBOX_WITH_VRDP802 799 const char *portVRDP = NULL; 803 #endif804 800 bool fDiscardState = false; 805 801 #ifdef VBOX_SECURELABEL … … 1135 1131 } 1136 1132 } 1137 #ifdef VBOX_WITH_VRDP1138 1133 else if ( !strcmp(argv[curArg], "--vrdp") 1139 1134 || !strcmp(argv[curArg], "-vrdp")) … … 1150 1145 } 1151 1146 } 1152 #endif /* VBOX_WITH_VRDP */1153 1147 else if ( !strcmp(argv[curArg], "--discardstate") 1154 1148 || !strcmp(argv[curArg], "-discardstate")) … … 1875 1869 } 1876 1870 1877 #ifdef VBOX_WITH_VRDP1878 1871 if (portVRDP) 1879 1872 { … … 1902 1895 } 1903 1896 } 1904 #endif1905 1897 1906 1898 rc = E_FAIL; … … 2686 2678 #endif /* VBOX_WITH_XPCOM */ 2687 2679 2688 #ifdef VBOX_WITH_VRDP2689 2680 if (gVRDEServer) 2690 2681 rc = gVRDEServer->COMSETTER(Enabled)(FALSE); 2691 #endif2692 2682 2693 2683 /* -
trunk/src/VBox/HostDrivers/Support/SUPR3HardenedVerify.cpp
r33540 r33590 146 146 #endif 147 147 148 //#ifdef VBOX_WITH_VRDP149 148 { kSupIFT_Dll, kSupID_SharedLib, true, "VRDPAuth" SUPLIB_DLL_SUFF }, 150 149 { kSupIFT_Dll, kSupID_SharedLib, true, "VBoxVRDP" SUPLIB_DLL_SUFF }, 151 //#endif152 150 153 151 //#ifdef VBOX_WITH_HEADLESS -
trunk/src/VBox/Main/ConsoleImpl.cpp
r33540 r33590 425 425 AssertComRCReturnRC(rc); 426 426 427 #ifdef VBOX_WITH_VRDP428 427 rc = mMachine->COMGETTER(VRDEServer)(unconst(mVRDEServer).asOutParam()); 429 428 AssertComRCReturnRC(rc); 430 #endif431 429 432 430 /* Create associated child COM objects */ … … 597 595 } 598 596 599 #ifdef VBOX_WITH_VRDP600 597 unconst(mVRDEServer).setNull(); 601 #endif602 598 603 599 unconst(mControl).setNull(); … … 936 932 AssertComRCReturnVoid(autoCaller.rc()); 937 933 938 #ifdef VBOX_WITH_VRDP939 934 uint32_t u32Clients = ASMAtomicIncU32(&mcVRDPClients); 940 935 VMMDev *pDev; … … 952 947 NOREF(u32ClientId); 953 948 mDisplay->VideoAccelVRDP(true); 954 #endif /* VBOX_WITH_VRDP */955 949 956 950 LogFlowFuncLeave(); … … 968 962 AssertReturnVoid(mConsoleVRDPServer); 969 963 970 #ifdef VBOX_WITH_VRDP971 964 uint32_t u32Clients = ASMAtomicDecU32(&mcVRDPClients); 972 965 VMMDev *pDev; … … 984 977 985 978 mDisplay->VideoAccelVRDP(false); 986 #endif /* VBOX_WITH_VRDP */987 979 988 980 if (fu32Intercepted & VRDE_CLIENT_INTERCEPT_USB) … … 991 983 } 992 984 993 #ifdef VBOX_WITH_VRDP994 985 if (fu32Intercepted & VRDE_CLIENT_INTERCEPT_CLIPBOARD) 995 986 { … … 1013 1004 } 1014 1005 } 1015 #endif /* VBOX_WITH_VRDP */1016 1006 1017 1007 Bstr uuid; … … 1030 1020 #endif /* VBOX_WITH_GUEST_PROPS */ 1031 1021 1032 #ifdef VBOX_WITH_VRDP_MEMLEAK_DETECTOR1033 MLDMemDump();1034 #endif /* !VBOX_WITH_VRDP_MEMLEAK_DETECTOR */1035 1036 1022 LogFlowFuncLeave(); 1037 1023 return; … … 1049 1035 NOREF(u32ClientId); 1050 1036 1051 #ifdef VBOX_WITH_VRDP1052 1037 ++mcAudioRefs; 1053 1038 … … 1063 1048 } 1064 1049 } 1065 #endif1066 1050 1067 1051 LogFlowFuncLeave(); … … 1093 1077 AssertReturnVoid(mConsoleVRDPServer); 1094 1078 1095 #ifdef VBOX_WITH_VRDP1096 1079 mConsoleVRDPServer->ClipboardCreate(u32ClientId); 1097 #endif /* VBOX_WITH_VRDP */1098 1080 1099 1081 LogFlowFuncLeave(); … … 7391 7373 } 7392 7374 7393 #ifdef VBOX_WITH_VRDP7394 7375 /* Create the VRDP server. In case of headless operation, this will 7395 7376 * also create the framebuffer, required at VM creation. … … 7442 7423 } 7443 7424 7444 #endif /* VBOX_WITH_VRDP */7445 7446 7425 ComPtr<IMachine> pMachine = console->machine(); 7447 7426 ULONG cCpus = 1; … … 7468 7447 alock.enter(); 7469 7448 7470 #ifdef VBOX_WITH_VRDP7471 7449 /* Enable client connections to the server. */ 7472 7450 console->consoleVRDPServer()->EnableConnections(); 7473 #endif /* VBOX_WITH_VRDP */7474 7451 7475 7452 if (RT_SUCCESS(vrc)) -
trunk/src/VBox/Main/ConsoleVRDPServer.cpp
r33556 r33590 33 33 34 34 #include <VBox/err.h> 35 #ifdef VBOX_WITH_VRDP36 35 #include <VBox/RemoteDesktop/VRDEOrders.h> 37 #endif /* VBOX_WITH_VRDP */38 36 39 37 class VRDPConsoleListener : … … 548 546 //////////////////////////////////////////////////////////////////////////////// 549 547 550 #ifdef VBOX_WITH_VRDP551 548 RTLDRMOD ConsoleVRDPServer::mVRDPLibrary; 552 549 … … 1181 1178 server->mConsole->getDisplay()->SetVideoModeHint(cWidth, cHeight, cBitsPerPixel, uScreenId); 1182 1179 } 1183 #endif /* VBOX_WITH_VRDP */1184 1180 1185 1181 ConsoleVRDPServer::ConsoleVRDPServer(Console *console) … … 1202 1198 #endif 1203 1199 1204 #ifdef VBOX_WITH_VRDP1205 1200 mhServer = 0; 1206 1201 … … 1235 1230 1236 1231 mVRDPBindPort = -1; 1237 #endif /* VBOX_WITH_VRDP */1238 1232 1239 1233 mAuthLibrary = 0; … … 1244 1238 Stop(); 1245 1239 1246 #ifdef VBOX_WITH_VRDP1247 1240 if (mConsoleListener) 1248 1241 { … … 1263 1256 } 1264 1257 } 1265 #endif /* VBOX_WITH_VRDP */1266 1258 1267 1259 if (RTCritSectIsInitialized(&mCritSect)) … … 1275 1267 { 1276 1268 LogFlowThisFunc(("\n")); 1277 #ifdef VBOX_WITH_VRDP 1269 1278 1270 int rc = VINF_SUCCESS; 1279 1271 … … 1326 1318 } 1327 1319 } 1328 #else 1329 int rc = VERR_NOT_SUPPORTED; 1330 LogRel(("VRDP: this version does not include the VRDP server.\n")); 1331 #endif /* VBOX_WITH_VRDP */ 1320 1332 1321 return rc; 1333 1322 } … … 1335 1324 void ConsoleVRDPServer::EnableConnections(void) 1336 1325 { 1337 #ifdef VBOX_WITH_VRDP1338 1326 if (mpEntryPoints && mhServer) 1339 1327 { 1340 1328 mpEntryPoints->VRDEEnableConnections(mhServer, true); 1341 1329 } 1342 #endif /* VBOX_WITH_VRDP */1343 1330 } 1344 1331 1345 1332 void ConsoleVRDPServer::DisconnectClient(uint32_t u32ClientId, bool fReconnect) 1346 1333 { 1347 #ifdef VBOX_WITH_VRDP1348 1334 if (mpEntryPoints && mhServer) 1349 1335 { 1350 1336 mpEntryPoints->VRDEDisconnect(mhServer, u32ClientId, fReconnect); 1351 1337 } 1352 #endif /* VBOX_WITH_VRDP */1353 1338 } 1354 1339 1355 1340 void ConsoleVRDPServer::MousePointerUpdate(const VRDECOLORPOINTER *pPointer) 1356 1341 { 1357 #ifdef VBOX_WITH_VRDP1358 1342 if (mpEntryPoints && mhServer) 1359 1343 { 1360 1344 mpEntryPoints->VRDEColorPointer(mhServer, pPointer); 1361 1345 } 1362 #endif /* VBOX_WITH_VRDP */1363 1346 } 1364 1347 1365 1348 void ConsoleVRDPServer::MousePointerHide(void) 1366 1349 { 1367 #ifdef VBOX_WITH_VRDP1368 1350 if (mpEntryPoints && mhServer) 1369 1351 { 1370 1352 mpEntryPoints->VRDEHidePointer(mhServer); 1371 1353 } 1372 #endif /* VBOX_WITH_VRDP */1373 1354 } 1374 1355 … … 1377 1358 Assert(VALID_PTR(this)); /** @todo r=bird: there are(/was) some odd cases where this buster was invalid on 1378 1359 * linux. Just remove this when it's 100% sure that problem has been fixed. */ 1379 #ifdef VBOX_WITH_VRDP1380 1360 if (mhServer) 1381 1361 { … … 1390 1370 } 1391 1371 } 1392 #endif /* VBOX_WITH_VRDP */1393 1372 1394 1373 #ifdef VBOX_WITH_USB … … 1730 1709 int rc = VINF_SUCCESS; 1731 1710 1732 #ifdef VBOX_WITH_VRDP1733 1711 ConsoleVRDPServer *pServer = static_cast <ConsoleVRDPServer *>(pvExtension); 1734 1712 … … 1789 1767 rc = VERR_NOT_SUPPORTED; 1790 1768 } 1791 #endif /* VBOX_WITH_VRDP */1792 1769 1793 1770 return rc; … … 2089 2066 void ConsoleVRDPServer::SendUpdate(unsigned uScreenId, void *pvUpdate, uint32_t cbUpdate) const 2090 2067 { 2091 #ifdef VBOX_WITH_VRDP2092 2068 if (mpEntryPoints && mhServer) 2093 2069 { 2094 2070 mpEntryPoints->VRDEUpdate(mhServer, uScreenId, pvUpdate, cbUpdate); 2095 2071 } 2096 #endif2097 2072 } 2098 2073 2099 2074 void ConsoleVRDPServer::SendResize(void) const 2100 2075 { 2101 #ifdef VBOX_WITH_VRDP2102 2076 if (mpEntryPoints && mhServer) 2103 2077 { 2104 2078 mpEntryPoints->VRDEResize(mhServer); 2105 2079 } 2106 #endif2107 2080 } 2108 2081 2109 2082 void ConsoleVRDPServer::SendUpdateBitmap(unsigned uScreenId, uint32_t x, uint32_t y, uint32_t w, uint32_t h) const 2110 2083 { 2111 #ifdef VBOX_WITH_VRDP2112 2084 VRDEORDERHDR update; 2113 2085 update.x = x; … … 2119 2091 mpEntryPoints->VRDEUpdate(mhServer, uScreenId, &update, sizeof(update)); 2120 2092 } 2121 #endif2122 2093 } 2123 2094 2124 2095 void ConsoleVRDPServer::SendAudioSamples(void *pvSamples, uint32_t cSamples, VRDEAUDIOFORMAT format) const 2125 2096 { 2126 #ifdef VBOX_WITH_VRDP2127 2097 if (mpEntryPoints && mhServer) 2128 2098 { 2129 2099 mpEntryPoints->VRDEAudioSamples(mhServer, pvSamples, cSamples, format); 2130 2100 } 2131 #endif2132 2101 } 2133 2102 2134 2103 void ConsoleVRDPServer::SendAudioVolume(uint16_t left, uint16_t right) const 2135 2104 { 2136 #ifdef VBOX_WITH_VRDP2137 2105 if (mpEntryPoints && mhServer) 2138 2106 { 2139 2107 mpEntryPoints->VRDEAudioVolume(mhServer, left, right); 2140 2108 } 2141 #endif2142 2109 } 2143 2110 2144 2111 void ConsoleVRDPServer::SendUSBRequest(uint32_t u32ClientId, void *pvParms, uint32_t cbParms) const 2145 2112 { 2146 #ifdef VBOX_WITH_VRDP2147 2113 if (mpEntryPoints && mhServer) 2148 2114 { 2149 2115 mpEntryPoints->VRDEUSBRequest(mhServer, u32ClientId, pvParms, cbParms); 2150 2116 } 2151 #endif2152 2117 } 2153 2118 2154 2119 void ConsoleVRDPServer::QueryInfo(uint32_t index, void *pvBuffer, uint32_t cbBuffer, uint32_t *pcbOut) const 2155 2120 { 2156 #ifdef VBOX_WITH_VRDP2157 2121 if (index == VRDE_QI_PORT) 2158 2122 { … … 2169 2133 mpEntryPoints->VRDEQueryInfo(mhServer, index, pvBuffer, cbBuffer, pcbOut); 2170 2134 } 2171 #endif 2172 } 2173 2174 #ifdef VBOX_WITH_VRDP 2135 } 2136 2175 2137 /* static */ int ConsoleVRDPServer::loadVRDPLibrary(const char *pszLibraryName) 2176 2138 { … … 2231 2193 return rc; 2232 2194 } 2233 #endif /* VBOX_WITH_VRDP */2234 2195 2235 2196 /* -
trunk/src/VBox/Main/DisplayImpl.cpp
r33582 r33590 1391 1391 } 1392 1392 1393 #ifdef VBOX_WITH_VRDP1394 1393 /* Called always by one VRDP server thread. Can be thread-unsafe. 1395 1394 */ … … 1456 1455 #endif /* VBOX_WITH_OLD_VBVA_LOCK */ 1457 1456 } 1458 #endif /* VBOX_WITH_VRDP */1459 1457 1460 1458 static bool vbvaVerifyRingBuffer (VBVAMEMORY *pVbvaMemory) -
trunk/src/VBox/Main/HostImpl.cpp
r33540 r33590 128 128 #include <iprt/param.h> 129 129 #include <iprt/env.h> 130 #ifndef VBOX_WITH_VRDP_MEMLEAK_DETECTOR131 130 #include <iprt/mem.h> 132 #endif /* !VBOX_WITH_VRDP_MEMLEAK_DETECTOR */133 131 #include <iprt/system.h> 134 132 #ifdef RT_OS_SOLARIS -
trunk/src/VBox/Main/HostPower.cpp
r32056 r33590 28 28 #include "VirtualBoxImpl.h" 29 29 30 #ifndef VBOX_WITH_VRDP_MEMLEAK_DETECTOR31 30 #include <iprt/mem.h> 32 #endif /* !VBOX_WITH_VRDP_MEMLEAK_DETECTOR */33 31 34 32 HostPowerService::HostPowerService (VirtualBox *aVirtualBox) -
trunk/src/VBox/Main/MachineImpl.cpp
r33543 r33590 2142 2142 STDMETHODIMP Machine::COMGETTER(VRDEServer)(IVRDEServer **vrdeServer) 2143 2143 { 2144 #ifdef VBOX_WITH_VRDP2145 2144 if (!vrdeServer) 2146 2145 return E_POINTER; … … 2155 2154 2156 2155 return S_OK; 2157 #else2158 NOREF(vrdeServer);2159 ReturnComNotImplemented();2160 #endif2161 2156 } 2162 2157 … … 5980 5975 if ( strType == "headless" 5981 5976 || strType == "capture" 5982 #ifdef VBOX_WITH_VRDP5983 5977 || strType == "vrdp" /* Deprecated. Same as headless. */ 5984 #endif5985 5978 ) 5986 5979 { … … 6532 6525 mBIOSSettings->init(this); 6533 6526 6534 #ifdef VBOX_WITH_VRDP6535 6527 /* create an associated VRDE object (default is disabled) */ 6536 6528 unconst(mVRDEServer).createObject(); 6537 6529 mVRDEServer->init(this); 6538 #endif6539 6530 6540 6531 /* create associated serial port objects */ … … 6631 6622 } 6632 6623 6633 #ifdef VBOX_WITH_VRDP6634 6624 if (mVRDEServer) 6635 6625 { … … 6637 6627 unconst(mVRDEServer).setNull(); 6638 6628 } 6639 #endif6640 6629 6641 6630 if (mBIOSSettings) … … 7141 7130 mHWData->mHpetEnabled = data.fHpetEnabled; 7142 7131 7143 #ifdef VBOX_WITH_VRDP7144 7132 /* VRDEServer */ 7145 7133 rc = mVRDEServer->loadSettings(data.vrdeSettings); 7146 7134 if (FAILED(rc)) return rc; 7147 #endif7148 7135 7149 7136 /* BIOS */ … … 8174 8161 data.fAccelerate2DVideo = !!mHWData->mAccelerate2DVideoEnabled; 8175 8162 8176 #ifdef VBOX_WITH_VRDP8177 8163 /* VRDEServer settings (optional) */ 8178 8164 rc = mVRDEServer->saveSettings(data.vrdeSettings); 8179 8165 if (FAILED(rc)) throw rc; 8180 #endif8181 8166 8182 8167 /* BIOS (required) */ … … 9320 9305 mBIOSSettings->rollback(); 9321 9306 9322 #ifdef VBOX_WITH_VRDP9323 9307 if (mVRDEServer && (mData->flModifications & IsModified_VRDEServer)) 9324 9308 mVRDEServer->rollback(); 9325 #endif9326 9309 9327 9310 if (mAudioAdapter) … … 9422 9405 9423 9406 mBIOSSettings->commit(); 9424 #ifdef VBOX_WITH_VRDP9425 9407 mVRDEServer->commit(); 9426 #endif9427 9408 mAudioAdapter->commit(); 9428 9409 mUSBController->commit(); … … 9554 9535 9555 9536 mBIOSSettings->copyFrom(aThat->mBIOSSettings); 9556 #ifdef VBOX_WITH_VRDP9557 9537 mVRDEServer->copyFrom(aThat->mVRDEServer); 9558 #endif9559 9538 mAudioAdapter->copyFrom(aThat->mAudioAdapter); 9560 9539 mUSBController->copyFrom(aThat->mUSBController); … … 9883 9862 unconst(mBIOSSettings).createObject(); 9884 9863 mBIOSSettings->init(this, aMachine->mBIOSSettings); 9885 #ifdef VBOX_WITH_VRDP9886 9864 /* create another VRDEServer object that will be mutable */ 9887 9865 unconst(mVRDEServer).createObject(); 9888 9866 mVRDEServer->init(this, aMachine->mVRDEServer); 9889 #endif9890 9867 /* create another audio adapter object that will be mutable */ 9891 9868 unconst(mAudioAdapter).createObject(); -
trunk/src/VBox/Main/Makefile.kmk
r33474 r33590 207 207 $(VBOX_MAIN_DEFS) \ 208 208 $(if $(VBOX_WITH_VBOXSDL),VBOX_WITH_VBOXSDL,) \ 209 $(if $(VBOX_WITH_VRDP),VBOX_WITH_VRDP,) \210 209 $(if $(VBOX_WITH_HEADLESS),VBOX_WITH_HEADLESS,) \ 211 210 $(if $(VBOX_WITH_QTGUI),VBOX_WITH_QTGUI,) \ … … 319 318 DisplayResampleImage.cpp \ 320 319 $(VBOX_AUTOGEN_EVENT_CPP) \ 321 $(if $(VBOX_WITH_VRDP),VRDPServerImpl.cpp,)\320 VRDPServerImpl.cpp \ 322 321 $(if $(VBOX_WITH_XPCOM),xpcom/server.cpp,) \ 323 322 $(VBOX_XML_SCHEMADEFS_CPP) \ … … 552 551 $(VBOX_MAIN_DEFS) \ 553 552 VBOX_COM_INPROC \ 554 $(if $(VBOX_WITH_VRDP),VBOX_WITH_VRDP,) \555 553 $(if $(VBOX_WITH_VRDP_VIDEO_CHANNEL),VBOX_WITH_VRDP_VIDEO_CHANNEL,) \ 556 554 $(if $(VBOX_WITH_HGCM),VBOX_WITH_HGCM,) \ … … 777 775 ) Sorry_Cannot_Find_The_Midl_Compiler_In_The_PSDK)) 778 776 IDL_DEFS = /nologo 779 ifdef VBOX_WITH_VRDP780 IDL_DEFS += /D VBOX_WITH_VRDP781 endif782 777 783 778 $(VBOX_IDL_FILE.MSCOM): $(VBOX_PATH_MAIN_SRC)/idl/midl.xsl $(VBOX_XIDL_FILE) | $$(dir $$@) -
trunk/src/VBox/Main/Performance.cpp
r32056 r33590 35 35 #include <VBox/err.h> 36 36 #include <iprt/string.h> 37 #ifndef VBOX_WITH_VRDP_MEMLEAK_DETECTOR38 37 #include <iprt/mem.h> 39 #endif /* !VBOX_WITH_VRDP_MEMLEAK_DETECTOR */40 38 #include <iprt/cpuset.h> 41 39 -
trunk/src/VBox/Main/SnapshotImpl.cpp
r33540 r33590 1006 1006 mBIOSSettings->initCopy(this, mPeer->mBIOSSettings); 1007 1007 1008 #ifdef VBOX_WITH_VRDP1009 1008 unconst(mVRDEServer).createObject(); 1010 1009 mVRDEServer->initCopy(this, mPeer->mVRDEServer); 1011 #endif1012 1010 1013 1011 unconst(mAudioAdapter).createObject(); … … 1099 1097 mBIOSSettings->init(this); 1100 1098 1101 #ifdef VBOX_WITH_VRDP1102 1099 unconst(mVRDEServer).createObject(); 1103 1100 mVRDEServer->init(this); 1104 #endif1105 1101 1106 1102 unconst(mAudioAdapter).createObject(); -
trunk/src/VBox/Main/USBProxyService.cpp
r33540 r33590 29 29 #include <iprt/semaphore.h> 30 30 #include <iprt/thread.h> 31 #ifndef VBOX_WITH_VRDP_MEMLEAK_DETECTOR32 31 #include <iprt/mem.h> 33 #endif /* !VBOX_WITH_VRDP_MEMLEAK_DETECTOR */34 32 #include <iprt/string.h> 35 33 -
trunk/src/VBox/Main/include/ConsoleVRDPServer.h
r33540 r33590 33 33 /////////////////////////////////////////////////////////////////////////////// 34 34 35 #ifdef VBOX_WITH_VRDP36 35 typedef struct _VRDPInputSynch 37 36 { … … 47 46 bool fClientScrollLock; 48 47 } VRDPInputSynch; 49 #endif /* VBOX_WITH_VRDP */50 48 51 49 /* Member of Console. Helper class for VRDP server management. Not a COM class. */ … … 60 58 void NotifyAbsoluteMouse (bool fGuestWantsAbsolute) 61 59 { 62 #ifdef VBOX_WITH_VRDP63 60 m_fGuestWantsAbsolute = fGuestWantsAbsolute; 64 #else65 NOREF(fGuestWantsAbsolute);66 #endif /* VBOX_WITH_VRDP */67 61 } 68 62 69 63 void NotifyKeyboardLedsChange (BOOL fNumLock, BOOL fCapsLock, BOOL fScrollLock) 70 64 { 71 #ifdef VBOX_WITH_VRDP72 65 bool fGuestNumLock = (fNumLock != FALSE); 73 66 bool fGuestCapsLock = (fCapsLock != FALSE); … … 88 81 m_InputSynch.fGuestCapsLock = fGuestCapsLock; 89 82 m_InputSynch.fGuestScrollLock = fGuestScrollLock; 90 #else91 NOREF(fNumLock);92 NOREF(fCapsLock);93 NOREF(fScrollLock);94 #endif /* VBOX_WITH_VRDP */95 83 } 96 84 … … 146 134 Console *mConsole; 147 135 148 #ifdef VBOX_WITH_VRDP149 136 HVRDESERVER mhServer; 150 137 … … 183 170 184 171 int32_t mVRDPBindPort; 185 #endif /* VBOX_WITH_VRDP */186 172 187 173 RTCRITSECT mCritSect; -
trunk/src/VBox/Main/include/DHCPServerRunner.h
r32056 r33590 18 18 #include <iprt/types.h> 19 19 #include <iprt/string.h> 20 #ifndef VBOX_WITH_VRDP_MEMLEAK_DETECTOR21 20 #include <iprt/mem.h> 22 #endif /* !VBOX_WITH_VRDP_MEMLEAK_DETECTOR */23 21 #include <VBox/com/string.h> 24 22 -
trunk/src/VBox/Main/include/DisplayImpl.h
r33146 r33590 148 148 bool VideoAccelAllowed (void); 149 149 150 #ifdef VBOX_WITH_VRDP151 150 void VideoAccelVRDP (bool fEnable); 152 #endif /* VBOX_WITH_VRDP */153 151 154 152 // IEventListener methods -
trunk/src/VBox/Main/include/Logging.h
r33540 r33590 90 90 #define MyLog(a) MyLogIt(LOG_INSTANCE, RTLOGGRPFLAGS_FLOW, LOG_GROUP, a) 91 91 92 #ifdef VBOX_WITH_VRDP_MEMLEAK_DETECTOR93 #include <iprt/err.h>94 #include <iprt/log.h>95 #include <iprt/critsect.h>96 #include <iprt/mem.h>97 98 void *MLDMemAllocDbg (size_t cb, bool fTmp, bool fZero, const char *pszCaller, int iLine);99 void *MLDMemReallocDbg (void *pv, size_t cb, const char *pszCaller, int iLine);100 void MLDMemFreeDbg (void *pv, bool fTmp);101 102 void MLDMemInit (const char *pszPrefix);103 void MLDMemUninit (void);104 105 void MLDMemDump (void);106 107 #define MLDMemAlloc(__cb) MLDMemAllocDbg (__cb, false /* fTmp */, false /* fZero */, __FILE__, __LINE__)108 #define MLDMemAllocZ(__cb) MLDMemAllocDbg (__cb, false /* fTmp */, true /* fZero */, __FILE__, __LINE__)109 #define MLDMemTmpAlloc(__cb) MLDMemAllocDbg (__cb, true /* fTmp */, false /* fZero */, __FILE__, __LINE__)110 #define MLDMemTmpAllocZ(__cb) MLDMemAllocDbg (__cb, true /* fTmp */, true /* fZero */, __FILE__, __LINE__)111 #define MLDMemRealloc(__pv, __cb) MLDMemReallocDbg (__pv, __cb, __FILE__, __LINE__)112 #define MLDMemFree(__pv) MLDMemFreeDbg (__pv, false /* fTmp */)113 #define MLDMemTmpFree(__pv) MLDMemFreeDbg (__pv, true /* fTmp */)114 115 #undef RTMemAlloc116 #define RTMemAlloc MLDMemAlloc117 #undef RTMemAllocZ118 #define RTMemAllocZ MLDMemAllocZ119 #undef RTMemTmpAlloc120 #define RTMemTmpAlloc MLDMemTmpAlloc121 #undef RTMemTmpAllocZ122 #define RTMemTmpAllocZ MLDMemTmpAllocZ123 #undef RTMemRealloc124 #define RTMemRealloc MLDMemRealloc125 #undef RTMemFree126 #define RTMemFree MLDMemFree127 #undef RTMemTmpFree128 #define RTMemTmpFree MLDMemTmpFree129 #endif /* VBOX_WITH_MLD_MEMLEAK_DETECTOR */130 131 92 #endif // ____H_LOGGING 132 93 /* vi: set tabstop=4 shiftwidth=4 expandtab: */ -
trunk/src/VBox/Main/win/PerformanceWin.cpp
r33540 r33590 35 35 #include <iprt/err.h> 36 36 #include <iprt/mp.h> 37 #ifndef VBOX_WITH_VRDP_MEMLEAK_DETECTOR38 37 #include <iprt/mem.h> 39 #endif /* !VBOX_WITH_VRDP_MEMLEAK_DETECTOR */40 38 41 39 #include <map> -
trunk/src/VBox/Main/win/dllmain.cpp
r32056 r33590 26 26 #include <iprt/initterm.h> 27 27 28 /* Memory leak detection. */29 #ifdef VBOX_WITH_VRDP_MEMLEAK_DETECTOR30 typedef struct _MLDMemBlock31 {32 unsigned uSignature;33 struct _MLDMemBlock *next;34 struct _MLDMemBlock *prev;35 const char *pszCaller;36 int iLine;37 bool fTmp;38 size_t size;39 void *pv;40 } MLDMemBlock;41 42 static MLDMemBlock *gMemBlockListHead;43 static RTCRITSECT g_critsect;44 static const char *gszMDLPrefix = "MLDMEM";45 static int gAllocated = 0;46 static int gFreed = 0;47 static bool gfMLD = false;48 49 50 #define MLD_BLOCK_TO_PTR(__p) ((__p)? (void *) ( (uint8_t *)(__p) + sizeof (MLDMemBlock) ) : NULL)51 #define MLD_PTR_TO_BLOCK(__p) ((__p)? (MLDMemBlock *)((uint8_t *)(__p) - sizeof (MLDMemBlock)): NULL)52 53 #define MLD_BLOCK_SIGNATURE 0xFEDCBA9854 55 static void vrdpMemLock (void)56 {57 int rc = RTCritSectEnter (&g_critsect);58 AssertRC(rc);59 }60 61 static void vrdpMemUnlock (void)62 {63 RTCritSectLeave (&g_critsect);64 }65 66 static void vrdpMemAppendBlock (MLDMemBlock *pBlock)67 {68 pBlock->next = gMemBlockListHead;69 pBlock->prev = NULL;70 71 if (gMemBlockListHead)72 {73 gMemBlockListHead->prev = pBlock;74 }75 gMemBlockListHead = pBlock;76 }77 78 static void vrdpMemExcludeBlock (MLDMemBlock *pBlock)79 {80 /* Assert that the block is in the list. */81 MLDMemBlock *pIter = gMemBlockListHead;82 83 while (pIter && pIter != pBlock)84 {85 pIter = pIter->next;86 }87 88 Assert (pIter == pBlock);89 90 /* Exclude the block from list. */91 if (pBlock->next)92 {93 pBlock->next->prev = pBlock->prev;94 }95 else96 {97 /* do nothing */98 }99 100 if (pBlock->prev)101 {102 pBlock->prev->next = pBlock->next;103 }104 else105 {106 gMemBlockListHead = pBlock->next;107 }108 109 pBlock->next = NULL;110 pBlock->prev = NULL;111 }112 113 void *MLDMemAllocDbg (size_t cb, bool fTmp, bool fZero, const char *pszCaller, int iLine)114 {115 size_t cbAlloc;116 MLDMemBlock *pBlock;117 118 // LogFlowFunc(("cb = %d, fTmp = %d, fZero = %d, pszCaller = %s, iLine = %d\n",119 // cb, fTmp, fZero, pszCaller, iLine));120 121 vrdpMemLock ();122 123 cbAlloc = cb + sizeof (MLDMemBlock);124 125 pBlock = (MLDMemBlock *)RTMemAlloc (cbAlloc);126 127 if (pBlock)128 {129 if (fZero)130 {131 memset (pBlock, 0, cbAlloc);132 }133 134 pBlock->pszCaller = pszCaller;135 pBlock->iLine = iLine;136 pBlock->size = cb;137 pBlock->fTmp = fTmp;138 pBlock->uSignature = MLD_BLOCK_SIGNATURE;139 pBlock->pv = MLD_BLOCK_TO_PTR(pBlock);140 141 vrdpMemAppendBlock (pBlock);142 143 gAllocated++;144 }145 146 vrdpMemUnlock ();147 148 return MLD_BLOCK_TO_PTR(pBlock);149 }150 151 void *MLDMemReallocDbg (void *pv, size_t cb, const char *pszCaller, int iLine)152 {153 MLDMemBlock *pBlock;154 155 // LogFlowFunc(("pv = %p, cb = %d, pszCaller = %s, iLine = %d\n",156 // pv, cb, pszCaller, iLine));157 158 vrdpMemLock ();159 160 pBlock = MLD_PTR_TO_BLOCK(pv);161 162 if (pBlock)163 {164 size_t cbAlloc = cb + sizeof (MLDMemBlock);165 166 Assert(pBlock->uSignature == MLD_BLOCK_SIGNATURE);167 Assert(!pBlock->fTmp); /* Tmp blocks are not to be reallocated. */168 Assert(pBlock->pv == pv);169 170 vrdpMemExcludeBlock (pBlock);171 172 pBlock = (MLDMemBlock *)RTMemRealloc (pBlock, cbAlloc);173 174 pBlock->pszCaller = pszCaller;175 pBlock->iLine = iLine;176 pBlock->size = cb;177 178 vrdpMemAppendBlock (pBlock);179 180 pv = MLD_BLOCK_TO_PTR(pBlock);181 182 pBlock->pv = pv;183 }184 else185 {186 pv = MLDMemAllocDbg (cb, false /* fTmp */, false /* fZero */, pszCaller, iLine);187 }188 189 vrdpMemUnlock ();190 191 return pv;192 }193 194 void MLDMemFreeDbg (void *pv, bool fTmp)195 {196 MLDMemBlock *pBlock;197 198 // LogFlowFunc(("pv = %d, fTmp = %d\n",199 // pv, fTmp));200 201 vrdpMemLock ();202 203 pBlock = MLD_PTR_TO_BLOCK(pv);204 205 if (pBlock)206 {207 Assert(pBlock->uSignature == MLD_BLOCK_SIGNATURE);208 Assert(pBlock->fTmp == fTmp);209 Assert(pBlock->pv == pv);210 211 vrdpMemExcludeBlock (pBlock);212 213 RTMemFree (pBlock);214 gFreed++;215 }216 217 vrdpMemUnlock ();218 }219 220 221 void MLDMemDump (void)222 {223 MLDMemBlock *pBlock = gMemBlockListHead;224 225 int c = 0;226 size_t size = 0;227 while (pBlock)228 {229 LogRel(("%s-MLDMEM: %p 0x%8X bytes %d %s@%d\n", gszMDLPrefix, pBlock, pBlock->size, pBlock->fTmp, pBlock->pszCaller, pBlock->iLine));230 c++;231 size += pBlock->size;232 pBlock = pBlock->next;233 }234 235 LogRel(("%s-MLDMEM: %d/%d/%d blocks allocated/freed/left, total %dKb in use.\n", gszMDLPrefix, gAllocated, gFreed, c, size / 1024));236 }237 238 static int gcRefsMem = 0;239 240 void MLDMemInit (const char *pszPrefix)241 {242 if (++gcRefsMem == 1)243 {244 int rc = RTCritSectInit (&g_critsect);245 AssertRC(rc);246 gMemBlockListHead = NULL;247 gszMDLPrefix = pszPrefix;248 gAllocated = 0;249 gFreed = 0;250 gfMLD = true;251 }252 }253 254 void MLDMemUninit (void)255 {256 MLDMemDump();257 258 if (--gcRefsMem == 0)259 {260 gfMLD = false;261 gMemBlockListHead = NULL;262 263 if (RTCritSectIsInitialized (&g_critsect))264 {265 RTCritSectDelete (&g_critsect);266 }267 }268 }269 270 void* operator new (std::size_t size) throw (std::bad_alloc)271 {272 if (gfMLD)273 return MLDMemAllocDbg (size, false /* bool fTmp */, true /* bool fZero */, __FILE__, __LINE__);274 else275 return malloc(size);276 }277 278 void operator delete (void* ptr) throw ()279 {280 if (gfMLD)281 MLDMemFreeDbg (ptr, false /* bool fTmp */);282 else283 free(ptr);284 }285 286 #endif /* !VBOX_WITH_VRDP_MEMLEAK_DETECTOR */287 288 28 CComModule _Module; 289 29 … … 305 45 // idempotent, so doesn't harm, and needed for COM embedding scenario 306 46 RTR3Init(); 307 308 #ifdef VBOX_WITH_VRDP_MEMLEAK_DETECTOR309 MLDMemInit("VBOXC");310 #endif /* !VBOX_WITH_VRDP_MEMLEAK_DETECTOR */311 47 } 312 48 else if (dwReason == DLL_PROCESS_DETACH) 313 49 { 314 50 _Module.Term(); 315 316 #ifdef VBOX_WITH_VRDP_MEMLEAK_DETECTOR317 MLDMemUninit();318 #endif /* !VBOX_WITH_VRDP_MEMLEAK_DETECTOR */319 51 } 320 52 return TRUE; -
trunk/src/VBox/Main/xpcom/server.cpp
r33540 r33590 143 143 NS_IMPL_THREADSAFE_ISUPPORTS1_CI(SharedFolder, ISharedFolder) 144 144 145 #ifdef VBOX_WITH_VRDP146 145 NS_DECL_CLASSINFO(VRDEServer) 147 146 NS_IMPL_THREADSAFE_ISUPPORTS1_CI(VRDEServer, IVRDEServer) 148 #endif149 147 150 148 NS_DECL_CLASSINFO(Host) -
trunk/src/libs/Makefile.kmk
r32233 r33590 49 49 endif 50 50 51 # OpenSSL for VRDP. 52 #if defined(VBOX_WITH_VRDP) && !defined(VBOX_ONLY_SDK) - this isn't right, thus: 51 # OpenSSL. 53 52 if !defined(VBOX_ONLY_SDK) \ 54 53 && "$(SDK_VBOX_OPENSSL_INCS)" == "$(SDK_VBOX_OPENSSL_VBOX_DEFAULT_INCS)" … … 56 55 endif 57 56 58 # libjpeg for VRDP video acceleration57 # libjpeg for VRDP video redirection 59 58 if defined(VBOX_WITH_VRDP) && defined(VBOX_WITH_VRDP_VIDEO_CHANNEL) 60 59 include $(PATH_SUB_CURRENT)/jpeg-8a/Makefile.kmk
Note:
See TracChangeset
for help on using the changeset viewer.