Changeset 93410 in vbox
- Timestamp:
- Jan 24, 2022 2:45:10 PM (3 years ago)
- Location:
- trunk/src/VBox/Main
- Files:
-
- 1 added
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/Config.kmk
r93115 r93410 40 40 VBOX_AUTOGEN_EVENT_CPP = $(PATH_TARGET)/Main/VBoxEvents.cpp 41 41 42 # Enum stringify functions. 43 VBOX_AUTOGEN_STRINGIFY_ENUMS_H = $(PATH_TARGET)/Main/StringifyEnums.h 44 VBOX_AUTOGEN_STRINGIFY_ENUMS_CPP = $(PATH_TARGET)/Main/StringifyEnums.cpp 45 -
trunk/src/VBox/Main/Makefile.kmk
r93312 r93410 576 576 $(VBOX_XML_SCHEMADEFS_H) \ 577 577 $(VBOX_AUTOGEN_EVENT_H) \ 578 $(VBOX_AUTOGEN_STRINGIFY_ENUMS_H) \ 578 579 $(VBOX_MAIN_APIWRAPPER_GEN_HDRS) 579 580 … … 674 675 $(VBOX_XML_SCHEMADEFS_CPP) \ 675 676 $(VBOX_AUTOGEN_EVENT_CPP) \ 677 $(VBOX_AUTOGEN_STRINGIFY_ENUMS_CPP) \ 676 678 $(if $(VBOX_WITH_XPCOM),src-server/xpcom/server.cpp,) 677 679 … … 867 869 # Generate some event stuff for VBoxSVC and VBoxC. 868 870 # 871 872 # Events 869 873 $(call KB_FN_AUTO_CMD_DEPS,$(VBOX_AUTOGEN_EVENT_H).ts) 870 874 $(VBOX_AUTOGEN_EVENT_H).ts +| $(VBOX_AUTOGEN_EVENT_H): $(VBOX_PATH_MAIN_SRC)/idl/comimpl.xsl $(VBOX_XIDL_FILE) | $$(dir $$@) … … 882 886 883 887 OTHER_CLEAN += $(VBOX_AUTOGEN_EVENT_H).ts $(VBOX_AUTOGEN_EVENT_H) $(VBOX_AUTOGEN_EVENT_CPP).ts $(VBOX_AUTOGEN_EVENT_CPP) 888 889 # Enum stringifiers 890 $(call KB_FN_AUTO_CMD_DEPS,$(VBOX_AUTOGEN_STRINGIFY_ENUMS_H).ts) 891 $(VBOX_AUTOGEN_STRINGIFY_ENUMS_H).ts +| $(VBOX_AUTOGEN_STRINGIFY_ENUMS_H): $(VBOX_PATH_MAIN_SRC)/idl/stringify-enums.xsl $(VBOX_XIDL_FILE) | $$(dir $$@) 892 $(call KB_FN_AUTO_CMD_DEPS_COMMANDS) 893 $(call MSG_TOOL,xsltproc,autogen enum stringifiers,$<,$@) 894 $(QUIET)$(VBOX_XSLTPROC) --stringparam G_kind header -o "$@" "$(VBOX_PATH_MAIN_SRC)/idl/stringify-enums.xsl" "$(VBOX_XIDL_FILE)" 895 $(QUIET)$(CP) --changed -fv -- "$@" "$(VBOX_AUTOGEN_STRINGIFY_ENUMS_H)" 896 897 $(call KB_FN_AUTO_CMD_DEPS,$(VBOX_AUTOGEN_STRINGIFY_ENUMS_CPP).ts) 898 $(VBOX_AUTOGEN_STRINGIFY_ENUMS_CPP).ts +| $(VBOX_AUTOGEN_STRINGIFY_ENUMS_CPP): $(VBOX_PATH_MAIN_SRC)/idl/stringify-enums.xsl $(VBOX_XIDL_FILE) | $$(dir $$@) 899 $(call KB_FN_AUTO_CMD_DEPS_COMMANDS) 900 $(call MSG_TOOL,xsltproc,autogen enum stringifiers,$<,$@) 901 $(QUIET)$(VBOX_XSLTPROC) --stringparam G_kind source -o "$@" "$(VBOX_PATH_MAIN_SRC)/idl/stringify-enums.xsl" "$(VBOX_XIDL_FILE)" 902 $(QUIET)$(CP) --changed -fv -- "$@" "$(VBOX_AUTOGEN_STRINGIFY_ENUMS_CPP)" 903 904 OTHER_CLEAN += $(VBOX_AUTOGEN_STRINGIFY_ENUMS_H).ts $(VBOX_AUTOGEN_STRINGIFY_ENUMS_H) $(VBOX_AUTOGEN_STRINGIFY_ENUMS_CPP).ts $(VBOX_AUTOGEN_STRINGIFY_ENUMS_CPP) 884 905 885 906 ifdef VBOX_WITH_XPCOM … … 1039 1060 $(VBOX_XML_SCHEMADEFS_H) \ 1040 1061 $(VBOX_AUTOGEN_EVENT_H) \ 1062 $(VBOX_AUTOGEN_STRINGIFY_ENUMS_H) \ 1041 1063 $(VBOX_MAIN_APIWRAPPER_GEN_HDRS) 1042 1064 … … 1087 1109 src-client/VMMDevInterface.cpp \ 1088 1110 $(VBOX_AUTOGEN_EVENT_CPP) \ 1111 $(VBOX_AUTOGEN_STRINGIFY_ENUMS_CPP) \ 1089 1112 $(VBOX_XML_SCHEMADEFS_CPP) 1090 1113 … … 1215 1238 src-client/VirtualBoxClientImpl.cpp \ 1216 1239 $(VBOX_AUTOGEN_EVENT_CPP) \ 1240 $(VBOX_AUTOGEN_STRINGIFY_ENUMS_CPP) \ 1217 1241 $(VBOX_XML_SCHEMADEFS_CPP) 1218 1242 ifdef VBOX_WITH_MAIN_NLS -
trunk/src/VBox/Main/include/Global.h
r93406 r93410 147 147 148 148 /** 149 * Stringify a machine state. 149 * Stringify a machine state - translated. 150 * 151 * Drop the Global:: prefix and include StringifyEnums.h for an untranslated 152 * version of this method. 150 153 * 151 154 * @returns Pointer to a read only string. … … 155 158 156 159 /** 157 * Stringify a session state. 160 * Stringify a session state - translated. 161 * 162 * Drop the Global:: prefix and include StringifyEnums.h for an untranslated 163 * version of this method. 158 164 * 159 165 * @returns Pointer to a read only string. … … 162 168 static const char *stringifySessionState(SessionState_T aState); 163 169 170 #if 0 /* unused */ 164 171 /** 165 172 * Stringify a storage bus type. 166 173 * 174 * Drop the Global:: prefix and include StringifyEnums.h for an untranslated 175 * version of this method. 176 * 167 177 * @returns Pointer to a read only string. 168 178 * @param aBus The storage bus type. … … 173 183 * Stringify a device type. 174 184 * 185 * Drop the Global:: prefix and include StringifyEnums.h for an untranslated 186 * version of this method. 187 * 175 188 * @returns Pointer to a read only string. 176 189 * @param aType The device type. … … 181 194 * Stringify a reason. 182 195 * 196 * Drop the Global:: prefix and include StringifyEnums.h for an untranslated 197 * version of this method. 198 * 183 199 * @returns Pointer to a read only string. 184 200 * @param aReason The reason code. 185 201 */ 186 202 static const char *stringifyReason(Reason_T aReason); 203 #endif 187 204 188 205 /** -
trunk/src/VBox/Main/src-all/Global.cpp
r93405 r93410 19 19 20 20 #include "Global.h" 21 #include "StringifyEnums.h" 21 22 22 23 #include <iprt/assert.h> … … 615 616 case MachineState_Snapshotting: return GlobalCtx::tr("Snapshotting"); 616 617 default: 617 { 618 AssertMsgFailed(("%d (%#x)\n", aState, aState)); 619 static char s_szMsg[48]; 620 RTStrPrintf(s_szMsg, sizeof(s_szMsg), GlobalCtx::tr("InvalidState-0x%08x\n"), aState); 621 return s_szMsg; 622 } 618 AssertMsgFailedReturn(("%d (%#x)\n", aState, aState), ::stringifyMachineState(aState)); 623 619 } 624 620 } … … 635 631 case SessionState_Unlocking: return GlobalCtx::tr("Unlocking"); 636 632 default: 637 { 638 AssertMsgFailed(("%d (%#x)\n", aState, aState)); 639 static char s_szMsg[48]; 640 RTStrPrintf(s_szMsg, sizeof(s_szMsg), GlobalCtx::tr("InvalidState-0x%08x\n"), aState); 641 return s_szMsg; 642 } 633 AssertMsgFailedReturn(("%d (%#x)\n", aState, aState), ::stringifySessionState(aState)); 643 634 } 644 635 } 636 637 #if 0 /* unused */ 645 638 646 639 /*static*/ const char * … … 649 642 switch (aBus) 650 643 { 651 case StorageBus_Null: return "Null";652 case StorageBus_IDE: return "IDE";653 case StorageBus_SATA: return "SATA";654 case StorageBus_Floppy: return "Floppy";655 case StorageBus_SAS: return "SAS";656 case StorageBus_USB: return "USB";657 case StorageBus_PCIe: return "PCIe";658 case StorageBus_VirtioSCSI: return "VirtioSCSI";644 case StorageBus_Null: return GlobalCtx::tr("Null"); 645 case StorageBus_IDE: return GlobalCtx::tr("IDE"); 646 case StorageBus_SATA: return GlobalCtx::tr("SATA"); 647 case StorageBus_Floppy: return GlobalCtx::tr("Floppy"); 648 case StorageBus_SAS: return GlobalCtx::tr("SAS"); 649 case StorageBus_USB: return GlobalCtx::tr("USB"); 650 case StorageBus_PCIe: return GlobalCtx::tr("PCIe"); 651 case StorageBus_VirtioSCSI: return GlobalCtx::tr("VirtioSCSI"); 659 652 default: 660 { 661 AssertMsgFailed(("%d (%#x)\n", aBus, aBus)); 662 static char s_szMsg[48]; 663 RTStrPrintf(s_szMsg, sizeof(s_szMsg), "InvalidBus-0x%08x", aBus); 664 return s_szMsg; 665 } 653 AssertMsgFailedReturn(("%d (%#x)\n", aBus, aBus), ::stringifyStorageBus(aBus)); 666 654 } 667 655 } … … 680 668 case DeviceType_SharedFolder: return GlobalCtx::tr("ShardFolder"); 681 669 default: 682 { 683 AssertMsgFailed(("%d (%#x)\n", aType, aType)); 684 static char s_szMsg[48]; 685 RTStrPrintf(s_szMsg, sizeof(s_szMsg), GlobalCtx::tr("InvalidType-0x%08x\n"), aType); 686 return s_szMsg; 687 } 670 AssertMsgFailedReturn(("%d (%#x)\n", aType, aType), ::stringifyDeviceType(aType)); 688 671 } 689 672 } … … 700 683 case Reason_Snapshot: return GlobalCtx::tr("snapshot"); 701 684 default: 702 { 703 AssertMsgFailed(("%d (%#x)\n", aReason, aReason)); 704 static char s_szMsg[48]; 705 RTStrPrintf(s_szMsg, sizeof(s_szMsg), GlobalCtx::tr("invalid reason %#010x\n"), aReason); 706 return s_szMsg; 707 } 685 AssertMsgFailedReturn(("%d (%#x)\n", aReason, aReason), ::stringifyReason(aReason)); 708 686 } 709 687 } 710 688 689 #endif /* unused */ 690 711 691 /* vi: set tabstop=4 shiftwidth=4 expandtab: */ -
trunk/src/VBox/Main/src-client/ConsoleImpl.cpp
r93362 r93410 78 78 #include "EmulatedUSBImpl.h" 79 79 #include "NvramStoreImpl.h" 80 #include "StringifyEnums.h" 80 81 81 82 #include "VBoxEvents.h" … … 6682 6683 LogFlowThisFunc(("Sending PAUSE request...\n")); 6683 6684 if (aReason != Reason_Unspecified) 6684 LogRel(("Pausing VM execution, reason '%s'\n", Global::stringifyReason(aReason)));6685 LogRel(("Pausing VM execution, reason '%s'\n", ::stringifyReason(aReason))); 6685 6686 6686 6687 /** @todo r=klaus make use of aReason */ … … 6728 6729 LogFlowThisFunc(("Sending RESUME request...\n")); 6729 6730 if (aReason != Reason_Unspecified) 6730 LogRel(("Resuming VM execution, reason '%s'\n", Global::stringifyReason(aReason)));6731 LogRel(("Resuming VM execution, reason '%s'\n", ::stringifyReason(aReason))); 6731 6732 6732 6733 int vrc; … … 6841 6842 6842 6843 if (aReason != Reason_Unspecified) 6843 LogRel(("Saving state of VM, reason '%s'\n", Global::stringifyReason(aReason)));6844 LogRel(("Saving state of VM, reason '%s'\n", ::stringifyReason(aReason))); 6844 6845 6845 6846 /* ensure the directory for the saved state file exists */ … … 8146 8147 || mMachineState == MachineState_TeleportingPausedVM 8147 8148 || mMachineState == MachineState_TeleportingIn 8148 , ("Invalid machine state: %s\n", Global::stringifyMachineState(mMachineState)));8149 , ("Invalid machine state: %s\n", ::stringifyMachineState(mMachineState))); 8149 8150 8150 8151 LogRel(("Console::powerDown(): A request to power off the VM has been issued (mMachineState=%s, InUninit=%d)\n", 8151 Global::stringifyMachineState(mMachineState), getObjectState().getState() == ObjectState::InUninit));8152 ::stringifyMachineState(mMachineState), getObjectState().getState() == ObjectState::InUninit)); 8152 8153 8153 8154 /* Check if we need to power off the VM. In case of mVMPoweredOff=true, the … … 8405 8406 { 8406 8407 LogThisFunc(("machineState=%s -> %s aUpdateServer=%RTbool\n", 8407 Global::stringifyMachineState(mMachineState), Global::stringifyMachineState(aMachineState), aUpdateServer));8408 LogRel(("Console: Machine state changed to '%s'\n", Global::stringifyMachineState(aMachineState)));8408 ::stringifyMachineState(mMachineState), ::stringifyMachineState(aMachineState), aUpdateServer)); 8409 LogRel(("Console: Machine state changed to '%s'\n", ::stringifyMachineState(aMachineState))); 8409 8410 mMachineState = aMachineState; 8410 8411 … … 9048 9049 9049 9050 default: 9050 AssertMsgFailed(("%s\n", Global::stringifyMachineState(that->mMachineState)));9051 AssertMsgFailed(("%s\n", ::stringifyMachineState(that->mMachineState))); 9051 9052 } 9052 9053 break; … … 9075 9076 9076 9077 default: 9077 AssertMsgFailed(("%s/%s -> %s\n", Global::stringifyMachineState(that->mMachineState),9078 AssertMsgFailed(("%s/%s -> %s\n", ::stringifyMachineState(that->mMachineState), 9078 9079 VMR3GetStateName(enmOldState), VMR3GetStateName(enmState) )); 9079 9080 that->i_setMachineState(MachineState_Paused); … … 9112 9113 AssertMsg( that->mMachineState == MachineState_LiveSnapshotting 9113 9114 || that->mMachineState == MachineState_Teleporting, 9114 ("%s/%s -> %s\n", Global::stringifyMachineState(that->mMachineState),9115 ("%s/%s -> %s\n", ::stringifyMachineState(that->mMachineState), 9115 9116 VMR3GetStateName(enmOldState), VMR3GetStateName(enmState) )); 9116 9117 break; -
trunk/src/VBox/Main/src-client/ConsoleImplTeleporter.cpp
r93115 r93410 24 24 25 25 #include "ConsoleImpl.h" 26 #include "ProgressImpl.h" 26 27 #include "Global.h" 27 #include " ProgressImpl.h"28 #include "StringifyEnums.h" 28 29 29 30 #include "AutoCaller.h" … … 814 815 */ 815 816 AssertLogRelMsg(enmVMState == VMSTATE_SUSPENDED, ("%s\n", VMR3GetStateName(enmVMState))); 816 AssertLogRelMsg(enmMachineState == MachineState_TeleportingPausedVM, 817 ("%s\n", Global::stringifyMachineState(enmMachineState))); 817 AssertLogRelMsg(enmMachineState == MachineState_TeleportingPausedVM, ("%s\n", ::stringifyMachineState(enmMachineState))); 818 818 819 819 ptrVM.release(); -
trunk/src/VBox/Main/src-client/SessionImpl.cpp
r93115 r93410 21 21 #include "SessionImpl.h" 22 22 #include "ConsoleImpl.h" 23 #include "ClientTokenHolder.h" 23 24 #include "Global.h" 24 #include " ClientTokenHolder.h"25 #include "StringifyEnums.h" 25 26 26 27 #include "AutoCaller.h" … … 525 526 AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS); 526 527 527 LogFlowThisFunc(("mState=%s, mType=%d\n", Global::stringifySessionState(mState), mType));528 LogFlowThisFunc(("mState=%s, mType=%d\n", ::stringifySessionState(mState), mType)); 528 529 529 530 if (mState == SessionState_Unlocking) … … 1163 1164 aFinalRelease, aFromServer)); 1164 1165 1165 LogFlowThisFunc(("mState=%s, mType=%d\n", Global::stringifySessionState(mState), mType));1166 LogFlowThisFunc(("mState=%s, mType=%d\n", ::stringifySessionState(mState), mType)); 1166 1167 1167 1168 Assert(aLockW.isWriteLockOnCurrentThread()); -
trunk/src/VBox/Main/src-server/MachineImpl.cpp
r93388 r93410 61 61 #include "HashedPw.h" 62 62 #include "Performance.h" 63 #include "StringifyEnums.h" 63 64 64 65 #include <iprt/asm.h> … … 2977 2978 mUserData->s.strName.c_str()); 2978 2979 2979 LogFlowThisFunc(("mSession.mState=%s\n", Global::stringifySessionState(mData->mSession.mState)));2980 LogFlowThisFunc(("mSession.mState=%s\n", ::stringifySessionState(mData->mSession.mState))); 2980 2981 2981 2982 SessionState_T oldState = mData->mSession.mState; … … 2990 2991 mData->mSession.mProgress->WaitForCompletion(1000); 2991 2992 alock.acquire(); 2992 LogFlowThisFunc(("after waiting: mSession.mState=%s\n", Global::stringifySessionState(mData->mSession.mState)));2993 LogFlowThisFunc(("after waiting: mSession.mState=%s\n", ::stringifySessionState(mData->mSession.mState))); 2993 2994 } 2994 2995 … … 7401 7402 mUserData->s.strName.c_str()); 7402 7403 7403 LogFlowThisFunc(("mSession.mState=%s\n", Global::stringifySessionState(mData->mSession.mState)));7404 LogFlowThisFunc(("mSession.mState=%s\n", ::stringifySessionState(mData->mSession.mState))); 7404 7405 7405 7406 /* The process started when launching a VM with separate UI/VM processes is always … … 8476 8477 { 8477 8478 LogFlowThisFuncEnter(); 8478 LogFlowThisFunc(("aMachineState=%s\n", Global::stringifyMachineState(aMachineState) ));8479 LogFlowThisFunc(("aMachineState=%s\n", ::stringifyMachineState(aMachineState) )); 8479 8480 Assert(aMachineState != MachineState_Null); 8480 8481 … … 13601 13602 13602 13603 if (!Global::IsOnline(mData->mMachineState)) 13603 { 13604 AssertMsgFailedReturn(("%s\n", Global::stringifyMachineState(mData->mMachineState)), 13605 VBOX_E_INVALID_VM_STATE); 13606 } 13604 AssertMsgFailedReturn(("%s\n", ::stringifyMachineState(mData->mMachineState)), VBOX_E_INVALID_VM_STATE); 13607 13605 13608 13606 i_setModified(IsModified_MachineData); … … 14662 14660 AssertMsgReturn(oldMachineState != aMachineState, 14663 14661 ("oldMachineState=%s, aMachineState=%s\n", 14664 Global::stringifyMachineState(oldMachineState), Global::stringifyMachineState(aMachineState)),14662 ::stringifyMachineState(oldMachineState), ::stringifyMachineState(aMachineState)), 14665 14663 E_FAIL); 14666 14664 … … 14889 14887 } 14890 14888 14891 LogFlowThisFunc(("rc=%Rhrc [%s]\n", rc, Global::stringifyMachineState(mData->mMachineState) ));14889 LogFlowThisFunc(("rc=%Rhrc [%s]\n", rc, ::stringifyMachineState(mData->mMachineState) )); 14892 14890 LogFlowThisFuncLeave(); 14893 14891 return rc; -
trunk/src/VBox/Main/src-server/MediumAttachmentImpl.cpp
r93115 r93410 21 21 #include "MediumImpl.h" 22 22 #include "Global.h" 23 #include "StringifyEnums.h" 23 24 24 25 #include "AutoCaller.h" … … 629 630 this, 630 631 pszEndNick ? pszEndNick - pszName : 4, pszName, 631 m->bd->mData.lPort, m->bd->mData.lDevice, Global::stringifyDeviceType(m->bd->mData.deviceType),632 m->bd->mData.lPort, m->bd->mData.lDevice, ::stringifyDeviceType(m->bd->mData.deviceType), 632 633 m->bd->fImplicit ? ":I" : ""); 633 634 } -
trunk/src/VBox/Main/src-server/SnapshotImpl.cpp
r93115 r93410 26 26 #include "MediumImpl.h" 27 27 #include "MediumFormatImpl.h" 28 #include "ProgressImpl.h" 28 29 #include "Global.h" 29 #include " ProgressImpl.h"30 #include "StringifyEnums.h" 30 31 31 32 /// @todo these three includes are required for about one or two lines, try … … 1935 1936 rc = i_finishTakingSnapshot(task, alock, true /*aSuccess*/); 1936 1937 // do not throw rc here because we can't call i_finishTakingSnapshot() twice 1937 LogFlowThisFunc(("i_finishTakingSnapshot -> %Rhrc [mMachineState=%s]\n", rc, Global::stringifyMachineState(mData->mMachineState)));1938 LogFlowThisFunc(("i_finishTakingSnapshot -> %Rhrc [mMachineState=%s]\n", rc, ::stringifyMachineState(mData->mMachineState))); 1938 1939 } 1939 1940 catch (HRESULT rcThrown) 1940 1941 { 1941 1942 rc = rcThrown; 1942 LogThisFunc(("Caught %Rhrc [mMachineState=%s]\n", rc, Global::stringifyMachineState(mData->mMachineState)));1943 LogThisFunc(("Caught %Rhrc [mMachineState=%s]\n", rc, ::stringifyMachineState(mData->mMachineState))); 1943 1944 1944 1945 /// @todo r=klaus check that the implicit diffs created above are cleaned up im the relevant error cases … … 1984 1985 if (FAILED(rc2) || enmMachineState == MachineState_Null) 1985 1986 { 1986 AssertMsgFailed(("state=%s\n", Global::stringifyMachineState(enmMachineState)));1987 AssertMsgFailed(("state=%s\n", ::stringifyMachineState(enmMachineState))); 1987 1988 // pure nonsense, try to continue somehow 1988 1989 enmMachineState = MachineState_Aborted; … … 2019 2020 } 2020 2021 LogFlowThisFunc(("local mMachineState=%s remote mMachineState=%s\n", 2021 Global::stringifyMachineState(mData->mMachineState), 2022 Global::stringifyMachineState(enmMachineState))); 2022 ::stringifyMachineState(mData->mMachineState), ::stringifyMachineState(enmMachineState))); 2023 2023 2024 2024 if (fNeedClientMachineStateUpdate) -
trunk/src/VBox/Main/src-server/UnattendedImpl.cpp
r93405 r93410 30 30 #include "MachineImpl.h" 31 31 #include "Global.h" 32 #include "StringifyEnums.h" 32 33 33 34 #include <VBox/err.h> … … 1927 1928 if (enmRecommendedStorageBus != enmRecommendedStorageBus2) 1928 1929 LogRel(("Unattended::reconfigureVM: DVD storage bus recommendations differs for the VM and the ISO guest OS types: VM: %s (%ls), ISO: %s (%ls)\n", 1929 Global::stringifyStorageBus(enmRecommendedStorageBus), bstrGuestOsTypeId.raw(),1930 Global::stringifyStorageBus(enmRecommendedStorageBus2), bstrDetectedOSTypeId.raw() ));1930 ::stringifyStorageBus(enmRecommendedStorageBus), bstrGuestOsTypeId.raw(), 1931 ::stringifyStorageBus(enmRecommendedStorageBus2), bstrDetectedOSTypeId.raw() )); 1931 1932 } 1932 1933 }
Note:
See TracChangeset
for help on using the changeset viewer.