- Timestamp:
- Aug 29, 2013 4:35:14 PM (12 years ago)
- svn:sync-xref-src-repo-rev:
- 88547
- Location:
- trunk/src
- Files:
-
- 4 edited
- 2 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/glue/initterm.cpp
r47800 r48164 24 24 25 25 # include <stdlib.h> 26 27 /* XPCOM_GLUE is defined when the client uses the standalone glue28 * (i.e. dynamically picks up the existing XPCOM shared library installation).29 * This is not the case for VirtualBox XPCOM clients (they are always30 * distributed with the self-built XPCOM library, and therefore have a binary31 * dependency on it) but left here for clarity.32 */33 # if defined(XPCOM_GLUE)34 # include <nsXPCOMGlue.h>35 # endif36 26 37 27 # include <nsIComponentRegistrar.h> … … 355 345 LogFlowFunc(("component registry : \"%s\"\n", szCompReg)); 356 346 LogFlowFunc(("XPTI data file : \"%s\"\n", szXptiDat)); 357 358 #if defined (XPCOM_GLUE)359 XPCOMGlueStartup(nsnull);360 #endif361 347 362 348 static const char *kAppPathsToProbe[] = … … 584 570 Assert(wasInited == true); 585 571 NOREF(wasInited); 586 587 # if defined (XPCOM_GLUE)588 XPCOMGlueShutdown();589 # endif590 572 } 591 573 } -
trunk/src/VBox/Main/src-server/xpcom/server.cpp
r47525 r48164 5 5 6 6 /* 7 * Copyright (C) 2004-201 2Oracle Corporation7 * Copyright (C) 2004-2013 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 20 20 21 21 #include <nsIComponentRegistrar.h> 22 23 #ifdef XPCOM_GLUE24 # include <nsXPCOMGlue.h>25 #endif26 22 27 23 #include <nsEventQueueUtils.h> -
trunk/src/VBox/Main/testcase/Makefile.kmk
r47779 r48164 28 28 tstAPI \ 29 29 $(if $(VBOX_OSE),,tstOVF) \ 30 $(if $(VBOX_WITH_XPCOM),tstVBoxAPI Linux,tstVBoxAPIWin) \30 $(if $(VBOX_WITH_XPCOM),tstVBoxAPIXPCOM,tstVBoxAPIWin) \ 31 31 $(if $(VBOX_WITH_RESOURCE_USAGE_API),tstCollector,) \ 32 32 $(if $(VBOX_WITH_GUEST_CONTROL),tstGuestCtrlParseBuffer,) \ … … 55 55 samplesXPCOM_MODE = a+r,u+w 56 56 samplesXPCOM_INST = $(INST_SDK)bindings/xpcom/samples/ 57 samplesXPCOM_SOURCES = tstVBoxAPI Linux.cpp makefile.tstVBoxAPILinux=>Makefile57 samplesXPCOM_SOURCES = tstVBoxAPIXPCOM.cpp makefile.tstVBoxAPIXPCOM=>Makefile 58 58 59 59 … … 89 89 90 90 # 91 # tstVBoxAPI Linux91 # tstVBoxAPIXPCOM 92 92 # 93 93 # We only build the testcase here to make sure it builds. 94 94 # It comes with a custom makefile which should be tested as well! 95 95 # 96 tstVBoxAPI Linux_TEMPLATE = VBOXMAINCLIENTTSTEXE97 tstVBoxAPI Linux_SOURCES = tstVBoxAPILinux.cpp96 tstVBoxAPIXPCOM_TEMPLATE = VBOXMAINCLIENTTSTEXE 97 tstVBoxAPIXPCOM_SOURCES = tstVBoxAPIXPCOM.cpp 98 98 99 99 -
trunk/src/VBox/Main/testcase/makefile.tstVBoxAPIXPCOM
r48086 r48164 1 1 # 2 # tstVBoxAPI Linuxmakefile2 # tstVBoxAPIXPCOM makefile 3 3 # 4 4 # 5 # Copyright (C) 2006-201 0Oracle Corporation5 # Copyright (C) 2006-2013 Oracle Corporation 6 6 # 7 7 # This file is part of VirtualBox Open Source Edition (OSE), as … … 36 36 # Link with the public XPCOM libraries 37 37 # 38 tstVBoxAPI Linux: tstVBoxAPILinux.o38 tstVBoxAPIXPCOM: tstVBoxAPIXPCOM.o 39 39 g++ -g -o $@ $^ \ 40 40 $(PATH_BIN)/VBoxXPCOM.so \ … … 42 42 -ldl -lpthread 43 43 44 tstVBoxAPI Linux.o: tstVBoxAPILinux.cpp45 g++ -c - DRT_OS_LINUX -g -fshort-wchar $(addprefix -I, $(INCS_XPCOM)) $(addprefix -D, $(DEFS_XPCOM)) -o $@ tstVBoxAPILinux.cpp44 tstVBoxAPIXPCOM.o: tstVBoxAPIXPCOM.cpp 45 g++ -c -g -fshort-wchar $(addprefix -I, $(INCS_XPCOM)) $(addprefix -D, $(DEFS_XPCOM)) -o $@ tstVBoxAPIXPCOM.cpp 46 46 47 47 clean: 48 rm -f tstVBoxAPI Linux tstVBoxAPILinux.o48 rm -f tstVBoxAPIXPCOM tstVBoxAPIXPCOM.o -
trunk/src/VBox/Main/testcase/tstVBoxAPIXPCOM.cpp
r48086 r48164 67 67 * Include the XPCOM headers 68 68 */ 69 70 #if defined(XPCOM_GLUE)71 #include <nsXPCOMGlue.h>72 #endif73 74 69 #include <nsMemory.h> 75 70 #include <nsString.h> … … 472 467 * What we do is just follow the required steps to get an instance 473 468 * of our main interface, which is IVirtualBox. 474 */ 475 #if defined(XPCOM_GLUE) 476 XPCOMGlueStartup(nsnull); 477 #endif 478 479 /* 469 * 480 470 * Note that we scope all nsCOMPtr variables in order to have all XPCOM 481 471 * objects automatically released before we call NS_ShutdownXPCOM at the … … 578 568 */ 579 569 NS_ShutdownXPCOM(nsnull); 580 #if defined(XPCOM_GLUE)581 XPCOMGlueShutdown();582 #endif583 570 RTPrintf("Done!\n"); 584 571 return 0; -
trunk/src/libs/xpcom18a4/Makefile.kmk
r47900 r48164 88 88 VBox-xpcom-proxy \ 89 89 VBoxXPCOMGlue_s \ 90 VBoxXPCOMGlue\90 $(if $(VBOX_WITH_XPCOM_GLUE_WHICH_IS_UNUSED),VBoxXPCOMGlue,) \ 91 91 VBox-xpcom-ipcutils \ 92 92 VBox-xpcom-ipcshared \ … … 888 888 # The VBoxXPCOM Glue static libraries. 889 889 # 890 # See http://developer.mozilla.org/en/docs/XPCOM_Glue for details about the 891 # original XPCOM glue library purpose and usage. 892 # 893 # We don't really use the glue library in the described way because we don't 894 # provide frozen APIs (yet), so all VBox XPCOM client applications are 895 # dependent on the given version of both the VBox XPCOM runtime (binary 896 # dependency) and VirtualBox component library (COM interface dependency). For 897 # this reason, VBox client applications link to the VBox XPCOM shared library 898 # directly (instead of linking to the standalone XPCOM glue library that would 899 # dynamically search for and load the installed XPCOM runtime). For the same 900 # reason, we link all parts of XPCOM into a single shared XPCOM library below 901 # (as opposed to the original XPCOM where e.g. NSPR lives in a separate DLL). 890 # This isn't the normal XPCOM glue (see the places in XPCOM where XPCOM_GLUE is 891 # checked), VirtualBox has its own glue library and this means this isn't used 892 # much (one reason is that we don't provide frozen APIs yet). All VBox XPCOM 893 # client applications are dependent on the given version of both the VBox XPCOM 894 # runtime (binary dependency) and VirtualBox component library (COM interface 895 # dependency). For this reason, VBox client applications link to the VBox XPCOM 896 # shared library directly (instead of linking to the standalone XPCOM glue 897 # library that would dynamically search for and load the installed XPCOM 898 # runtime). For the same reason, we link all parts of XPCOM into a single 899 # shared XPCOM library below (as opposed to the original XPCOM where e.g. NSPR 900 # lives in a separate DLL). Additionally there is VBox specific glue code to 901 # make both the client and server side code build with both XPCOM and COM, 902 # which should be made part of the SDK eventually, but this is a higher level 903 # of abstraction than this XPCOM specific glue code. 902 904 # 903 905 VBoxXPCOMGlue_COMMON_SOURCES = \ … … 917 919 VBoxXPCOMGlue_s_SOURCES = $(VBoxXPCOMGlue_COMMON_SOURCES) 918 920 919 # standalone glue library which all third-party client apps (if any) will link with 920 # (currently not used anywhere (see above) but still built to make sure 921 # the code inside #ifdef XPCOM_GLUE compiles) 921 # standalone glue library which all third-party client apps (if any) will 922 # link with (currently completely unused and nit built, to be part of the SDK) 922 923 VBoxXPCOMGlue_TEMPLATE = XPCOM 923 VBoxXPCOMGlue_DEFS = XPCOM_GLUE 924 if defined(VBOX_WITH_HARDENING) && defined(VBOX_PATH_APP_PRIVATE_ARCH) 925 VBoxXPCOMGlue_DEFS += MOZ_DEFAULT_VBOX_XPCOM_HOME=\"$(VBOX_PATH_APP_PRIVATE_ARCH)\" 926 endif 927 VBoxXPCOMGlue_SOURCES = $(VBoxXPCOMGlue_COMMON_SOURCES) \ 928 xpcom/glue/standalone/nsXPCOMGlue.cpp \ 929 xpcom/glue/standalone/nsGREDirServiceProvider.cpp 930 VBoxXPCOMGlue_SOURCES += \ 931 $(VBox-xpcom-string_1_TARGET) 924 VBoxXPCOMGlue_SOURCES = $(VBoxXPCOMGlue_COMMON_SOURCES) 932 925 #VBoxXPCOMGlue_INST = lib/ $(INST_SDK)lib/ 933 926
Note:
See TracChangeset
for help on using the changeset viewer.