- Timestamp:
- Jul 12, 2007 2:05:10 PM (18 years ago)
- Location:
- trunk/src/VBox/Main
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/GuestImpl.cpp
r3007 r3582 141 141 } 142 142 143 STDMETHODIMP Guest::COMGETTER(SeamlessSupport) (BOOL *aSeamlessSupport) 144 { 145 if (!aSeamlessSupport) 146 return E_POINTER; 147 148 AutoCaller autoCaller (this); 149 CheckComRCReturnRC (autoCaller.rc()); 150 151 AutoReaderLock alock (this); 152 153 *aSeamlessSupport = mData.mSeamlessSupport; 154 155 return S_OK; 156 } 157 143 158 STDMETHODIMP Guest::SetCredentials(INPTR BSTR aUserName, INPTR BSTR aPassword, 144 159 INPTR BSTR aDomain, BOOL aAllowInteractiveLogon) … … 185 200 mData.mAdditionsActive = TRUE; 186 201 } 202 203 void Guest::setSeamlessSupport(BOOL aSeamlessSupport) 204 { 205 AutoCaller autoCaller (this); 206 AssertComRCReturnVoid (autoCaller.rc()); 207 208 AutoLock alock (this); 209 210 mData.mSeamlessSupport = aSeamlessSupport; 211 } -
trunk/src/VBox/Main/VMMDevInterface.cpp
r3579 r3582 183 183 pDrv->pVMMDev->getParent()->onAdditionsOutdated(); 184 184 } 185 } 186 187 /** 188 * Update the guest additions capabilities. 189 * This is called when the guest additions capabilities change. The new capabilities 190 * are given and the connector should update its internal state. 191 * 192 * @param pInterface Pointer to this interface. 193 * @param newCapabilities New capabilities. 194 * @thread The emulation thread. 195 */ 196 DECLCALLBACK(void) vmmdevUpdateGuestCapabilities(PPDMIVMMDEVCONNECTOR pInterface, uint32_t newCapabilities) 197 { 198 PDRVMAINVMMDEV pDrv = PDMIVMMDEVCONNECTOR_2_MAINVMMDEV(pInterface); 199 200 /* store that information in IGuest */ 201 Guest* guest = pDrv->pVMMDev->getParent()->getGuest(); 202 Assert(guest); 203 if (!guest) 204 return; 205 206 guest->setSeamlessSupport(BOOL (newCapabilities & VMMDEV_GUEST_SUPPORTS_SEAMLESS)); 207 208 /* 209 * Tell the console interface about the event 210 * so that it can notify its consumers. 211 */ 212 pDrv->pVMMDev->getParent()->onAdditionsStateChange(); 213 185 214 } 186 215 … … 507 536 508 537 pData->Connector.pfnUpdateGuestVersion = vmmdevUpdateGuestVersion; 538 pData->Connector.pfnUpdateGuesteCapabilities = vmmdevUpdateGuestCapabilities; 509 539 pData->Connector.pfnUpdateMouseCapabilities = vmmdevUpdateMouseCapabilities; 510 540 pData->Connector.pfnUpdatePointerShape = vmmdevUpdatePointerShape; -
trunk/src/VBox/Main/idl/VirtualBox.xidl
r3578 r3582 4131 4131 <interface 4132 4132 name="IGuest" extends="$unknown" 4133 uuid=" 4b71ac5f-db5a-4b4f-af6e-a947d4b83dda"4133 uuid="d7a3f7cf-84c4-4628-9267-a1cff0e5f3bc" 4134 4134 wsmap="suppress" 4135 4135 > … … 4171 4171 the version might be refused by VirtualBox (incompatible) or 4172 4172 other failures occured. 4173 </desc> 4174 </attribute> 4175 4176 <attribute name="seamlessSupport" type="boolean" readonly="yes"> 4177 <desc> 4178 Flag whether seamless guest display rendering is supported. 4173 4179 </desc> 4174 4180 </attribute> -
trunk/src/VBox/Main/include/GuestImpl.h
r2981 r3582 59 59 STDMETHOD(COMGETTER(AdditionsActive)) (BOOL *aAdditionsActive); 60 60 STDMETHOD(COMGETTER(AdditionsVersion)) (BSTR *aAdditionsVersion); 61 STDMETHOD(COMGETTER(SeamlessSupport)) (BOOL *aSeamlessSupport); 61 62 62 63 // IGuest methods … … 67 68 void setAdditionsVersion (Bstr aVersion); 68 69 70 void setSeamlessSupport(BOOL aSeamlessSupport); 71 69 72 // for VirtualBoxSupportErrorInfoImpl 70 73 static const wchar_t *getComponentName() { return L"Guest"; } … … 74 77 struct Data 75 78 { 76 Data() : mAdditionsActive (FALSE) {}79 Data() : mAdditionsActive (FALSE), mSeamlessSupport (FALSE) {} 77 80 78 81 Bstr mOSTypeId; 79 82 BOOL mAdditionsActive; 80 83 Bstr mAdditionsVersion; 84 BOOL mSeamlessSupport; 81 85 }; 82 86
Note:
See TracChangeset
for help on using the changeset viewer.