Changeset 30764 in vbox
- Timestamp:
- Jul 9, 2010 2:12:12 PM (15 years ago)
- svn:sync-xref-src-repo-rev:
- 63552
- Location:
- trunk
- Files:
-
- 51 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/settings.h
r30760 r30764 841 841 public: 842 842 com::Guid uuid; 843 844 com::Utf8Str strStateFile;845 com::Guid uuidCurrentSnapshot;846 847 843 com::Utf8Str strName; 848 844 bool fNameSync; 849 845 com::Utf8Str strDescription; 850 846 com::Utf8Str strOsType; 847 com::Utf8Str strStateFile; 848 com::Guid uuidCurrentSnapshot; 851 849 com::Utf8Str strSnapshotFolder; 852 850 bool fTeleporterEnabled; -
trunk/src/VBox/Frontends/VBoxBFE/Makefile.kmk
r30760 r30764 24 24 # 25 25 VBOXBFE_MAIN_CPP = MouseImpl.cpp 26 VBOXBFE_MAIN_H = MouseImpl.h 26 VBOXBFE_MAIN_H = MouseImpl.h ConsoleEvents.h 27 27 28 28 # -
trunk/src/VBox/Main/ApplianceImpl.cpp
r30760 r30764 20 20 #include <iprt/cpp/utils.h> 21 21 22 #include <VBox/com/array.h> 23 24 #include "ApplianceImpl.h" 22 25 #include "VFSExplorerImpl.h" 23 26 #include "VirtualBoxImpl.h" … … 26 29 #include "MachineImpl.h" 27 30 28 #include "ApplianceImplPrivate.h"29 30 31 #include "AutoCaller.h" 31 32 #include "Logging.h" 32 33 33 #include "VBox/settings.h" 34 35 #include <VBox/com/array.h> 34 #include "ApplianceImplPrivate.h" 36 35 37 36 using namespace std; -
trunk/src/VBox/Main/ApplianceImplExport.cpp
r30760 r30764 17 17 */ 18 18 19 #include <iprt/file.h>20 19 #include <iprt/path.h> 21 20 #include <iprt/dir.h> … … 24 23 #include <iprt/manifest.h> 25 24 26 #include "AudioAdapterImpl.h" 25 #include <VBox/version.h> 26 27 #include "ApplianceImpl.h" 27 28 #include "VirtualBoxImpl.h" 29 28 30 #include "ProgressImpl.h" 29 #include "MachineImplPrivate.h" 30 #include "MediumAttachmentImpl.h" 31 32 #include "ApplianceImplPrivate.h" 31 #include "MachineImpl.h" 33 32 34 33 #include "AutoCaller.h" 35 34 #include "Logging.h" 36 35 37 #include <VBox/version.h> 38 #include <VBox/com/array.h> 36 #include "ApplianceImplPrivate.h" 39 37 40 38 using namespace std; … … 277 275 // <const name="CDROM" value="19" /> 278 276 279 Medi umAttachmentsList::iterator itA;277 MediaData::AttachmentList::iterator itA; 280 278 for (itA = mMediaData->mAttachments.begin(); 281 279 itA != mMediaData->mAttachments.end(); -
trunk/src/VBox/Main/ApplianceImplImport.cpp
r30763 r30764 24 24 #include <iprt/manifest.h> 25 25 26 #include <VBox/com/array.h> 27 28 #include "ApplianceImpl.h" 26 29 #include "VirtualBoxImpl.h" 27 30 #include "GuestOSTypeImpl.h" … … 29 32 #include "MachineImpl.h" 30 33 31 #include "ApplianceImplPrivate.h"32 33 34 #include "AutoCaller.h" 34 35 #include "Logging.h" 36 37 #include "ApplianceImplPrivate.h" 35 38 36 39 #include <VBox/param.h> 37 40 #include <VBox/version.h> 38 41 #include <VBox/settings.h> 39 40 #include <VBox/com/array.h>41 42 42 43 using namespace std; -
trunk/src/VBox/Main/ConsoleVRDPServer.cpp
r30760 r30764 16 16 */ 17 17 18 #include "RemoteUSBBackend.h"19 18 #include "ConsoleVRDPServer.h" 20 19 #include "ConsoleImpl.h" -
trunk/src/VBox/Main/DHCPServerImpl.cpp
r30760 r30764 18 18 */ 19 19 20 #include "DHCPServerRunner.h" 20 21 #include "DHCPServerImpl.h" 21 22 #include "AutoCaller.h" -
trunk/src/VBox/Main/HostImpl.cpp
r30760 r30764 140 140 #include <VBox/sup.h> 141 141 142 #include <VBox/com/array.h>143 142 #include "VBox/com/MultiResult.h" 144 143 -
trunk/src/VBox/Main/HostPower.cpp
r30760 r30764 29 29 30 30 #include <iprt/mem.h> 31 32 #ifdef VBOX_WITH_RESOURCE_USAGE_API33 #include "Performance.h"34 #include "PerformanceImpl.h"35 #endif /* VBOX_WITH_RESOURCE_USAGE_API */36 31 37 32 HostPowerService::HostPowerService (VirtualBox *aVirtualBox) -
trunk/src/VBox/Main/MachineImpl.cpp
r30760 r30764 34 34 #include "Logging.h" 35 35 #include "VirtualBoxImpl.h" 36 #include "MachineImplPrivate.h" 37 38 #include "VirtualBoxErrorInfoImpl.h" 39 40 #include "AudioAdapterImpl.h" 41 #include "BIOSSettingsImpl.h" 42 #include "GuestImpl.h" 43 #include "GuestOSTypeImpl.h" 44 #include "HostImpl.h" 36 #include "MachineImpl.h" 37 #include "ProgressImpl.h" 38 #include "ProgressProxyImpl.h" 45 39 #include "MediumAttachmentImpl.h" 46 40 #include "MediumImpl.h" 47 41 #include "MediumLock.h" 48 #include "NetworkAdapterImpl.h"49 #include "ParallelPortImpl.h"50 #include "ProgressProxyImpl.h"51 42 #include "USBControllerImpl.h" 52 #include " SerialPortImpl.h"43 #include "HostImpl.h" 53 44 #include "SharedFolderImpl.h" 45 #include "GuestOSTypeImpl.h" 46 #include "VirtualBoxErrorInfoImpl.h" 47 #include "GuestImpl.h" 54 48 #include "StorageControllerImpl.h" 55 #include "VRDPServerImpl.h"56 49 57 50 #ifdef VBOX_WITH_USB … … 59 52 #endif 60 53 61 #ifdef VBOX_WITH_RESOURCE_USAGE_API62 # include "Performance.h"63 # include "PerformanceImpl.h"64 #endif /* VBOX_WITH_RESOURCE_USAGE_API */65 66 54 #include "AutoCaller.h" 67 55 #include "Performance.h" 68 56 69 57 #include <iprt/asm.h> 70 #include <iprt/file.h>71 58 #include <iprt/path.h> 72 59 #include <iprt/dir.h> … … 2923 2910 if (aType == DeviceType_HardDisk && mMediaData.isBackedUp()) 2924 2911 { 2925 const Medi umAttachmentsList &oldAtts = mMediaData.backedUpData()->mAttachments;2912 const MediaData::AttachmentList &oldAtts = mMediaData.backedUpData()->mAttachments; 2926 2913 2927 2914 /* check if the medium was attached to the VM before we started … … 2963 2950 if (mMediaData.isBackedUp()) 2964 2951 { 2965 const Medi umAttachmentsList &oldAtts = mMediaData.backedUpData()->mAttachments;2966 2967 Medi umAttachmentsList::const_iterator foundIt = oldAtts.end();2952 const MediaData::AttachmentList &oldAtts = mMediaData.backedUpData()->mAttachments; 2953 2954 MediaData::AttachmentList::const_iterator foundIt = oldAtts.end(); 2968 2955 uint32_t foundLevel = 0; 2969 2956 2970 for (Medi umAttachmentsList::const_iterator it = oldAtts.begin();2957 for (MediaData::AttachmentList::const_iterator it = oldAtts.begin(); 2971 2958 it != oldAtts.end(); 2972 2959 ++it) … … 3038 3025 AutoReadLock snapLock(snap COMMA_LOCKVAL_SRC_POS); 3039 3026 3040 const Medi umAttachmentsList &snapAtts = snap->getSnapshotMachine()->mMediaData->mAttachments;3041 3042 Medi umAttachmentsList::const_iterator foundIt = snapAtts.end();3027 const MediaData::AttachmentList &snapAtts = snap->getSnapshotMachine()->mMediaData->mAttachments; 3028 3029 MediaData::AttachmentList::const_iterator foundIt = snapAtts.end(); 3043 3030 uint32_t foundLevel = 0; 3044 3031 3045 for (Medi umAttachmentsList::const_iterator it = snapAtts.begin();3032 for (MediaData::AttachmentList::const_iterator it = snapAtts.begin(); 3046 3033 it != snapAtts.end(); 3047 3034 ++it) … … 4387 4374 ComSafeArrayOut(IMediumAttachment*, aAttachments)) 4388 4375 { 4389 Medi umAttachmentsList atts;4376 MediaData::AttachmentList atts; 4390 4377 4391 4378 HRESULT rc = getMediumAttachmentsOfController(aName, atts); … … 4553 4540 /* We can remove the controller only if there is no device attached. */ 4554 4541 /* check if the device slot is already busy */ 4555 for (Medi umAttachmentsList::const_iterator it = mMediaData->mAttachments.begin();4542 for (MediaData::AttachmentList::const_iterator it = mMediaData->mAttachments.begin(); 4556 4543 it != mMediaData->mAttachments.end(); 4557 4544 ++it) … … 5051 5038 5052 5039 /** 5053 * Returns true if the machine is registered.5054 *5055 * @note This method doesn't check this object's readiness. Intended to be5056 * used by ready Machine children (whose readiness is bound to the parent's5057 * one) or after doing addCaller() manually.5058 */5059 bool Machine::isRegistered() const5060 {5061 return !!mData->mRegistered;5062 }5063 5064 /**5065 * Returns this machine ID.5066 *5067 * @note This method doesn't check this object's readiness. Intended to be5068 * used by ready Machine children (whose readiness is bound to the parent's5069 * one) or after adding a caller manually.5070 */5071 const Guid& Machine::getId() const5072 {5073 return mData->mUuid;5074 }5075 5076 /**5077 * Returns this machine's full settings file path.5078 *5079 * @note This method doesn't lock this object or check its readiness.5080 * Intended to be used only after doing addCaller() manually and locking it5081 * for reading.5082 */5083 const Utf8Str& Machine::getSettingsFileFull() const5084 {5085 return mData->m_strConfigFileFull;5086 }5087 5088 /**5089 * Returns this machine name.5090 *5091 * @note This method doesn't lock this object or check its readiness.5092 * Intended to be used only after doing addCaller() manually and locking it5093 * for reading.5094 */5095 const Bstr& Machine::getName() const5096 {5097 return mUserData->mName;5098 }5099 5100 5101 /**5102 5040 * Adds the given IsModified_* flag to the dirty flags of the machine. 5103 *5104 5041 * This must be called either during loadSettings or under the machine write lock. 5105 *5106 5042 * @param fl 5107 5043 */ … … 5773 5709 } 5774 5710 5775 HRESULT Machine::getDirectControl(ComPtr<IInternalSessionControl> &directControl)5776 {5777 directControl = mData->mSession.mDirectControl;5778 5779 if (directControl.isNull())5780 return E_ACCESSDENIED;5781 5782 return S_OK;5783 }5784 5785 5711 /** 5786 5712 * Returns @c true if the given machine has an open direct session and returns … … 6434 6360 ) 6435 6361 { 6436 for (Medi umAttachmentsList::const_iterator it = mMediaData->mAttachments.begin();6362 for (MediaData::AttachmentList::const_iterator it = mMediaData->mAttachments.begin(); 6437 6363 it != mMediaData->mAttachments.end(); 6438 6364 ++it) … … 7381 7307 7382 7308 HRESULT Machine::getMediumAttachmentsOfController(CBSTR aName, 7383 Medi umAttachmentsList &atts)7309 MediaData::AttachmentList &atts) 7384 7310 { 7385 7311 AutoCaller autoCaller(this); … … 7388 7314 AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS); 7389 7315 7390 for (Medi umAttachmentsList::iterator it = mMediaData->mAttachments.begin();7316 for (MediaData::AttachmentList::iterator it = mMediaData->mAttachments.begin(); 7391 7317 it != mMediaData->mAttachments.end(); 7392 7318 ++it) … … 8144 8070 settings::StorageController &data) 8145 8071 { 8146 Medi umAttachmentsList atts;8072 MediaData::AttachmentList atts; 8147 8073 8148 8074 HRESULT rc = getMediumAttachmentsOfController(Bstr(aStorageController->getName()), atts); … … 8150 8076 8151 8077 data.llAttachedDevices.clear(); 8152 for (Medi umAttachmentsList::const_iterator it = atts.begin();8078 for (MediaData::AttachmentList::const_iterator it = atts.begin(); 8153 8079 it != atts.end(); 8154 8080 ++it) … … 8310 8236 /* lock all attached hard disks early to detect "in use" 8311 8237 * situations before creating actual diffs */ 8312 for (Medi umAttachmentsList::const_iterator it = mMediaData->mAttachments.begin();8238 for (MediaData::AttachmentList::const_iterator it = mMediaData->mAttachments.begin(); 8313 8239 it != mMediaData->mAttachments.end(); 8314 8240 ++it) … … 8350 8276 /* remember the current list (note that we don't use backup() since 8351 8277 * mMediaData may be already backed up) */ 8352 Medi umAttachmentsList atts = mMediaData->mAttachments;8278 MediaData::AttachmentList atts = mMediaData->mAttachments; 8353 8279 8354 8280 /* start from scratch */ … … 8357 8283 /* go through remembered attachments and create diffs for normal hard 8358 8284 * disks and attach them */ 8359 for (Medi umAttachmentsList::const_iterator it = atts.begin();8285 for (MediaData::AttachmentList::const_iterator it = atts.begin(); 8360 8286 it != atts.end(); 8361 8287 ++it) … … 8501 8427 HRESULT rc = S_OK; 8502 8428 8503 Medi umAttachmentsList implicitAtts;8504 8505 const Medi umAttachmentsList &oldAtts = mMediaData.backedUpData()->mAttachments;8429 MediaData::AttachmentList implicitAtts; 8430 8431 const MediaData::AttachmentList &oldAtts = mMediaData.backedUpData()->mAttachments; 8506 8432 8507 8433 /* enumerate new attachments */ 8508 for (Medi umAttachmentsList::const_iterator it = mMediaData->mAttachments.begin();8434 for (MediaData::AttachmentList::const_iterator it = mMediaData->mAttachments.begin(); 8509 8435 it != mMediaData->mAttachments.end(); 8510 8436 ++it) … … 8559 8485 alock.leave(); 8560 8486 8561 for (Medi umAttachmentsList::const_iterator it = implicitAtts.begin();8487 for (MediaData::AttachmentList::const_iterator it = implicitAtts.begin(); 8562 8488 it != implicitAtts.end(); 8563 8489 ++it) … … 8594 8520 * @return 8595 8521 */ 8596 MediumAttachment* Machine::findAttachment(const Medi umAttachmentsList &ll,8522 MediumAttachment* Machine::findAttachment(const MediaData::AttachmentList &ll, 8597 8523 IN_BSTR aControllerName, 8598 8524 LONG aControllerPort, 8599 8525 LONG aDevice) 8600 8526 { 8601 for (Medi umAttachmentsList::const_iterator it = ll.begin();8527 for (MediaData::AttachmentList::const_iterator it = ll.begin(); 8602 8528 it != ll.end(); 8603 8529 ++it) … … 8622 8548 * @return 8623 8549 */ 8624 MediumAttachment* Machine::findAttachment(const Medi umAttachmentsList &ll,8550 MediumAttachment* Machine::findAttachment(const MediaData::AttachmentList &ll, 8625 8551 ComObjPtr<Medium> pMedium) 8626 8552 { 8627 for (Medi umAttachmentsList::const_iterator it = ll.begin();8553 for (MediaData::AttachmentList::const_iterator it = ll.begin(); 8628 8554 it != ll.end(); 8629 8555 ++it) … … 8649 8575 * @return 8650 8576 */ 8651 MediumAttachment* Machine::findAttachment(const Medi umAttachmentsList &ll,8577 MediumAttachment* Machine::findAttachment(const MediaData::AttachmentList &ll, 8652 8578 Guid &id) 8653 8579 { 8654 for (Medi umAttachmentsList::const_iterator it = ll.begin();8580 for (MediaData::AttachmentList::const_iterator it = ll.begin(); 8655 8581 it != ll.end(); 8656 8582 ++it) … … 8694 8620 return; 8695 8621 8696 Medi umAttachmentsList &oldAtts = mMediaData.backedUpData()->mAttachments;8622 MediaData::AttachmentList &oldAtts = mMediaData.backedUpData()->mAttachments; 8697 8623 bool fMediaNeedsLocking = false; 8698 8624 8699 8625 /* enumerate new attachments */ 8700 for (Medi umAttachmentsList::const_iterator it = mMediaData->mAttachments.begin();8626 for (MediaData::AttachmentList::const_iterator it = mMediaData->mAttachments.begin(); 8701 8627 it != mMediaData->mAttachments.end(); 8702 8628 ++it) … … 8754 8680 { 8755 8681 /* was this medium attached before? */ 8756 for (Medi umAttachmentsList::iterator oldIt = oldAtts.begin();8682 for (MediaData::AttachmentList::iterator oldIt = oldAtts.begin(); 8757 8683 oldIt != oldAtts.end(); 8758 8684 ++oldIt) … … 8773 8699 /* enumerate remaining old attachments and de-associate from the 8774 8700 * current machine state */ 8775 for (Medi umAttachmentsList::const_iterator it = oldAtts.begin();8701 for (MediaData::AttachmentList::const_iterator it = oldAtts.begin(); 8776 8702 it != oldAtts.end(); 8777 8703 ++it) … … 8852 8778 8853 8779 /* enumerate new attachments */ 8854 for (Medi umAttachmentsList::const_iterator it = mMediaData->mAttachments.begin();8780 for (MediaData::AttachmentList::const_iterator it = mMediaData->mAttachments.begin(); 8855 8781 it != mMediaData->mAttachments.end(); 8856 8782 ++it) … … 10935 10861 10936 10862 /* Collect locking information for all medium objects attached to the VM. */ 10937 for (Medi umAttachmentsList::const_iterator it = mMediaData->mAttachments.begin();10863 for (MediaData::AttachmentList::const_iterator it = mMediaData->mAttachments.begin(); 10938 10864 it != mMediaData->mAttachments.end(); 10939 10865 ++it) -
trunk/src/VBox/Main/MediumFormatImpl.cpp
r30760 r30764 23 23 24 24 #include <VBox/VBoxHDD.h> 25 26 #include <VBox/com/array.h>27 25 28 26 #include <iprt/cpp/utils.h> -
trunk/src/VBox/Main/MediumImpl.cpp
r30760 r30764 17 17 18 18 #include "MediumImpl.h" 19 #include "MediumFormatImpl.h"20 19 #include "ProgressImpl.h" 21 20 #include "SystemPropertiesImpl.h" 22 21 #include "VirtualBoxImpl.h" 23 #include "MediumLock.h"24 22 25 23 #include "AutoCaller.h" -
trunk/src/VBox/Main/MouseImpl.cpp
r30760 r30764 21 21 #include "DisplayImpl.h" 22 22 #include "VMMDev.h" 23 #include "ConsoleImpl.h"24 23 25 24 #include "AutoCaller.h" … … 59 58 uint32_t u32DevCaps; 60 59 }; 60 61 61 62 62 // constructor / destructor -
trunk/src/VBox/Main/NATEngineImpl.cpp
r30760 r30764 27 27 #include <VBox/err.h> 28 28 #include <VBox/settings.h> 29 #include "VBox/com/array.h" 29 30 30 31 31 // constructor / destructor -
trunk/src/VBox/Main/Performance.cpp
r30760 r30764 133 133 ComPtr<IInternalSessionControl> directControl; 134 134 135 ret = mMachine->getDirectControl( directControl);135 ret = mMachine->getDirectControl(&directControl); 136 136 if (ret != S_OK) 137 137 return ret; -
trunk/src/VBox/Main/PerformanceImpl.cpp
r30760 r30764 27 27 #include <VBox/err.h> 28 28 #include <VBox/settings.h> 29 30 #include <VBox/com/array.h>31 29 32 30 #include <vector> -
trunk/src/VBox/Main/SnapshotImpl.cpp
r30760 r30764 21 21 #include "SnapshotImpl.h" 22 22 23 #include "MachineImpl.h" 24 #include "MediumImpl.h" 25 #include "MediumFormatImpl.h" 23 26 #include "Global.h" 24 25 #include "AudioAdapterImpl.h"26 #include "BIOSSettingsImpl.h"27 #include "MachineImplPrivate.h"28 #include "MediumImpl.h"29 #include "MediumAttachmentImpl.h"30 #include "MediumFormatImpl.h"31 #include "NetworkAdapterImpl.h"32 #include "ParallelPortImpl.h"33 27 #include "ProgressImpl.h" 34 #include "SerialPortImpl.h"35 #include "StorageControllerImpl.h"36 #include "VRDPServerImpl.h"37 28 38 29 // @todo these three includes are required for about one or two lines, try … … 44 35 #include "AutoCaller.h" 45 36 46 #include <iprt/file.h>47 37 #include <iprt/path.h> 48 38 #include <iprt/cpp/utils.h> … … 50 40 #include <VBox/param.h> 51 41 #include <VBox/err.h> 52 53 #include <VBox/com/array.h>54 42 55 43 #include <VBox/settings.h> … … 908 896 /* associate hard disks with the snapshot 909 897 * (Machine::uninitDataAndChildObjects() will deassociate at destruction) */ 910 for (Medi umAttachmentsList::const_iterator it = mMediaData->mAttachments.begin();898 for (MediaData::AttachmentList::const_iterator it = mMediaData->mAttachments.begin(); 911 899 it != mMediaData->mAttachments.end(); 912 900 ++it) … … 1607 1595 ULONG ulOpCount = 1; // one for preparations 1608 1596 ULONG ulTotalWeight = 1; // one for preparations 1609 for (Medi umAttachmentsList::iterator it = pSnapMachine->mMediaData->mAttachments.begin();1597 for (MediaData::AttachmentList::iterator it = pSnapMachine->mMediaData->mAttachments.begin(); 1610 1598 it != pSnapMachine->mMediaData->mAttachments.end(); 1611 1599 ++it) … … 1837 1825 std::list< ComObjPtr<MediumAttachment> > llDiffAttachmentsToDelete; 1838 1826 1839 for (Medi umAttachmentsList::const_iterator it = mMediaData.backedUpData()->mAttachments.begin();1827 for (MediaData::AttachmentList::const_iterator it = mMediaData.backedUpData()->mAttachments.begin(); 1840 1828 it != mMediaData.backedUpData()->mAttachments.end(); 1841 1829 ++it) … … 2065 2053 2066 2054 // count normal hard disks and add their sizes to the weight 2067 for (Medi umAttachmentsList::iterator it = pSnapMachine->mMediaData->mAttachments.begin();2055 for (MediaData::AttachmentList::iterator it = pSnapMachine->mMediaData->mAttachments.begin(); 2068 2056 it != pSnapMachine->mMediaData->mAttachments.end(); 2069 2057 ++it) … … 2281 2269 // merge it with its one and only child (the diff image holding the 2282 2270 // changes written after the snapshot was taken). 2283 for (Medi umAttachmentsList::iterator it = pSnapMachine->mMediaData->mAttachments.begin();2271 for (MediaData::AttachmentList::iterator it = pSnapMachine->mMediaData->mAttachments.begin(); 2284 2272 it != pSnapMachine->mMediaData->mAttachments.end(); 2285 2273 ++it) -
trunk/src/VBox/Main/SystemPropertiesImpl.cpp
r30760 r30764 21 21 #include "VirtualBoxImpl.h" 22 22 #include "MachineImpl.h" 23 #include "MediumFormatImpl.h"24 25 23 #include "AutoCaller.h" 26 24 #include "Logging.h" … … 39 37 #include <VBox/settings.h> 40 38 #include <VBox/VBoxHDD.h> 41 42 #include <VBox/com/array.h>43 39 44 40 // defines -
trunk/src/VBox/Main/USBControllerImpl.cpp
r30760 r30764 34 34 #include <VBox/err.h> 35 35 #include <VBox/settings.h> 36 #include <VBox/com/array.h>37 36 38 37 #include <algorithm> -
trunk/src/VBox/Main/VirtualBoxImpl.cpp
r30760 r30764 62 62 #include "SystemPropertiesImpl.h" 63 63 #include "GuestOSTypeImpl.h" 64 #include "DHCPServerRunner.h" 64 65 #include "DHCPServerImpl.h" 65 66 #ifdef VBOX_WITH_RESOURCE_USAGE_API 66 # 67 #include "PerformanceImpl.h" 67 68 #endif /* VBOX_WITH_RESOURCE_USAGE_API */ 68 69 #include "EventImpl.h" … … 250 251 typedef std::map<Guid, ComPtr<IProgress> > ProgressMap; 251 252 typedef std::map<Guid, ComObjPtr<Medium> > HardDiskMap; 252 253 typedef std::list< VirtualBoxCallbackRegistration > CallbackList;254 253 255 254 /** -
trunk/src/VBox/Main/glue/errorprint.cpp
r30760 r30764 25 25 #include <iprt/stream.h> 26 26 #include <iprt/path.h> 27 28 #ifndef DEBUG29 // string used by ComAssert macro (VirtualBoxBase.h)30 const char *g_pcszComAssertFailedString31 = "Assertion failed: [%s] at '%s' (%d) in %s.\nPlease contact the product vendor!";32 const char *g_pcszComAssertMsgFailedString33 = "Assertion failed: [%s] at '%s' (%d) in %s.\n%s\nPlease contact the product vendor!";34 #endif35 27 36 28 namespace com -
trunk/src/VBox/Main/include/ApplianceImpl.h
r30760 r30764 24 24 #include "VirtualBoxBase.h" 25 25 26 /* VBox forward declarations */ 27 class Progress; 28 class VirtualSystemDescription; 29 struct VirtualSystemDescriptionEntry; 30 26 31 namespace ovf 27 32 { … … 30 35 class OVFReader; 31 36 struct DiskImage; 37 } 38 39 namespace xml 40 { 41 class ElementNode; 42 } 43 44 namespace settings 45 { 46 class MachineConfigFile; 32 47 } 33 48 -
trunk/src/VBox/Main/include/ApplianceImplPrivate.h
r30760 r30764 19 19 #define ____H_APPLIANCEIMPLPRIVATE 20 20 21 #include "ApplianceImpl.h" 21 class VirtualSystemDescription; 22 22 23 #include "ovfreader.h" 23 24 -
trunk/src/VBox/Main/include/AudioAdapterImpl.h
r30760 r30764 22 22 23 23 #include "VirtualBoxBase.h" 24 25 namespace settings 26 { 27 struct AudioAdapter; 28 } 24 29 25 30 class ATL_NO_VTABLE AudioAdapter : -
trunk/src/VBox/Main/include/BIOSSettingsImpl.h
r30760 r30764 22 22 23 23 #include "VirtualBoxBase.h" 24 25 class GuestOSType; 24 26 25 27 namespace settings -
trunk/src/VBox/Main/include/ConsoleImpl.h
r30760 r30764 24 24 #include "EventImpl.h" 25 25 26 class Guest; 27 class Keyboard; 28 class Mouse; 29 class Display; 30 class MachineDebugger; 31 class TeleporterStateSrc; 32 class OUSBDevice; 33 class RemoteUSBDevice; 34 class SharedFolder; 35 class RemoteDisplayInfo; 36 class AudioSniffer; 37 class ConsoleVRDPServer; 38 class ConsoleCallbackRegistration; /* See ConsoleImpl.cpp. */ 39 class VMMDev; 40 class Progress; 41 26 42 #include <VBox/vrdpapi.h> 27 43 #include <VBox/pdmdrv.h> … … 36 52 struct VUSBIRHCONFIG; 37 53 typedef struct VUSBIRHCONFIG *PVUSBIRHCONFIG; 54 55 #include <list> 38 56 39 57 // defines -
trunk/src/VBox/Main/include/ConsoleVRDPServer.h
r30760 r30764 21 21 #define ____H_CONSOLEVRDPSERVER 22 22 23 class Console; 24 class RemoteUSBBackend; 25 23 #include "RemoteUSBBackend.h" 26 24 #include <hgcm/HGCM.h> 27 25 … … 55 53 { 56 54 public: 57 ConsoleVRDPServer (Console *console);58 ~ConsoleVRDPServer ();55 ConsoleVRDPServer (Console *console); 56 ~ConsoleVRDPServer (); 59 57 60 58 int Launch (void); -
trunk/src/VBox/Main/include/DHCPServerImpl.h
r30760 r30764 22 22 23 23 #include "VirtualBoxBase.h" 24 25 #include "DHCPServerRunner.h"26 24 27 25 #ifdef VBOX_WITH_HOSTNETIF_API -
trunk/src/VBox/Main/include/GuestImpl.h
r30760 r30764 41 41 GUESTSTATTYPE_MAX = 9 42 42 } GUESTSTATTYPE; 43 44 class Console; 45 #ifdef VBOX_WITH_GUEST_CONTROL 46 class Progress; 47 #endif 43 48 44 49 class ATL_NO_VTABLE Guest : -
trunk/src/VBox/Main/include/HostImpl.h
r30760 r30764 20 20 21 21 #include "VirtualBoxBase.h" 22 23 class HostUSBDeviceFilter; 24 class USBProxyService; 25 class SessionMachine; 26 class Progress; 27 class PerformanceCollector; 28 29 namespace settings 30 { 31 struct Host; 32 } 33 34 #include <list> 22 35 23 36 class ATL_NO_VTABLE Host : -
trunk/src/VBox/Main/include/KeyboardImpl.h
r30760 r30764 20 20 21 21 #include "VirtualBoxBase.h" 22 #include "ConsoleEvents.h" 22 23 23 24 #include <VBox/pdmdrv.h> … … 25 26 /** Limit of simultaneously attached devices (just USB and/or PS/2). */ 26 27 enum { KEYBOARD_MAX_DEVICES = 2 }; 28 29 /** Simple keyboard event class. */ 30 class KeyboardEvent 31 { 32 public: 33 KeyboardEvent() : scan(-1) {} 34 KeyboardEvent(int _scan) : scan(_scan) {} 35 bool isValid() 36 { 37 return (scan & ~0x80) && !(scan & ~0xFF); 38 } 39 int scan; 40 }; 41 // template instantiation 42 typedef ConsoleEventBuffer<KeyboardEvent> KeyboardEventBuffer; 27 43 28 44 class Console; -
trunk/src/VBox/Main/include/MachineDebuggerImpl.h
r30760 r30764 22 22 23 23 #include "VirtualBoxBase.h" 24 25 class Console; 24 26 25 27 class ATL_NO_VTABLE MachineDebugger : -
trunk/src/VBox/Main/include/MachineImpl.h
r30760 r30764 21 21 #include "VirtualBoxBase.h" 22 22 #include "SnapshotImpl.h" 23 #include "VRDPServerImpl.h" 24 #include "MediumAttachmentImpl.h" 25 #include "MediumLock.h" 26 #include "NetworkAdapterImpl.h" 27 #include "AudioAdapterImpl.h" 28 #include "SerialPortImpl.h" 29 #include "ParallelPortImpl.h" 30 #include "BIOSSettingsImpl.h" 31 #include "StorageControllerImpl.h" // required for MachineImpl.h to compile on Windows 32 #include "VBox/settings.h" 33 #ifdef VBOX_WITH_RESOURCE_USAGE_API 34 #include "Performance.h" 35 #include "PerformanceImpl.h" 36 #endif /* VBOX_WITH_RESOURCE_USAGE_API */ 23 37 24 38 // generated header … … 27 41 #include "VBox/com/ErrorInfo.h" 28 42 43 #include <iprt/file.h> 44 #include <iprt/thread.h> 45 #include <iprt/time.h> 46 29 47 #include <list> 48 49 // defines 50 //////////////////////////////////////////////////////////////////////////////// 51 52 // helper declarations 53 //////////////////////////////////////////////////////////////////////////////// 54 55 class Progress; 56 class ProgressProxy; 57 class Keyboard; 58 class Mouse; 59 class Display; 60 class MachineDebugger; 61 class USBController; 62 class Snapshot; 63 class SharedFolder; 64 class HostUSBDevice; 65 class StorageController; 66 67 class SessionMachine; 68 69 namespace settings 70 { 71 class MachineConfigFile; 72 struct Snapshot; 73 struct Hardware; 74 struct Storage; 75 struct StorageController; 76 struct MachineRegistryEntry; 77 } 30 78 31 79 // Machine class … … 45 93 }; 46 94 47 struct Data; // machine data 48 struct SSData; // saved state data 49 struct UserData; // user data 50 struct HWData; // hardware data 51 struct MediaData; // media data 95 /** 96 * Internal machine data. 97 * 98 * Only one instance of this data exists per every machine -- it is shared 99 * by the Machine, SessionMachine and all SnapshotMachine instances 100 * associated with the given machine using the util::Shareable template 101 * through the mData variable. 102 * 103 * @note |const| members are persistent during lifetime so can be 104 * accessed without locking. 105 * 106 * @note There is no need to lock anything inside init() or uninit() 107 * methods, because they are always serialized (see AutoCaller). 108 */ 109 struct Data 110 { 111 /** 112 * Data structure to hold information about sessions opened for the 113 * given machine. 114 */ 115 struct Session 116 { 117 /** Control of the direct session opened by openSession() */ 118 ComPtr<IInternalSessionControl> mDirectControl; 119 120 typedef std::list<ComPtr<IInternalSessionControl> > RemoteControlList; 121 122 /** list of controls of all opened remote sessions */ 123 RemoteControlList mRemoteControls; 124 125 /** openRemoteSession() and OnSessionEnd() progress indicator */ 126 ComObjPtr<ProgressProxy> mProgress; 127 128 /** 129 * PID of the session object that must be passed to openSession() to 130 * finalize the openRemoteSession() request (i.e., PID of the 131 * process created by openRemoteSession()) 132 */ 133 RTPROCESS mPid; 134 135 /** Current session state */ 136 SessionState_T mState; 137 138 /** Session type string (for indirect sessions) */ 139 Bstr mType; 140 141 /** Session machine object */ 142 ComObjPtr<SessionMachine> mMachine; 143 144 /** Medium object lock collection. */ 145 MediumLockListMap mLockedMedia; 146 }; 147 148 Data(); 149 ~Data(); 150 151 const Guid mUuid; 152 BOOL mRegistered; 153 154 /** Flag indicating that the config file is read-only. */ 155 Utf8Str m_strConfigFile; 156 Utf8Str m_strConfigFileFull; 157 158 // machine settings XML file 159 settings::MachineConfigFile *pMachineConfigFile; 160 uint32_t flModifications; 161 162 BOOL mAccessible; 163 com::ErrorInfo mAccessError; 164 165 MachineState_T mMachineState; 166 RTTIMESPEC mLastStateChange; 167 168 /* Note: These are guarded by VirtualBoxBase::stateLockHandle() */ 169 uint32_t mMachineStateDeps; 170 RTSEMEVENTMULTI mMachineStateDepsSem; 171 uint32_t mMachineStateChangePending; 172 173 BOOL mCurrentStateModified; 174 /** Guest properties have been modified and need saving since the 175 * machine was started, or there are transient properties which need 176 * deleting and the machine is being shut down. */ 177 BOOL mGuestPropertiesModified; 178 179 Session mSession; 180 181 ComObjPtr<Snapshot> mFirstSnapshot; 182 ComObjPtr<Snapshot> mCurrentSnapshot; 183 }; 184 185 /** 186 * Saved state data. 187 * 188 * It's actually only the state file path string, but it needs to be 189 * separate from Data, because Machine and SessionMachine instances 190 * share it, while SnapshotMachine does not. 191 * 192 * The data variable is |mSSData|. 193 */ 194 struct SSData 195 { 196 Utf8Str mStateFilePath; 197 }; 198 199 /** 200 * User changeable machine data. 201 * 202 * This data is common for all machine snapshots, i.e. it is shared 203 * by all SnapshotMachine instances associated with the given machine 204 * using the util::Backupable template through the |mUserData| variable. 205 * 206 * SessionMachine instances can alter this data and discard changes. 207 * 208 * @note There is no need to lock anything inside init() or uninit() 209 * methods, because they are always serialized (see AutoCaller). 210 */ 211 struct UserData 212 { 213 UserData(); 214 ~UserData(); 215 216 Bstr mName; 217 BOOL mNameSync; 218 Bstr mDescription; 219 Bstr mOSTypeId; 220 Bstr mSnapshotFolder; 221 Bstr mSnapshotFolderFull; 222 BOOL mTeleporterEnabled; 223 ULONG mTeleporterPort; 224 Bstr mTeleporterAddress; 225 Bstr mTeleporterPassword; 226 BOOL mRTCUseUTC; 227 }; 228 229 /** 230 * Hardware data. 231 * 232 * This data is unique for a machine and for every machine snapshot. 233 * Stored using the util::Backupable template in the |mHWData| variable. 234 * 235 * SessionMachine instances can alter this data and discard changes. 236 */ 237 struct HWData 238 { 239 /** 240 * Data structure to hold information about a guest property. 241 */ 242 struct GuestProperty { 243 /** Property name */ 244 Utf8Str strName; 245 /** Property value */ 246 Utf8Str strValue; 247 /** Property timestamp */ 248 ULONG64 mTimestamp; 249 /** Property flags */ 250 ULONG mFlags; 251 }; 252 253 HWData(); 254 ~HWData(); 255 256 Bstr mHWVersion; 257 Guid mHardwareUUID; /**< If Null, use mData.mUuid. */ 258 ULONG mMemorySize; 259 ULONG mMemoryBalloonSize; 260 BOOL mPageFusionEnabled; 261 ULONG mVRAMSize; 262 ULONG mMonitorCount; 263 BOOL mHWVirtExEnabled; 264 BOOL mHWVirtExExclusive; 265 BOOL mHWVirtExNestedPagingEnabled; 266 BOOL mHWVirtExLargePagesEnabled; 267 BOOL mHWVirtExVPIDEnabled; 268 BOOL mAccelerate2DVideoEnabled; 269 BOOL mPAEEnabled; 270 BOOL mSyntheticCpu; 271 ULONG mCPUCount; 272 BOOL mCPUHotPlugEnabled; 273 BOOL mAccelerate3DEnabled; 274 BOOL mHpetEnabled; 275 276 BOOL mCPUAttached[SchemaDefs::MaxCPUCount]; 277 278 settings::CpuIdLeaf mCpuIdStdLeafs[10]; 279 settings::CpuIdLeaf mCpuIdExtLeafs[10]; 280 281 DeviceType_T mBootOrder[SchemaDefs::MaxBootPosition]; 282 283 typedef std::list< ComObjPtr<SharedFolder> > SharedFolderList; 284 SharedFolderList mSharedFolders; 285 286 ClipboardMode_T mClipboardMode; 287 288 typedef std::list<GuestProperty> GuestPropertyList; 289 GuestPropertyList mGuestProperties; 290 Utf8Str mGuestPropertyNotificationPatterns; 291 292 FirmwareType_T mFirmwareType; 293 KeyboardHidType_T mKeyboardHidType; 294 PointingHidType_T mPointingHidType; 295 296 BOOL mIoCacheEnabled; 297 ULONG mIoCacheSize; 298 ULONG mIoBandwidthMax; 299 }; 300 301 /** 302 * Hard disk and other media data. 303 * 304 * The usage policy is the same as for HWData, but a separate structure 305 * is necessary because hard disk data requires different procedures when 306 * taking or deleting snapshots, etc. 307 * 308 * The data variable is |mMediaData|. 309 */ 310 struct MediaData 311 { 312 MediaData(); 313 ~MediaData(); 314 315 typedef std::list< ComObjPtr<MediumAttachment> > AttachmentList; 316 AttachmentList mAttachments; 317 }; 52 318 53 319 VIRTUALBOXBASE_ADD_ERRORINFO_SUPPORT(Machine, IMachine) … … 265 531 // that use it. Note: they should enter Machine lock to keep the returned 266 532 // information valid! 267 bool isRegistered() const;533 bool isRegistered() { return !!mData->mRegistered; } 268 534 269 535 // unsafe inline public methods for internal purposes only (ensure there is … … 279 545 VirtualBox* getVirtualBox() const { return mParent; } 280 546 281 const Guid& getId() const;282 283 547 /** 284 * Virtual method that returns the snapshot a Machine object is attached 285 * to. This implementation returns Guid::Empty, but the SnapshotMachine 286 * override will return a real snapshot ID. 548 * Returns this machine ID. 549 * 550 * @note This method doesn't check this object's readiness. Intended to be 551 * used by ready Machine children (whose readiness is bound to the parent's 552 * one) or after adding a caller manually. 287 553 */ 288 virtual const Guid& getSnapshotId() const 289 { 290 return Guid::Empty; 291 } 292 293 const Utf8Str& getSettingsFileFull() const; 294 295 const Bstr& getName() const; 554 const Guid& getId() const { return mData->mUuid; } 555 556 /** 557 * Returns the snapshot ID this machine represents or an empty UUID if this 558 * instance is not SnapshotMachine. 559 * 560 * @note This method doesn't check this object's readiness. Intended to be 561 * used by ready Machine children (whose readiness is bound to the parent's 562 * one) or after adding a caller manually. 563 */ 564 inline const Guid& getSnapshotId() const; 565 566 /** 567 * Returns this machine's full settings file path. 568 * 569 * @note This method doesn't lock this object or check its readiness. 570 * Intended to be used only after doing addCaller() manually and locking it 571 * for reading. 572 */ 573 const Utf8Str& getSettingsFileFull() const { return mData->m_strConfigFileFull; } 574 575 /** 576 * Returns this machine name. 577 * 578 * @note This method doesn't lock this object or check its readiness. 579 * Intended to be used only after doing addCaller() manually and locking it 580 * for reading. 581 */ 582 const Bstr& getName() const { return mUserData->mName; } 296 583 297 584 enum … … 337 624 HRESULT openExistingSession(IInternalSessionControl *aControl); 338 625 339 HRESULT getDirectControl(ComPtr<IInternalSessionControl> &directControl); 626 HRESULT getDirectControl(ComPtr<IInternalSessionControl> *directControl) 627 { 628 HRESULT rc; 629 *directControl = mData->mSession.mDirectControl; 630 631 if (!*directControl) 632 rc = E_ACCESSDENIED; 633 else 634 rc = S_OK; 635 636 return rc; 637 } 340 638 341 639 #if defined(RT_OS_WINDOWS) … … 343 641 bool isSessionOpen(ComObjPtr<SessionMachine> &aMachine, 344 642 ComPtr<IInternalSessionControl> *aControl = NULL, 345 HANDLE *aIPCSem = NULL, 346 bool aAllowClosing = false); 643 HANDLE *aIPCSem = NULL, bool aAllowClosing = false); 347 644 bool isSessionSpawning(RTPROCESS *aPID = NULL); 348 645 … … 356 653 bool isSessionOpen(ComObjPtr<SessionMachine> &aMachine, 357 654 ComPtr<IInternalSessionControl> *aControl = NULL, 358 HMTX *aIPCSem = NULL, 359 bool aAllowClosing = false); 655 HMTX *aIPCSem = NULL, bool aAllowClosing = false); 360 656 361 657 bool isSessionSpawning(RTPROCESS *aPID = NULL); … … 432 728 433 729 HRESULT getMediumAttachmentsOfController(CBSTR aName, 434 Medi umAttachmentsList &aAttachments);730 MediaData::AttachmentList &aAttachments); 435 731 436 732 enum … … 464 760 HRESULT deleteImplicitDiffs(bool *pfNeedsSaveSettings); 465 761 466 MediumAttachment* findAttachment(const Medi umAttachmentsList &ll,762 MediumAttachment* findAttachment(const MediaData::AttachmentList &ll, 467 763 IN_BSTR aControllerName, 468 764 LONG aControllerPort, 469 765 LONG aDevice); 470 MediumAttachment* findAttachment(const Medi umAttachmentsList &ll,766 MediumAttachment* findAttachment(const MediaData::AttachmentList &ll, 471 767 ComObjPtr<Medium> pMedium); 472 MediumAttachment* findAttachment(const Medi umAttachmentsList &ll,768 MediumAttachment* findAttachment(const MediaData::AttachmentList &ll, 473 769 Guid &id); 474 770 … … 806 1102 // a caller and a read lock before calling them!) 807 1103 808 /** 809 * Override of Machine::getSnapshotId(). Whereas the parent returns an empty Guid, 810 * this returns the snapshot that this machine is attached to. 811 * @return 812 */ 813 virtual const Guid& getSnapshotId() const 814 { 815 return mSnapshotId; 816 } 1104 const Guid& getSnapshotId() const { return mSnapshotId; } 817 1105 818 1106 private: … … 823 1111 }; 824 1112 1113 // third party methods that depend on SnapshotMachine definiton 1114 1115 inline const Guid &Machine::getSnapshotId() const 1116 { 1117 return (isSnapshotMachine()) 1118 ? static_cast<const SnapshotMachine*>(this)->getSnapshotId() 1119 : Guid::Empty; 1120 } 1121 1122 825 1123 #endif // ____H_MACHINEIMPL 1124 /* vi: set tabstop=4 shiftwidth=4 expandtab: */ -
trunk/src/VBox/Main/include/MediumFormatImpl.h
r30760 r30764 22 22 23 23 #include "VirtualBoxBase.h" 24 25 #include <VBox/com/array.h> 26 27 #include <list> 24 28 25 29 struct VDBACKENDINFO; -
trunk/src/VBox/Main/include/MediumImpl.h
r30760 r30764 22 22 23 23 #include "VirtualBoxBase.h" 24 #include "MediumLock.h" 25 26 class Progress; 27 class MediumFormat; 28 29 namespace settings 30 { 31 struct Medium; 32 } 24 33 25 34 //////////////////////////////////////////////////////////////////////////////// -
trunk/src/VBox/Main/include/MediumLock.h
r30760 r30764 21 21 #define ____H_MEDIUMLOCK 22 22 23 /* interface definitions */ 24 #include "VBox/com/VirtualBox.h" 23 25 #include "VirtualBoxBase.h" 24 26 #include "AutoCaller.h" 27 28 #include <iprt/types.h> 29 30 #include <list> 31 #include <map> 32 33 class Medium; 34 class MediumAttachment; 25 35 26 36 /** -
trunk/src/VBox/Main/include/MouseImpl.h
r30760 r30764 20 20 21 21 #include "VirtualBoxBase.h" 22 #include "ConsoleEvents.h" 23 #include "ConsoleImpl.h" 22 24 #include <VBox/pdmdrv.h> 23 25 … … 27 29 typedef struct DRVMAINMOUSE DRVMAINMOUSE, *PDRVMAINMOUSE; 28 30 29 class Console; 31 /** Simple mouse event class. */ 32 class MouseEvent 33 { 34 public: 35 MouseEvent() : dx(0), dy(0), dz(0), dw(0), state(-1) {} 36 MouseEvent(int32_t _dx, int32_t _dy, int32_t _dz, int32_t _dw, int32_t _state) : 37 dx(_dx), dy(_dy), dz(_dz), dw(_dw), state(_state) {} 38 bool isValid() 39 { 40 return state != -1; 41 } 42 /* Note: dw is the horizontal scroll wheel */ 43 int32_t dx, dy, dz, dw; 44 int32_t state; 45 }; 46 // template instantiation 47 typedef ConsoleEventBuffer<MouseEvent> MouseEventBuffer; 30 48 31 49 class ATL_NO_VTABLE Mouse : -
trunk/src/VBox/Main/include/NATEngineImpl.h
r30760 r30764 24 24 #include "VirtualBoxBase.h" 25 25 #include <VBox/settings.h> 26 27 namespace settings 28 { 29 struct NAT; 30 } 26 31 27 32 class ATL_NO_VTABLE NATEngine : -
trunk/src/VBox/Main/include/NetworkAdapterImpl.h
r30760 r30764 22 22 23 23 #include "VirtualBoxBase.h" 24 #include "NATEngineImpl.h" 25 26 class GuestOSType; 27 28 namespace settings 29 { 30 struct NetworkAdapter; 31 } 24 32 25 33 class ATL_NO_VTABLE NetworkAdapter : -
trunk/src/VBox/Main/include/ParallelPortImpl.h
r30760 r30764 21 21 22 22 #include "VirtualBoxBase.h" 23 24 namespace settings 25 { 26 struct ParallelPort; 27 } 23 28 24 29 class ATL_NO_VTABLE ParallelPort : … … 46 51 47 52 // public initializer/uninitializer for internal purposes only 48 HRESULT init (Machine *aParent, ULONG aSlot);49 HRESULT init (Machine *aParent, ParallelPort *aThat);53 HRESULT init (Machine *aParent, ULONG aSlot); 54 HRESULT init (Machine *aParent, ParallelPort *aThat); 50 55 HRESULT initCopy (Machine *parent, ParallelPort *aThat); 51 56 void uninit(); -
trunk/src/VBox/Main/include/PerformanceImpl.h
r30760 r30764 23 23 #include "VirtualBoxBase.h" 24 24 25 // #include <VBox/com/com.h> 26 // #include <VBox/com/array.h> 25 #include <VBox/com/com.h> 26 #include <VBox/com/array.h> 27 //#ifdef VBOX_WITH_RESOURCE_USAGE_API 27 28 #include <iprt/timer.h> 29 //#endif /* VBOX_WITH_RESOURCE_USAGE_API */ 30 31 #include <list> 32 33 namespace pm 34 { 35 class Metric; 36 class BaseMetric; 37 class CollectorHAL; 38 } 28 39 29 40 #undef min … … 32 43 /* Each second we obtain new CPU load stats. */ 33 44 #define VBOX_USAGE_SAMPLER_MIN_INTERVAL 1000 45 46 class HostUSBDevice; 34 47 35 48 class ATL_NO_VTABLE PerformanceMetric : -
trunk/src/VBox/Main/include/RemoteUSBBackend.h
r30760 r30764 33 33 //} RDLState; 34 34 35 class Console; 36 class ConsoleVRDPServer; 37 35 38 DECLCALLBACK(int) USBClientResponseCallback (void *pv, uint32_t u32ClientId, uint8_t code, const void *pvRet, uint32_t cbRet); 39 36 40 37 41 /* How many remote devices can be attached to a remote client. -
trunk/src/VBox/Main/include/SerialPortImpl.h
r30760 r30764 22 22 23 23 #include "VirtualBoxBase.h" 24 25 class GuestOSType; 26 27 namespace settings 28 { 29 struct SerialPort; 30 } 24 31 25 32 class ATL_NO_VTABLE SerialPort : -
trunk/src/VBox/Main/include/SessionImpl.h
r30760 r30764 20 20 21 21 #include "VirtualBoxBase.h" 22 #include "ConsoleImpl.h" 22 23 23 24 #ifdef RT_OS_WINDOWS -
trunk/src/VBox/Main/include/SharedFolderImpl.h
r30760 r30764 21 21 #include "VirtualBoxBase.h" 22 22 #include <VBox/shflsvc.h> 23 24 class Console; 23 25 24 26 class ATL_NO_VTABLE SharedFolder : -
trunk/src/VBox/Main/include/SnapshotImpl.h
r30760 r30764 24 24 25 25 #include <iprt/time.h> 26 27 class SnapshotMachine; 28 29 namespace settings 30 { 31 struct Snapshot; 32 } 26 33 27 34 class ATL_NO_VTABLE Snapshot : -
trunk/src/VBox/Main/include/SystemPropertiesImpl.h
r30760 r30764 22 22 23 23 #include "VirtualBoxBase.h" 24 #include "MediumFormatImpl.h" 25 26 #include <VBox/com/array.h> 27 28 #include <list> 29 30 namespace settings 31 { 32 struct SystemProperties; 33 } 24 34 25 35 class ATL_NO_VTABLE SystemProperties : -
trunk/src/VBox/Main/include/USBControllerImpl.h
r30760 r30764 22 22 23 23 #include "VirtualBoxBase.h" 24 25 class HostUSBDevice; 26 class USBDeviceFilter; 27 28 namespace settings 29 { 30 struct USBController; 31 } 24 32 25 33 class ATL_NO_VTABLE USBController : -
trunk/src/VBox/Main/include/VirtualBoxBase.h
r30763 r30764 30 30 #include "VBox/com/VirtualBox.h" 31 31 32 // empty-declare a bunch of classes that are commonly used in VirtualBox 33 // headers; this avoids having to include all the headers in every 34 // single implementation .cpp file 35 32 // avoid including VBox/settings.h and VBox/xml.h; 33 // only declare the classes 36 34 namespace xml 37 35 { 38 class ElementNode; 39 class File; 36 class File; 40 37 } 41 38 … … 46 43 class AutoUninitSpan; 47 44 48 class AudioSniffer; 49 class AudioAdapter; 50 class Appliance; 51 class BIOSSettings; 52 class Console; 53 class ConsoleCallbackRegistration; 54 class ConsoleVRDPServer; 55 class DHCPServer; 56 class Display; 57 class Guest; 58 class GuestOSType; 45 class VirtualBox; 46 class Machine; 47 class Medium; 59 48 class Host; 60 class HostUSBDevice;61 class HostUSBDeviceFilter;62 class Keyboard;63 class Machine;64 class MachineDebugger;65 class Medium;66 class MediumAttachment;67 class MediumFormat;68 class MediumLockList;69 class Mouse;70 class NetworkAdapter;71 class NATEngine;72 class OUSBDevice;73 class ParallelPort;74 class PerformanceCollector;75 class Progress;76 class ProgressProxy;77 class RemoteDisplayInfo;78 class RemoteUSBDevice;79 class SerialPort;80 class SessionMachine;81 class SharedFolder;82 class Snapshot;83 class SnapshotMachine;84 class StorageController;85 class SystemProperties;86 class USBController;87 class USBDeviceFilter;88 class USBProxyService;89 class TeleporterStateSrc;90 class VMMDev;91 class VirtualBox;92 class VirtualSystemDescription;93 struct VirtualSystemDescriptionEntry;94 class VRDPServer;95 96 49 typedef std::list< ComObjPtr<Medium> > MediaList; 97 typedef std::list< ComObjPtr<MediumAttachment> > MediumAttachmentsList;98 99 namespace settings100 {101 struct AudioAdapter;102 struct Hardware;103 struct Host;104 class MainConfigFile;105 class MachineConfigFile;106 struct MachineRegistryEntry;107 struct Medium;108 struct NAT;109 struct NetworkAdapter;110 struct ParallelPort;111 struct SerialPort;112 struct Snapshot;113 struct Storage;114 struct StorageController;115 struct SystemProperties;116 struct USBController;117 }118 119 namespace pm120 {121 class Metric;122 class BaseMetric;123 class CollectorHAL;124 class CollectorGuestHAL;125 }126 50 127 51 //////////////////////////////////////////////////////////////////////////////// … … 215 139 //////////////////////////////////////////////////////////////////////////////// 216 140 217 #ifndef DEBUG218 // the following two are defined in glue/errorprint.cpp because they are included219 // in the ComAssert macro below thousands of times in release builds220 extern const char *g_pcszComAssertFailedString;221 // "Assertion failed: [%s] at '%s' (%d) in %s.\nPlease contact the product vendor!"222 extern const char *g_pcszComAssertMsgFailedString;223 // "Assertion failed: [%s] at '%s' (%d) in %s.\n%s\nPlease contact the product vendor!"224 #endif225 226 141 /** 227 142 * Special version of the Assert macro to be used within VirtualBoxBase … … 243 158 if (RT_UNLIKELY(!(expr))) \ 244 159 setError(E_FAIL, \ 245 g_pcszComAssertFailedString, \160 "Assertion failed: [%s] at '%s' (%d) in %s.\nPlease contact the product vendor!", \ 246 161 #expr, __FILE__, __LINE__, __PRETTY_FUNCTION__); \ 247 162 } while (0) … … 264 179 if (RT_UNLIKELY(!(expr))) \ 265 180 setError(E_FAIL, \ 266 g_pcszComAssertMsgFailedString, \267 #expr, __FILE__, __LINE__, __PRETTY_FUNCTION__ , Utf8StrFmt a .c_str()); \181 "Assertion failed: [%s] at '%s' (%d) in %s.\n%s.\nPlease contact the product vendor!", \ 182 #expr, __FILE__, __LINE__, __PRETTY_FUNCTION__); \ 268 183 } while (0) 269 184 #endif -
trunk/src/VBox/Main/include/VirtualBoxImpl.h
r30760 r30764 33 33 } 34 34 35 class SessionMachine; 36 class GuestOSType; 37 class SharedFolder; 38 class Progress; 39 class Host; 40 class SystemProperties; 41 class DHCPServer; 42 class PerformanceCollector; 43 class VirtualBoxCallbackRegistration; /* see VirtualBoxImpl.cpp */ 44 35 45 typedef std::list< ComObjPtr<SessionMachine> > SessionMachinesList; 36 46 … … 40 50 41 51 struct VMClientWatcherData; 52 53 namespace settings 54 { 55 class MainConfigFile; 56 } 42 57 43 58 class ATL_NO_VTABLE VirtualBox : … … 53 68 public: 54 69 70 typedef std::list< VirtualBoxCallbackRegistration > CallbackList; 55 71 typedef std::list< ComPtr<IInternalSessionControl> > InternalControlList; 56 72 -
trunk/src/VBox/Main/xpcom/server.cpp
r30760 r30764 41 41 #include <iprt/message.h> 42 42 #include <iprt/stream.h> 43 #include <iprt/file.h>44 43 #include <iprt/path.h> 45 44 #include <iprt/timer.h> … … 61 60 #include <VirtualBox_XPCOM.h> 62 61 #include <VirtualBoxImpl.h> 63 64 #include "AudioAdapterImpl.h" 65 #include "ApplianceImpl.h" 66 #include "BIOSSettingsImpl.h" 67 #include "GuestOSTypeImpl.h" 62 #include <MachineImpl.h> 63 #include <VFSExplorerImpl.h> 64 #include <ApplianceImpl.h> 65 #include <SnapshotImpl.h> 66 #include <MediumImpl.h> 67 #include <MediumFormatImpl.h> 68 #include <ProgressCombinedImpl.h> 69 #include <ProgressProxyImpl.h> 70 #include <VRDPServerImpl.h> 71 #include <SharedFolderImpl.h> 72 #include <HostImpl.h> 73 #include <HostNetworkInterfaceImpl.h> 74 #include <GuestOSTypeImpl.h> 75 #include <NetworkAdapterImpl.h> 76 #include <NATEngineImpl.h> 77 #include <SerialPortImpl.h> 78 #include <ParallelPortImpl.h> 79 #include <USBControllerImpl.h> 80 #include "USBDeviceFilterImpl.h" 81 #include "DHCPServerRunner.h" 68 82 #include "DHCPServerImpl.h" 69 #include "HostImpl.h"70 #include "HostNetworkInterfaceImpl.h"71 #include "MachineImpl.h"72 #include "MediumImpl.h"73 #include "MediumAttachmentImpl.h"74 #include "MediumFormatImpl.h"75 #include "NATEngineImpl.h"76 #include "NetworkAdapterImpl.h"77 #include "ParallelPortImpl.h"78 #include "ProgressCombinedImpl.h"79 #include "ProgressProxyImpl.h"80 #include "VRDPServerImpl.h"81 #include "SerialPortImpl.h"82 #include "SharedFolderImpl.h"83 #include "SnapshotImpl.h"84 #include "StorageControllerImpl.h"85 #include "SystemPropertiesImpl.h"86 #include "USBDeviceFilterImpl.h"87 #include "USBControllerImpl.h"88 #include "VFSExplorerImpl.h"89 90 83 #ifdef VBOX_WITH_USB 91 84 # include <HostUSBDeviceImpl.h> 92 85 # include <USBDeviceImpl.h> 93 86 #endif 94 95 #ifdef VBOX_WITH_RESOURCE_USAGE_API 96 # include "Performance.h" 97 # include "PerformanceImpl.h" 98 #endif /* VBOX_WITH_RESOURCE_USAGE_API */ 87 #include <StorageControllerImpl.h> 88 #include <AudioAdapterImpl.h> 89 #include <SystemPropertiesImpl.h> 99 90 100 91 /* implement nsISupports parts of our objects with support for nsIClassInfo */
Note:
See TracChangeset
for help on using the changeset viewer.