Changeset 25198 in vbox for trunk/src/VBox/Main/include
- Timestamp:
- Dec 4, 2009 5:53:00 PM (15 years ago)
- svn:sync-xref-src-repo-rev:
- 55679
- Location:
- trunk/src/VBox/Main/include
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/include/StorageControllerImpl.h
r25184 r25198 27 27 #include "VirtualBoxBase.h" 28 28 29 #include <list>30 31 29 class Machine; 32 30 … … 37 35 VBOX_SCRIPTABLE_IMPL(IStorageController) 38 36 { 39 private:40 41 struct Data42 {43 /* Constructor. */44 Data() : mStorageBus (StorageBus_IDE),45 mStorageControllerType (StorageControllerType_PIIX4),46 mInstance (0),47 mPortCount (2),48 mPortIde0Master (0),49 mPortIde0Slave (1),50 mPortIde1Master (2),51 mPortIde1Slave (3) { }52 53 bool operator== (const Data &that) const54 {55 return this == &that56 || ( (mStorageControllerType == that.mStorageControllerType)57 && (strName == that.strName)58 && (mPortCount == that.mPortCount)59 && (mPortIde0Master == that.mPortIde0Master)60 && (mPortIde0Slave == that.mPortIde0Slave)61 && (mPortIde1Master == that.mPortIde1Master)62 && (mPortIde1Slave == that.mPortIde1Slave));63 }64 65 /** Unique name of the storage controller. */66 Utf8Str strName;67 /** The connection type of thestorage controller. */68 StorageBus_T mStorageBus;69 /** Type of the Storage controller. */70 StorageControllerType_T mStorageControllerType;71 /** Instance number of the storage controller. */72 ULONG mInstance;73 /** Number of usable ports. */74 ULONG mPortCount;75 76 /** The following is only for the SATA controller atm. */77 /** Port which acts as primary master for ide emulation. */78 ULONG mPortIde0Master;79 /** Port which acts as primary slave for ide emulation. */80 ULONG mPortIde0Slave;81 /** Port which acts as secondary master for ide emulation. */82 ULONG mPortIde1Master;83 /** Port which acts as secondary slave for ide emulation. */84 ULONG mPortIde1Slave;85 };86 87 37 public: 88 38 … … 99 49 END_COM_MAP() 100 50 101 DECLARE_EMPTY_CTOR_DTOR (StorageController) 51 StorageController() { }; 52 ~StorageController() { }; 102 53 103 54 HRESULT FinalConstruct(); … … 135 86 // public methods only for internal purposes 136 87 137 const Utf8Str & name() const { return mData->strName; }138 StorageControllerType_T controllerType() const { return mData->mStorageControllerType; }139 StorageBus_T storageBus() const { return mData->mStorageBus; }140 ULONG instance() const { return mData->mInstance; }88 const Utf8Str &getName() const; 89 StorageControllerType_T getControllerType() const; 90 StorageBus_T getStorageBus() const; 91 ULONG getInstance() const; 141 92 142 bool isModified() { AutoWriteLock alock (this); return mData.isBackedUp(); }143 bool isReallyModified() { AutoWriteLock alock (this); return mData.hasActualChanges(); }93 bool isModified(); 94 bool isReallyModified(); 144 95 bool rollback(); 145 96 void commit(); … … 151 102 152 103 /** @note this doesn't require a read lock since mParent is constant. */ 153 const ComObjPtr<Machine, ComWeakRef> &parent() { return mParent; };104 const ComObjPtr<Machine, ComWeakRef>& getMachine(); 154 105 155 const Backupable<Data> &data() { return mData; } 156 ComObjPtr<StorageController> peer() { return mPeer; } 106 ComObjPtr<StorageController> getPeer(); 157 107 158 108 // for VirtualBoxSupportErrorInfoImpl … … 163 113 void printList(); 164 114 165 /** Parent object. */ 166 const ComObjPtr<Machine, ComWeakRef> mParent; 167 /** Peer object. */ 168 const ComObjPtr<StorageController> mPeer; 169 /** Data. */ 170 Backupable<Data> mData; 115 struct Data; 116 Data *m; 171 117 }; 172 118 -
trunk/src/VBox/Main/include/USBDeviceImpl.h
r23223 r25198 25 25 26 26 #include "VirtualBoxBase.h" 27 #include "Logging.h"28 29 27 30 28 /**
Note:
See TracChangeset
for help on using the changeset viewer.