Changeset 25448 in vbox
- Timestamp:
- Dec 17, 2009 9:49:46 AM (15 years ago)
- svn:sync-xref-src-repo-rev:
- 56105
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VBoxHeadless/VBoxHeadless.cpp
r25027 r25448 105 105 106 106 /** 107 * Callback handler for VirtualBox events 108 */ 109 class VirtualBoxCallback : 110 VBOX_SCRIPTABLE_IMPL(IVirtualBoxCallback) 111 { 112 public: 113 VirtualBoxCallback() 114 { 115 #ifndef VBOX_WITH_XPCOM 116 refcnt = 0; 117 #endif 118 } 119 120 virtual ~VirtualBoxCallback() 121 { 122 } 123 124 #ifndef VBOX_WITH_XPCOM 125 STDMETHOD_(ULONG, AddRef)() 126 { 127 return ::InterlockedIncrement(&refcnt); 128 } 129 STDMETHOD_(ULONG, Release)() 130 { 131 long cnt = ::InterlockedDecrement(&refcnt); 132 if (cnt == 0) 133 delete this; 134 return cnt; 135 } 136 #endif 137 VBOX_SCRIPTABLE_DISPATCH_IMPL(IVirtualBoxCallback) 138 139 NS_DECL_ISUPPORTS 140 141 STDMETHOD(OnMachineStateChange)(IN_BSTR machineId, MachineState_T state) 142 { 143 return S_OK; 144 } 145 146 STDMETHOD(OnMachineDataChange)(IN_BSTR machineId) 147 { 148 return S_OK; 149 } 150 151 STDMETHOD(OnExtraDataCanChange)(IN_BSTR machineId, IN_BSTR key, IN_BSTR value, 152 BSTR *error, BOOL *changeAllowed) 153 { 154 /* we never disagree */ 155 if (!changeAllowed) 156 return E_INVALIDARG; 157 *changeAllowed = TRUE; 158 return S_OK; 159 } 160 161 STDMETHOD(OnExtraDataChange)(IN_BSTR machineId, IN_BSTR key, IN_BSTR value) 162 { 163 return S_OK; 164 } 165 166 STDMETHOD(OnMediumRegistered)(IN_BSTR mediaId, DeviceType_T mediaType, 167 BOOL registered) 168 { 169 return S_OK; 170 } 171 172 STDMETHOD(OnMachineRegistered)(IN_BSTR machineId, BOOL registered) 173 { 174 return S_OK; 175 } 176 177 STDMETHOD(OnSessionStateChange)(IN_BSTR machineId, SessionState_T state) 178 { 179 return S_OK; 180 } 181 182 STDMETHOD(OnSnapshotTaken) (IN_BSTR aMachineId, IN_BSTR aSnapshotId) 183 { 184 return S_OK; 185 } 186 187 STDMETHOD(OnSnapshotDiscarded) (IN_BSTR aMachineId, IN_BSTR aSnapshotId) 188 { 189 return S_OK; 190 } 191 192 STDMETHOD(OnSnapshotChange) (IN_BSTR aMachineId, IN_BSTR aSnapshotId) 193 { 194 return S_OK; 195 } 196 197 STDMETHOD(OnGuestPropertyChange)(IN_BSTR machineId, IN_BSTR key, IN_BSTR value, IN_BSTR flags) 198 { 199 return S_OK; 200 } 201 202 private: 203 #ifndef VBOX_WITH_XPCOM 204 long refcnt; 205 #endif 206 207 }; 208 209 /** 107 210 * Callback handler for machine events. 108 211 */ … … 288 391 289 392 #ifdef VBOX_WITH_XPCOM 393 NS_DECL_CLASSINFO (VirtualBoxCallback) 394 NS_IMPL_THREADSAFE_ISUPPORTS1_CI (VirtualBoxCallback, IVirtualBoxCallback) 290 395 NS_DECL_CLASSINFO (ConsoleCallback) 291 396 NS_IMPL_THREADSAFE_ISUPPORTS1_CI (ConsoleCallback, IConsoleCallback) … … 847 952 gEventQ = com::EventQueue::getMainEventQueue(); 848 953 954 /* VirtualBox callback registration. */ 955 VirtualBoxCallback *vboxCallback = new VirtualBoxCallback(); 956 vboxCallback->AddRef(); 957 CHECK_ERROR(virtualBox, RegisterCallback(vboxCallback)); 958 vboxCallback->Release(); 959 if (FAILED (rc)) 960 break; 961 849 962 /* register a callback for machine events */ 850 963 {
Note:
See TracChangeset
for help on using the changeset viewer.