Index: /trunk/src/VBox/Main/idl/VirtualBox.xidl
===================================================================
--- /trunk/src/VBox/Main/idl/VirtualBox.xidl	(revision 76239)
+++ /trunk/src/VBox/Main/idl/VirtualBox.xidl	(revision 76240)
@@ -23725,4 +23725,5 @@
       The given medium was registered or unregistered
       within this VirtualBox installation.
+      <note>This event is not yet implemented.</note>
     </desc>
 
@@ -23751,4 +23752,5 @@
       The configuration of the given medium was changed (location, properties,
       child/parent or anything else).
+      <note>This event is not yet implemented.</note>
     </desc>
 
@@ -24142,4 +24144,5 @@
       <link to="IMachine::mediumAttachments">medium attachment</link>
       changes.
+      <note>This event is not yet implemented.</note>
     </desc>
     <attribute name="mediumAttachment" type="IMediumAttachment" readonly="yes">
Index: /trunk/src/VBox/Main/include/MediumImpl.h
===================================================================
--- /trunk/src/VBox/Main/include/MediumImpl.h	(revision 76239)
+++ /trunk/src/VBox/Main/include/MediumImpl.h	(revision 76240)
@@ -169,6 +169,5 @@
                                 MediumLockList *pMediumLockList,
                                 ComObjPtr<Progress> *aProgress,
-                                bool aWait,
-                                bool aNotify);
+                                bool aWait);
     Utf8Str i_getPreferredDiffFormat();
     MediumVariant_T i_getPreferredDiffVariant();
@@ -177,5 +176,5 @@
     HRESULT i_unlockRead(MediumState_T *aState);
     HRESULT i_unlockWrite(MediumState_T *aState);
-    HRESULT i_deleteStorage(ComObjPtr<Progress> *aProgress, bool aWait, bool aNotify);
+    HRESULT i_deleteStorage(ComObjPtr<Progress> *aProgress, bool aWait);
     HRESULT i_markForDeletion();
     HRESULT i_unmarkForDeletion();
@@ -200,6 +199,5 @@
                       MediumLockList *aMediumLockList,
                       ComObjPtr<Progress> *aProgress,
-                      bool aWait,
-                      bool aNotify);
+                      bool aWait);
     void i_cancelMergeTo(MediumLockList *aChildrenToReparent,
                        MediumLockList *aMediumLockList);
@@ -208,6 +206,5 @@
                      MediumLockList *aMediumLockList,
                      ComObjPtr<Progress> *aProgress,
-                     bool aWait,
-                     bool aNotify);
+                     bool aWait);
 
     HRESULT i_fixParentUuidOfChildren(MediumLockList *pChildrenToReparent);
@@ -223,14 +220,13 @@
                          const ComObjPtr<Progress> &aProgress);
     HRESULT i_importFile(const char *aFilename,
-                         const ComObjPtr<MediumFormat> &aFormat,
-                         MediumVariant_T aVariant,
-                         RTVFSIOSTREAM hVfsIosSrc,
-                         const ComObjPtr<Medium> &aParent,
-                         const ComObjPtr<Progress> &aProgress,
-                         bool aNotify);
+                        const ComObjPtr<MediumFormat> &aFormat,
+                        MediumVariant_T aVariant,
+                        RTVFSIOSTREAM hVfsIosSrc,
+                        const ComObjPtr<Medium> &aParent,
+                        const ComObjPtr<Progress> &aProgress);
 
     HRESULT i_cloneToEx(const ComObjPtr<Medium> &aTarget, MediumVariant_T aVariant,
                         const ComObjPtr<Medium> &aParent, IProgress **aProgress,
-                        uint32_t idxSrcImageSame, uint32_t idxDstImageSame, bool aNotify);
+                        uint32_t idxSrcImageSame, uint32_t idxDstImageSame);
 
     const Utf8Str& i_getKeyId();
Index: /trunk/src/VBox/Main/include/VirtualBoxImpl.h
===================================================================
--- /trunk/src/VBox/Main/include/VirtualBoxImpl.h	(revision 76239)
+++ /trunk/src/VBox/Main/include/VirtualBoxImpl.h	(revision 76240)
@@ -150,8 +150,4 @@
     int i_unloadVDPlugin(const char *pszPluginLibrary);
 
-    void i_onMediumRegistered(const Guid &aMediumId, const DeviceType_T aDevType, const BOOL aRegistered);
-    void i_onMediumConfigChanged(IMedium *aMedium);
-    void i_onMediumChanged(IMediumAttachment* aMediumAttachment);
-    void i_onStorageDeviceChanged(IMediumAttachment* aStorageDevice, const BOOL fRemoved, const BOOL fSilent);
     void i_onMachineStateChange(const Guid &aId, MachineState_T aState);
     void i_onMachineDataChange(const Guid &aId, BOOL aTemporary = FALSE);
Index: /trunk/src/VBox/Main/src-server/ApplianceImplImport.cpp
===================================================================
--- /trunk/src/VBox/Main/src-server/ApplianceImplImport.cpp	(revision 76239)
+++ /trunk/src/VBox/Main/src-server/ApplianceImplImport.cpp	(revision 76240)
@@ -2641,6 +2641,5 @@
                                                      hVfsIosReadAhead,
                                                      nullParent,
-                                                     pProgressImportTmp,
-                                                     true /* aNotify */);
+                                                     pProgressImportTmp);
                     RTVfsIoStrmRelease(hVfsIosReadAhead);
                     hVfsIosSrc = NIL_RTVFSIOSTREAM;
Index: /trunk/src/VBox/Main/src-server/MachineImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-server/MachineImpl.cpp	(revision 76239)
+++ /trunk/src/VBox/Main/src-server/MachineImpl.cpp	(revision 76240)
@@ -4037,6 +4037,5 @@
                                                  pMediumLockList,
                                                  NULL /* aProgress */,
-                                                 true /* aWait */,
-                                                 false /* aNotify */);
+                                                 true /* aWait */);
 
                 alock.acquire();
@@ -4146,6 +4145,4 @@
     mParent->i_saveModifiedRegistries();
 
-    if (aM)
-        mParent->i_onMediumConfigChanged(aM);
     return rc;
 }
@@ -10822,6 +10819,5 @@
                                               pMediumLockList,
                                               NULL /* aProgress */,
-                                              true /* aWait */,
-                                              false /* aNotify */);
+                                              true /* aWait */);
             alock.acquire();
             if (FAILED(rc)) throw rc;
@@ -11059,5 +11055,5 @@
                 Assert(pMedium);
 
-                rc = pMedium->i_deleteStorage(NULL /*aProgress*/, true /*aWait*/, false /*aNotify*/);
+                rc = pMedium->i_deleteStorage(NULL /*aProgress*/, true /*aWait*/);
                 // continue on delete failure, just collect error messages
                 AssertMsg(SUCCEEDED(rc), ("rc=%Rhrc it=%s hd=%s\n", rc, pAtt->i_getLogName(),
@@ -11227,6 +11223,5 @@
 
         HRESULT rc = oldmedium->i_deleteStorage(NULL /*aProgress*/,
-                                                true /*aWait*/,
-                                                false /*aNotify*/);
+                                                true /*aWait*/);
 
         writeLock.acquire();
@@ -14028,6 +14023,4 @@
     }
 
-    mParent->i_onMediumChanged(aAttachment);
-
     /* ignore notifications sent after #OnSessionEnd() is called */
     if (!directControl)
@@ -14266,6 +14259,4 @@
             directControl = mData->mSession.mDirectControl;
     }
-
-    mParent->i_onStorageDeviceChanged(aAttachment, aRemove, aSilent);
 
     /* ignore notifications sent after #OnSessionEnd() is called */
Index: /trunk/src/VBox/Main/src-server/MachineImplCloneVM.cpp
===================================================================
--- /trunk/src/VBox/Main/src-server/MachineImplCloneVM.cpp	(revision 76239)
+++ /trunk/src/VBox/Main/src-server/MachineImplCloneVM.cpp	(revision 76240)
@@ -16,6 +16,4 @@
  */
 
-#include <set>
-#include <map>
 #include "MachineImplCloneVM.h"
 
@@ -732,6 +730,5 @@
                                           pMediumLockList,
                                           NULL /* aProgress */,
-                                          true /* aWait */,
-                                          false /* aNotify */);
+                                          true /* aWait */);
         delete pMediumLockList;
         if (FAILED(rc)) throw rc;
@@ -1019,6 +1016,4 @@
     RTCList<ComObjPtr<Medium> > newMedia;   /* All created images */
     RTCList<Utf8Str> newFiles;              /* All extra created files (save states, ...) */
-    std::set<ComObjPtr<Medium> > pMediumsForNotify;
-    std::map<Guid, DeviceType_T> uIdsForNotify;
     try
     {
@@ -1158,6 +1153,4 @@
                         /* diff image has to be used... */
                         pNewParent = pDiff;
-                        pMediumsForNotify.insert(pDiff->i_getParent());
-                        uIdsForNotify[pDiff->i_getId()] = pDiff->i_getDeviceType();
                     }
                     else
@@ -1291,6 +1284,5 @@
                                                    progress2.asOutParam(),
                                                    uSrcParentIdx,
-                                                   uTrgParentIdx,
-                                                   false /* aNotify */);
+                                                   uTrgParentIdx);
                         srcLock.acquire();
                         if (FAILED(rc)) throw rc;
@@ -1326,5 +1318,4 @@
                          * chain. */
                         pNewParent = pTarget;
-                        uIdsForNotify[pTarget->i_getId()] = pTarget->i_getDeviceType();
                     }
                 }
@@ -1365,6 +1356,4 @@
                     /* diff image has to be used... */
                     pNewParent = pDiff;
-                    pMediumsForNotify.insert(pDiff->i_getParent());
-                    uIdsForNotify[pDiff->i_getId()] = pDiff->i_getDeviceType();
                 }
                 else
@@ -1545,6 +1534,5 @@
             const ComObjPtr<Medium> &pMedium = newMedia.at(i - 1);
             mrc = pMedium->i_deleteStorage(NULL /* aProgress */,
-                                           true /* aWait */,
-                                           false /* aNotify */);
+                                           true /* aWait */);
             pMedium->Close();
         }
@@ -1558,20 +1546,4 @@
         p->mParent->i_saveModifiedRegistries();
     }
-    else
-    {
-        for (std::map<Guid, DeviceType_T>::const_iterator it = uIdsForNotify.begin();
-             it != uIdsForNotify.end();
-             ++it)
-        {
-            p->mParent->i_onMediumRegistered(it->first, it->second, TRUE);
-        }
-        for (std::set<ComObjPtr<Medium> >::const_iterator it = pMediumsForNotify.begin();
-             it != pMediumsForNotify.end();
-             ++it)
-        {
-            if (it->isNotNull())
-                p->mParent->i_onMediumConfigChanged(*it);
-        }
-    }
 
     return mrc;
Index: /trunk/src/VBox/Main/src-server/MediumImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-server/MediumImpl.cpp	(revision 76239)
+++ /trunk/src/VBox/Main/src-server/MediumImpl.cpp	(revision 76240)
@@ -46,6 +46,4 @@
 #include <algorithm>
 #include <list>
-#include <set>
-#include <map>
 
 
@@ -224,5 +222,5 @@
 {
 public:
-    Task(Medium *aMedium, Progress *aProgress, bool fNotifyAboutChanges = true)
+    Task(Medium *aMedium, Progress *aProgress)
         : ThreadTask("Medium::Task"),
           mVDOperationIfaces(NULL),
@@ -230,6 +228,5 @@
           mMediumCaller(aMedium),
           mProgress(aProgress),
-          mVirtualBoxCaller(NULL),
-          mNotifyAboutChanges(fNotifyAboutChanges)
+          mVirtualBoxCaller(NULL)
     {
         AssertReturnVoidStmt(aMedium, mRC = E_FAIL);
@@ -274,5 +271,4 @@
     HRESULT rc() const { return mRC; }
     bool isOk() const { return SUCCEEDED(rc()); }
-    bool NotifyAboutChanges() const { return mNotifyAboutChanges; }
 
     const ComPtr<Progress>& GetProgressObject() const {return mProgress;}
@@ -335,5 +331,4 @@
     ComObjPtr<VirtualBox> mVirtualBox;
     AutoCaller mVirtualBoxCaller;
-    bool mNotifyAboutChanges;
 };
 
@@ -349,7 +344,6 @@
                    Progress *aProgress,
                    uint64_t aSize,
-                   MediumVariant_T aVariant,
-                   bool fNotifyAboutChanges = true)
-        : Medium::Task(aMedium, aProgress, fNotifyAboutChanges),
+                   MediumVariant_T aVariant)
+        : Medium::Task(aMedium, aProgress),
           mSize(aSize),
           mVariant(aVariant)
@@ -373,7 +367,6 @@
                    MediumVariant_T aVariant,
                    MediumLockList *aMediumLockList,
-                   bool fKeepMediumLockList = false,
-                   bool fNotifyAboutChanges = true)
-        : Medium::Task(aMedium, aProgress, fNotifyAboutChanges),
+                   bool fKeepMediumLockList = false)
+        : Medium::Task(aMedium, aProgress),
           mpMediumLockList(aMediumLockList),
           mTarget(aTarget),
@@ -419,7 +412,6 @@
               MediumLockList *aTargetMediumLockList,
               bool fKeepSourceMediumLockList = false,
-              bool fKeepTargetMediumLockList = false,
-              bool fNotifyAboutChanges = true)
-        : Medium::Task(aMedium, aProgress, fNotifyAboutChanges),
+              bool fKeepTargetMediumLockList = false)
+        : Medium::Task(aMedium, aProgress),
           mTarget(aTarget),
           mParent(aParent),
@@ -478,7 +470,6 @@
               MediumVariant_T aVariant,
               MediumLockList *aMediumLockList,
-              bool fKeepMediumLockList = false,
-              bool fNotifyAboutChanges = true)
-        : Medium::Task(aMedium, aProgress, fNotifyAboutChanges),
+              bool fKeepMediumLockList = false)
+        : Medium::Task(aMedium, aProgress),
           mpMediumLockList(aMediumLockList),
           mVariant(aVariant),
@@ -509,7 +500,6 @@
                 Progress *aProgress,
                 MediumLockList *aMediumLockList,
-                bool fKeepMediumLockList = false,
-                bool fNotifyAboutChanges = true)
-        : Medium::Task(aMedium, aProgress, fNotifyAboutChanges),
+                bool fKeepMediumLockList = false)
+        : Medium::Task(aMedium, aProgress),
           mpMediumLockList(aMediumLockList),
           mfKeepMediumLockList(fKeepMediumLockList)
@@ -539,7 +529,6 @@
                Progress *aProgress,
                MediumLockList *aMediumLockList,
-               bool fKeepMediumLockList = false,
-               bool fNotifyAboutChanges = true)
-        : Medium::Task(aMedium, aProgress, fNotifyAboutChanges),
+               bool fKeepMediumLockList = false)
+        : Medium::Task(aMedium, aProgress),
           mSize(aSize),
           mpMediumLockList(aMediumLockList),
@@ -570,7 +559,6 @@
               Progress *aProgress,
               MediumLockList *aMediumLockList,
-              bool fKeepMediumLockList = false,
-              bool fNotifyAboutChanges = true)
-        : Medium::Task(aMedium, aProgress, fNotifyAboutChanges),
+              bool fKeepMediumLockList = false)
+        : Medium::Task(aMedium, aProgress),
           mpMediumLockList(aMediumLockList),
           mfKeepMediumLockList(fKeepMediumLockList)
@@ -598,7 +586,6 @@
                Progress *aProgress,
                MediumLockList *aMediumLockList,
-               bool fKeepMediumLockList = false,
-               bool fNotifyAboutChanges = true)
-        : Medium::Task(aMedium, aProgress, fNotifyAboutChanges),
+               bool fKeepMediumLockList = false)
+        : Medium::Task(aMedium, aProgress),
           mpMediumLockList(aMediumLockList),
           mfKeepMediumLockList(fKeepMediumLockList)
@@ -630,7 +617,6 @@
               Progress *aProgress,
               MediumLockList *aMediumLockList,
-              bool fKeepMediumLockList = false,
-              bool fNotifyAboutChanges = true)
-        : Medium::Task(aMedium, aProgress, fNotifyAboutChanges),
+              bool fKeepMediumLockList = false)
+        : Medium::Task(aMedium, aProgress),
           mTarget(aTarget),
           mfMergeForward(fMergeForward),
@@ -680,7 +666,6 @@
                Medium *aParent,
                MediumLockList *aTargetMediumLockList,
-               bool fKeepTargetMediumLockList = false,
-               bool fNotifyAboutChanges = true)
-        : Medium::Task(aMedium, aProgress, fNotifyAboutChanges),
+               bool fKeepTargetMediumLockList = false)
+        : Medium::Task(aMedium, aProgress),
           mFilename(aFilename),
           mFormat(aFormat),
@@ -745,5 +730,5 @@
                 Progress *aProgress,
                 MediumLockList *aMediumLockList)
-        : Medium::Task(aMedium, aProgress, false),
+        : Medium::Task(aMedium, aProgress),
           mstrNewPassword(strNewPassword),
           mstrCurrentPassword(strCurrentPassword),
@@ -1659,5 +1644,4 @@
         i_markRegistriesModified();
         m->pVirtualBox->i_saveModifiedRegistries();
-        m->pVirtualBox->i_onMediumConfigChanged(this);
     }
     catch (HRESULT aRC) { rc = aRC; }
@@ -1895,5 +1879,4 @@
     i_markRegistriesModified();
     m->pVirtualBox->i_saveModifiedRegistries();
-    m->pVirtualBox->i_onMediumConfigChanged(this);
 
     return S_OK;
@@ -2007,5 +1990,4 @@
         i_markRegistriesModified();
         m->pVirtualBox->i_saveModifiedRegistries();
-        m->pVirtualBox->i_onMediumConfigChanged(this);
     }
 
@@ -2074,7 +2056,5 @@
     }
 
-    const Guid uPrevImage = m->uuidImage;
     unconst(m->uuidImage) = imageId;
-    ComObjPtr<Medium> pPrevParent = i_getParent();
     unconst(m->uuidParentImage) = parentId;
 
@@ -2085,20 +2065,4 @@
                              !!aSetParentId /* fSetParentId */,
                              autoCaller);
-
-    AutoReadLock arlock(this COMMA_LOCKVAL_SRC_POS);
-    const Guid uCurrImage = m->uuidImage;
-    ComObjPtr<Medium> pCurrParent = i_getParent();
-    arlock.release();
-
-    if (SUCCEEDED(rc))
-    {
-        if (uCurrImage != uPrevImage)
-            m->pVirtualBox->i_onMediumConfigChanged(this);
-        if (pPrevParent != pCurrParent)
-        {
-            m->pVirtualBox->i_onMediumConfigChanged(pPrevParent);
-            m->pVirtualBox->i_onMediumConfigChanged(pCurrParent);
-        }
-    }
 
     return rc;
@@ -2394,13 +2358,7 @@
     ComObjPtr<VirtualBox> pVirtualBox(m->pVirtualBox);
 
-    Guid uId = i_getId();
-    DeviceType_T devType = i_getDeviceType();
-    bool wasCreated = m->state != MediumState_NotCreated;
     MultiResult mrc = i_close(aAutoCaller);
 
     pVirtualBox->i_saveModifiedRegistries();
-
-    if (SUCCEEDED(mrc) && wasCreated)
-        pVirtualBox->i_onMediumRegistered(uId, devType, FALSE);
 
     return mrc;
@@ -2472,5 +2430,4 @@
     i_markRegistriesModified();
     m->pVirtualBox->i_saveModifiedRegistries();
-    m->pVirtualBox->i_onMediumConfigChanged(this);
 
     return S_OK;
@@ -2552,9 +2509,7 @@
     i_markRegistriesModified();
     m->pVirtualBox->i_saveModifiedRegistries();
-    m->pVirtualBox->i_onMediumConfigChanged(this);
 
     return S_OK;
 }
-
 HRESULT Medium::createBaseStorage(LONG64 aLogicalSize,
                                   const std::vector<MediumVariant_T> &aVariant,
@@ -2642,6 +2597,5 @@
 
     MultiResult mrc = i_deleteStorage(&pProgress,
-                                      false /* aWait */,
-                                      true /* aNotify */);
+                                      false /* aWait */);
     /* Must save the registries in any case, since an entry was removed. */
     m->pVirtualBox->i_saveModifiedRegistries();
@@ -2762,5 +2716,5 @@
 
     rc = i_createDiffStorage(diff, (MediumVariant_T)mediumVariantFlags, pMediumLockList,
-                             &pProgress, false /* aWait */, true /* aNotify */);
+                             &pProgress, false /* aWait */);
     if (FAILED(rc))
         delete pMediumLockList;
@@ -2794,5 +2748,5 @@
 
     rc = i_mergeTo(pTarget, fMergeForward, pParentForTarget, pChildrenToReparent,
-                   pMediumLockList, &pProgress, false /* aWait */, true /* aNotify */);
+                   pMediumLockList, &pProgress, false /* aWait */);
     if (FAILED(rc))
         i_cancelMergeTo(pChildrenToReparent, pMediumLockList);
@@ -3345,5 +3299,4 @@
         MediumState_T mediumState;
         refreshState(autoCaller, &mediumState);
-        m->pVirtualBox->i_onMediumConfigChanged(this);
     }
     catch (HRESULT aRC) { rc = aRC; }
@@ -3473,5 +3426,5 @@
 
     if (SUCCEEDED(rc))
-        rc = i_resize(aLogicalSize, pMediumLockList, &pProgress, false /* aWait */, true /* aNotify */);
+        rc = i_resize(aLogicalSize, pMediumLockList, &pProgress, false /* aWait */);
 
     if (SUCCEEDED(rc))
@@ -4526,6 +4479,4 @@
         unconst(m->strLocationFull) = newPath;
 
-        m->pVirtualBox->i_onMediumConfigChanged(this);
-
         LogFlowThisFunc(("locationFull.after='%s'\n", m->strLocationFull.c_str()));
         // we changed something
@@ -4674,5 +4625,5 @@
 
 /**
- * Internal method to update the medium's id. Must have caller + locking!
+ * Internal method to return the medium's size. Must have caller + locking!
  * @return
  */
@@ -4920,6 +4871,4 @@
  * @param aWait             @c true if this method should block instead of
  *                          creating an asynchronous thread.
- * @param aNotify           Notify about mediums which metadatа are changed
- *                          during execution of the function.
  *
  * @note Locks this object and @a aTarget for writing.
@@ -4929,6 +4878,5 @@
                                     MediumLockList *aMediumLockList,
                                     ComObjPtr<Progress> *aProgress,
-                                    bool aWait,
-                                    bool aNotify)
+                                    bool aWait)
 {
     AssertReturn(!aTarget.isNull(), E_FAIL);
@@ -5005,6 +4953,5 @@
         pTask = new Medium::CreateDiffTask(this, pProgress, aTarget, aVariant,
                                            aMediumLockList,
-                                           aWait /* fKeepMediumLockList */,
-                                           aNotify);
+                                           aWait /* fKeepMediumLockList */);
         rc = pTask->rc();
         AssertComRC(rc);
@@ -5186,6 +5133,4 @@
  * @param aWait         @c true if this method should block instead of creating
  *                      an asynchronous thread.
- * @param aNotify       Notify about mediums which metadatа are changed
- *                      during execution of the function.
  *
  * @note Locks mVirtualBox and this object for writing. Locks medium tree for
@@ -5193,5 +5138,5 @@
  */
 HRESULT Medium::i_deleteStorage(ComObjPtr<Progress> *aProgress,
-                              bool aWait, bool aNotify)
+                              bool aWait)
 {
     AssertReturn(aProgress != NULL || aWait == true, E_FAIL);
@@ -5364,5 +5309,5 @@
 
         /* setup task object to carry out the operation sync/async */
-        pTask = new Medium::DeleteTask(this, pProgress, pMediumLockList, false, aNotify);
+        pTask = new Medium::DeleteTask(this, pProgress, pMediumLockList);
         rc = pTask->rc();
         AssertComRC(rc);
@@ -6009,6 +5954,4 @@
  * @param aWait         @c true if this method should block instead of creating
  *                      an asynchronous thread.
- * @param aNotify       Notify about mediums which metadatа are changed
- *                      during execution of the function.
  *
  * @note Locks the tree lock for writing. Locks the media from the chain
@@ -6021,5 +5964,5 @@
                           MediumLockList *aMediumLockList,
                           ComObjPtr<Progress> *aProgress,
-                          bool aWait, bool aNotify)
+                          bool aWait)
 {
     AssertReturn(pTarget != NULL, E_FAIL);
@@ -6076,6 +6019,5 @@
                                       pParentForTarget, aChildrenToReparent,
                                       pProgress, aMediumLockList,
-                                      aWait /* fKeepMediumLockList */,
-                                      aNotify);
+                                      aWait /* fKeepMediumLockList */);
         rc = pTask->rc();
         AssertComRC(rc);
@@ -6192,6 +6134,4 @@
  * @param aWait         @c true if this method should block instead of creating
  *                      an asynchronous thread.
- * @param aNotify       Notify about mediums which metadatа are changed
- *                      during execution of the function.
  *
  * @note Locks the media from the chain for writing.
@@ -6201,6 +6141,5 @@
                          MediumLockList *aMediumLockList,
                          ComObjPtr<Progress> *aProgress,
-                         bool aWait,
-                         bool aNotify)
+                         bool aWait)
 {
     AssertReturn(aMediumLockList != NULL, E_FAIL);
@@ -6241,6 +6180,5 @@
                                        pProgress,
                                        aMediumLockList,
-                                       aWait /* fKeepMediumLockList */,
-                                       aNotify);
+                                       aWait /* fKeepMediumLockList */);
         rc = pTask->rc();
         AssertComRC(rc);
@@ -6545,6 +6483,4 @@
  * @param aParent               Parent medium. May be NULL.
  * @param aProgress             Progress object to use.
- * @param aNotify               Notify about mediums which metadatа are changed
- *                              during execution of the function.
  * @return
  * @note The destination format is defined by the Medium instance.
@@ -6560,6 +6496,5 @@
                              RTVFSIOSTREAM aVfsIosSrc,
                              const ComObjPtr<Medium> &aParent,
-                             const ComObjPtr<Progress> &aProgress,
-                             bool aNotify)
+                             const ComObjPtr<Progress> &aProgress)
 {
     /** @todo r=klaus The code below needs to be double checked with regard
@@ -6622,5 +6557,5 @@
         /* setup task object to carry out the operation asynchronously */
         pTask = new Medium::ImportTask(this, aProgress, aFilename, aFormat, aVariant,
-                                       aVfsIosSrc, aParent, pTargetMediumLockList, false, aNotify);
+                                       aVfsIosSrc, aParent, pTargetMediumLockList);
         rc = pTask->rc();
         AssertComRC(rc);
@@ -6656,11 +6591,9 @@
  *                           same content as the given image in the source chain.
  *                           Use UINT32_MAX to disable this optimization.
- * @param aNotify            Notify about mediums which metadatа are changed
- *                           during execution of the function.
  * @return
  */
 HRESULT Medium::i_cloneToEx(const ComObjPtr<Medium> &aTarget, MediumVariant_T aVariant,
                             const ComObjPtr<Medium> &aParent, IProgress **aProgress,
-                            uint32_t idxSrcImageSame, uint32_t idxDstImageSame, bool aNotify)
+                            uint32_t idxSrcImageSame, uint32_t idxDstImageSame)
 {
     /** @todo r=klaus The code below needs to be double checked with regard
@@ -6767,5 +6700,5 @@
                                       aParent, idxSrcImageSame,
                                       idxDstImageSame, pSourceMediumLockList,
-                                      pTargetMediumLockList, false, false, aNotify);
+                                      pTargetMediumLockList);
         rc = pTask->rc();
         AssertComRC(rc);
@@ -7367,6 +7300,5 @@
     pToken.setNull();
 
-    if (FAILED(rc))
-        return rc;
+    if (FAILED(rc)) return rc;
 
     /* If this is a base image which incorrectly has a parent UUID set,
@@ -7376,41 +7308,31 @@
      * with a diff image before the base is registered this would destroy
      * the diff. Not acceptable. */
-    do
-    {
-        if (fRepairImageZeroParentUuid)
-        {
-            rc = LockWrite(pToken.asOutParam());
-            if (FAILED(rc))
-                break;
-
-            alock.release();
+    if (fRepairImageZeroParentUuid)
+    {
+        rc = LockWrite(pToken.asOutParam());
+        if (FAILED(rc)) return rc;
+
+        alock.release();
+
+        try
+        {
+            PVDISK hdd;
+            vrc = VDCreate(m->vdDiskIfaces, i_convertDeviceType(), &hdd);
+            ComAssertRCThrow(vrc, E_FAIL);
 
             try
             {
-                PVDISK hdd;
-                vrc = VDCreate(m->vdDiskIfaces, i_convertDeviceType(), &hdd);
+                vrc = VDOpen(hdd,
+                             format.c_str(),
+                             location.c_str(),
+                             (uOpenFlags & ~VD_OPEN_FLAGS_READONLY) | m->uOpenFlagsDef,
+                             m->vdImageIfaces);
+                if (RT_FAILURE(vrc))
+                    throw S_OK;
+
+                RTUUID zeroParentUuid;
+                RTUuidClear(&zeroParentUuid);
+                vrc = VDSetParentUuid(hdd, 0, &zeroParentUuid);
                 ComAssertRCThrow(vrc, E_FAIL);
-
-                try
-                {
-                    vrc = VDOpen(hdd,
-                                 format.c_str(),
-                                 location.c_str(),
-                                 (uOpenFlags & ~VD_OPEN_FLAGS_READONLY) | m->uOpenFlagsDef,
-                                 m->vdImageIfaces);
-                    if (RT_FAILURE(vrc))
-                        throw S_OK;
-
-                    RTUUID zeroParentUuid;
-                    RTUuidClear(&zeroParentUuid);
-                    vrc = VDSetParentUuid(hdd, 0, &zeroParentUuid);
-                    ComAssertRCThrow(vrc, E_FAIL);
-                }
-                catch (HRESULT aRC)
-                {
-                    rc = aRC;
-                }
-
-                VDDestroy(hdd);
             }
             catch (HRESULT aRC)
@@ -7419,10 +7341,15 @@
             }
 
-            pToken->Abandon();
-            pToken.setNull();
-            if (FAILED(rc))
-                break;
-        }
-    } while(0);
+            VDDestroy(hdd);
+        }
+        catch (HRESULT aRC)
+        {
+            rc = aRC;
+        }
+
+        pToken->Abandon();
+        pToken.setNull();
+        if (FAILED(rc)) return rc;
+    }
 
     return rc;
@@ -8566,6 +8493,4 @@
             m->pVirtualBox->i_saveModifiedRegistries();
         }
-        if (task.NotifyAboutChanges())
-            m->pVirtualBox->i_onMediumRegistered(m->id, m->devType, TRUE);
     }
     else
@@ -8803,10 +8728,4 @@
      * unlock the medium. */
 
-    if (task.NotifyAboutChanges() && SUCCEEDED(mrc))
-    {
-        m->pVirtualBox->i_onMediumRegistered(pTarget->i_getId(), pTarget->i_getDeviceType(), TRUE);
-        m->pVirtualBox->i_onMediumConfigChanged(this);
-    }
-
     return mrc;
 }
@@ -8901,5 +8820,5 @@
 
                 ComObjPtr<Progress> pProgress(task.GetProgressObject());
-                rc = pTarget->i_resize(sourceSize, pMediumLockListForResize, &pProgress, true, false);
+                rc = pTarget->i_resize(sourceSize, pMediumLockListForResize, &pProgress, true);
                 if (FAILED(rc))
                 {
@@ -9067,7 +8986,4 @@
     HRESULT rc2;
 
-    std::set<ComObjPtr<Medium> > pMediumsForNotify;
-    std::map<Guid, DeviceType_T> uIdsForNotify;
-
     if (SUCCEEDED(mrc))
     {
@@ -9089,9 +9005,5 @@
             pTarget->i_setParent(task.mParentForTarget);
             if (task.mParentForTarget)
-            {
                 i_deparent();
-                if (task.NotifyAboutChanges())
-                    pMediumsForNotify.insert(task.mParentForTarget);
-            }
 
             /* then, register again */
@@ -9128,10 +9040,6 @@
                     // no depth check, reduces depth
                     pMedium->i_setParent(pTarget);
-
-                    if (task.NotifyAboutChanges())
-                        pMediumsForNotify.insert(pMedium);
                 }
             }
-            pMediumsForNotify.insert(pTarget);
         }
 
@@ -9158,5 +9066,4 @@
             }
 
-            uIdsForNotify[pMedium->i_getId()] = pMedium->i_getDeviceType();
             rc2 = pMedium->m->pVirtualBox->i_unregisterMedium(pMedium);
             AssertComRC(rc2);
@@ -9219,20 +9126,4 @@
         if (task.isAsync())
             i_cancelMergeTo(task.mpChildrenToReparent, task.mpMediumLockList);
-    }
-    else if (task.NotifyAboutChanges())
-    {
-        for (std::set<ComObjPtr<Medium> >::const_iterator it = pMediumsForNotify.begin();
-             it != pMediumsForNotify.end();
-             ++it)
-        {
-            if (it->isNotNull())
-                m->pVirtualBox->i_onMediumConfigChanged(*it);
-        }
-        for (std::map<Guid, DeviceType_T>::const_iterator it = uIdsForNotify.begin();
-             it != uIdsForNotify.end();
-             ++it)
-        {
-            m->pVirtualBox->i_onMediumRegistered(it->first, it->second, FALSE);
-        }
     }
 
@@ -9555,18 +9446,4 @@
                 m->pVirtualBox->i_saveModifiedRegistries();
                 eik.fetch();
-
-                if (task.NotifyAboutChanges())
-                {
-                    if (!fCreatingTarget)
-                    {
-                        if (!aFilterPropNames.empty())
-                            m->pVirtualBox->i_onMediumConfigChanged(pTargetBase);
-                        m->pVirtualBox->i_onMediumConfigChanged(pParent);
-                    }
-                    else
-                    {
-                        m->pVirtualBox->i_onMediumRegistered(pTarget->i_getId(), pTarget->i_getDeviceType(), TRUE);
-                    }
-                }
             }
         }
@@ -9744,6 +9621,4 @@
     task.mpMediumLockList->Clear();
 
-    if (task.NotifyAboutChanges() && SUCCEEDED(mrc))
-        m->pVirtualBox->i_onMediumConfigChanged(this);
     return mrc;
 }
@@ -9813,7 +9688,4 @@
     /* Reset UUID to prevent Create* from reusing it again */
     unconst(m->id).clear();
-
-    if (task.NotifyAboutChanges() && SUCCEEDED(rc) && m->pParent.isNotNull())
-        m->pVirtualBox->i_onMediumConfigChanged(m->pParent);
 
     return rc;
@@ -9959,7 +9831,4 @@
     m->logicalSize = logicalSize;
     m->variant = variant;
-
-    if (task.NotifyAboutChanges() && SUCCEEDED(rc))
-        m->pVirtualBox->i_onMediumConfigChanged(this);
 
     /* Everything is explicitly unlocked when the task exits,
@@ -10059,7 +9928,4 @@
     }
     catch (HRESULT aRC) { rc = aRC; }
-
-    if (task.NotifyAboutChanges() && SUCCEEDED(rc))
-        m->pVirtualBox->i_onMediumConfigChanged(this);
 
     /* Everything is explicitly unlocked when the task exits,
@@ -10178,7 +10044,4 @@
         m->size = size;
         m->logicalSize = logicalSize;
-
-        if (task.NotifyAboutChanges())
-            m->pVirtualBox->i_onMediumConfigChanged(this);
     }
 
@@ -10449,14 +10312,4 @@
     task.mpTargetMediumLockList->Clear();
 
-    if (task.NotifyAboutChanges() && SUCCEEDED(mrc))
-    {
-        if (pParent)
-            m->pVirtualBox->i_onMediumConfigChanged(pParent);
-        if (fCreatingTarget)
-            m->pVirtualBox->i_onMediumConfigChanged(this);
-        else
-            m->pVirtualBox->i_onMediumRegistered(m->id, m->devType, TRUE);
-    }
-
     return mrc;
 }
Index: /trunk/src/VBox/Main/src-server/SnapshotImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-server/SnapshotImpl.cpp	(revision 76239)
+++ /trunk/src/VBox/Main/src-server/SnapshotImpl.cpp	(revision 76240)
@@ -15,7 +15,4 @@
  * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
  */
-
-#include <set>
-#include <map>
 
 #include "Logging.h"
@@ -1640,7 +1637,4 @@
     BOOL fSuspendedBySave     = FALSE;
 
-    std::set<ComObjPtr<Medium> > pMediumsForNotify;
-    std::map<Guid, DeviceType_T> uIdsForNotify;
-
     try
     {
@@ -1779,39 +1773,4 @@
             if (FAILED(rc))
                 throw rc;
-        }
-
-        // store parent of newly created diffs before commit for notify
-        {
-            MediumAttachmentList &oldAtts = *mMediumAttachments.backedUpData();
-            for (MediumAttachmentList::const_iterator
-                 it = mMediumAttachments->begin();
-                 it != mMediumAttachments->end();
-                 ++it)
-            {
-                MediumAttachment *pAttach = *it;
-                Medium *pMedium = pAttach->i_getMedium();
-                if (!pMedium)
-                    continue;
-
-                bool fFound = false;
-                /* was this medium attached before? */
-                for (MediumAttachmentList::iterator
-                     oldIt = oldAtts.begin();
-                     oldIt != oldAtts.end();
-                     ++oldIt)
-                {
-                    MediumAttachment *pOldAttach = *oldIt;
-                    if (pOldAttach->i_getMedium() == pMedium)
-                    {
-                        fFound = true;
-                        break;
-                    }
-                }
-                if (!fFound)
-                {
-                    pMediumsForNotify.insert(pMedium->i_getParent());
-                    uIdsForNotify[pMedium->i_getId()] = pMedium->i_getDeviceType();
-                }
-            }
         }
 
@@ -1917,22 +1876,4 @@
     if (SUCCEEDED(rc))
         mParent->i_onSnapshotTaken(mData->mUuid, task.m_uuidSnapshot);
-
-    if (SUCCEEDED(rc))
-    {
-        for (std::map<Guid, DeviceType_T>::const_iterator it = uIdsForNotify.begin();
-             it != uIdsForNotify.end();
-             ++it)
-        {
-            mParent->i_onMediumRegistered(it->first, it->second, TRUE);
-        }
-
-        for (std::set<ComObjPtr<Medium> >::const_iterator it = pMediumsForNotify.begin();
-             it != pMediumsForNotify.end();
-             ++it)
-        {
-            if (it->isNotNull())
-                mParent->i_onMediumConfigChanged(*it);
-        }
-    }
     LogFlowThisFuncLeave();
 }
@@ -2179,6 +2120,4 @@
     HRESULT rc = S_OK;
     Guid snapshotId;
-    std::set<ComObjPtr<Medium> > pMediumsForNotify;
-    std::map<Guid, DeviceType_T> uIdsForNotify;
 
     try
@@ -2275,39 +2214,4 @@
             /* make the snapshot we restored from the current snapshot */
             mData->mCurrentSnapshot = task.m_pSnapshot;
-        }
-
-        // store parent of newly created diffs for notify
-        {
-            MediumAttachmentList &oldAtts = *mMediumAttachments.backedUpData();
-            for (MediumAttachmentList::const_iterator
-                 it = mMediumAttachments->begin();
-                 it != mMediumAttachments->end();
-                 ++it)
-            {
-                MediumAttachment *pAttach = *it;
-                Medium *pMedium = pAttach->i_getMedium();
-                if (!pMedium)
-                    continue;
-
-                bool fFound = false;
-                /* was this medium attached before? */
-                for (MediumAttachmentList::iterator
-                     oldIt = oldAtts.begin();
-                     oldIt != oldAtts.end();
-                     ++oldIt)
-                {
-                    MediumAttachment *pOldAttach = *oldIt;
-                    if (pOldAttach->i_getMedium() == pMedium)
-                    {
-                        fFound = true;
-                        break;
-                    }
-                }
-                if (!fFound)
-                {
-                    pMediumsForNotify.insert(pMedium->i_getParent());
-                    uIdsForNotify[pMedium->i_getId()] = pMedium->i_getDeviceType();
-                }
-            }
         }
 
@@ -2410,14 +2314,9 @@
             LogFlowThisFunc(("Deleting old current state in differencing image '%s'\n", pMedium->i_getName().c_str()));
 
-            ComObjPtr<Medium> pParent = pMedium->i_getParent();
             HRESULT rc2 = pMedium->i_deleteStorage(NULL /* aProgress */,
-                                                   true /* aWait */,
-                                                   false /* aNotify */);
+                                                   true /* aWait */);
             // ignore errors here because we cannot roll back after i_saveSettings() above
             if (SUCCEEDED(rc2))
-            {
-                pMediumsForNotify.insert(pParent);
                 pMedium->uninit();
-            }
         }
     }
@@ -2446,20 +2345,5 @@
 
     if (SUCCEEDED(rc))
-    {
         mParent->i_onSnapshotRestored(mData->mUuid, snapshotId);
-        for (std::map<Guid, DeviceType_T>::const_iterator it = uIdsForNotify.begin();
-             it != uIdsForNotify.end();
-             ++it)
-        {
-            mParent->i_onMediumRegistered(it->first, it->second, TRUE);
-        }
-        for (std::set<ComObjPtr<Medium> >::const_iterator it = pMediumsForNotify.begin();
-             it != pMediumsForNotify.end();
-             ++it)
-        {
-            if (it->isNotNull())
-                mParent->i_onMediumConfigChanged(*it);
-        }
-    }
 
     LogFlowThisFunc(("Done restoring snapshot (rc=%08X)\n", rc));
@@ -2812,6 +2696,4 @@
     MediumDeleteRecList toDelete;
     Guid snapshotId;
-    std::set<ComObjPtr<Medium> > pMediumsForNotify;
-    std::map<Guid,DeviceType_T> uIdsForNotify;
 
     try
@@ -3188,15 +3070,8 @@
                     /* No need to hold the lock any longer. */
                     mLock.release();
-                    ComObjPtr<Medium> pParent = pMedium->i_getParent();
-                    Guid uMedium = pMedium->i_getId();
-                    DeviceType_T uMediumType = pMedium->i_getDeviceType();
                     rc = pMedium->i_deleteStorage(&task.m_pProgress,
-                                                  true /* aWait */,
-                                                  false /* aNotify */);
+                                                  true /* aWait */);
                     if (FAILED(rc))
                         throw rc;
-
-                    pMediumsForNotify.insert(pParent);
-                    uIdsForNotify[uMedium] = uMediumType;
 
                     // need to uninit the deleted medium
@@ -3206,40 +3081,4 @@
             else
             {
-                {
-                    //store ids before merging for notify
-                    pMediumsForNotify.insert(it->mpTarget);
-                    if (it->mfMergeForward)
-                        pMediumsForNotify.insert(it->mpSource->i_getParent());
-                    else
-                    {
-                        //children which will be reparented to target
-                        for (MediaList::const_iterator iit = it->mpSource->i_getChildren().begin();
-                             iit != it->mpSource->i_getChildren().end();
-                             ++iit)
-                        {
-                            pMediumsForNotify.insert(*iit);
-                        }
-                    }
-                    if (it->mfMergeForward)
-                    {
-                        for (ComObjPtr<Medium> pTmpMedium = it->mpTarget->i_getParent();
-                             pTmpMedium != it->mpSource;
-                             pTmpMedium = pTmpMedium->i_getParent())
-                        {
-                            uIdsForNotify[pTmpMedium->i_getId()] = pTmpMedium->i_getDeviceType();
-                        }
-                        uIdsForNotify[it->mpSource->i_getId()] = it->mpSource->i_getDeviceType();
-                    }
-                    else
-                    {
-                        for (ComObjPtr<Medium> pTmpMedium = it->mpSource->i_getParent();
-                             pTmpMedium != it->mpTarget;
-                             pTmpMedium = pTmpMedium->i_getParent())
-                        {
-                            uIdsForNotify[pTmpMedium->i_getId()] = pTmpMedium->i_getDeviceType();
-                        }
-                    }
-                }
-
                 bool fNeedsSave = false;
                 if (it->mfNeedsOnlineMerge)
@@ -3272,6 +3111,5 @@
                                                  it->mpMediumLockList,
                                                  &task.m_pProgress,
-                                                 true /* aWait */,
-                                                 false /* aNotify */);
+                                                 true /* aWait */);
                 }
 
@@ -3440,20 +3278,5 @@
 
     if (SUCCEEDED(mrc))
-    {
         mParent->i_onSnapshotDeleted(mData->mUuid, snapshotId);
-        for (std::map<Guid, DeviceType_T>::const_iterator it = uIdsForNotify.begin();
-             it != uIdsForNotify.end();
-             ++it)
-        {
-            mParent->i_onMediumRegistered(it->first, it->second, FALSE);
-        }
-        for (std::set<ComObjPtr<Medium> >::const_iterator it = pMediumsForNotify.begin();
-             it != pMediumsForNotify.end();
-             ++it)
-        {
-            if (it->isNotNull())
-                mParent->i_onMediumConfigChanged(*it);
-        }
-    }
 
     LogFlowThisFunc(("Done deleting snapshot (rc=%08X)\n", (HRESULT)mrc));
Index: /trunk/src/VBox/Main/src-server/VirtualBoxImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-server/VirtualBoxImpl.cpp	(revision 76239)
+++ /trunk/src/VBox/Main/src-server/VirtualBoxImpl.cpp	(revision 76240)
@@ -1963,8 +1963,5 @@
 
     if (SUCCEEDED(rc))
-    {
         medium.queryInterfaceTo(aMedium.asOutParam());
-        i_onMediumRegistered(medium->i_getId(), medium->i_getDeviceType(), TRUE);
-    }
 
     return rc;
@@ -2017,5 +2014,4 @@
     }
 
-    bool fMediumRegistered = false;
     if (pMedium.isNull())
     {
@@ -2044,8 +2040,4 @@
                 rc = VBOX_E_OBJECT_NOT_FOUND;
             }
-            else
-            {
-                fMediumRegistered = true;
-            }
         }
         else
@@ -2057,9 +2049,5 @@
 
     if (SUCCEEDED(rc))
-    {
         pMedium.queryInterfaceTo(aMedium.asOutParam());
-        if (fMediumRegistered)
-            i_onMediumRegistered(pMedium->i_getId(), pMedium->i_getDeviceType() ,TRUE);
-    }
 
     return rc;
@@ -2264,13 +2252,4 @@
         if (RT_FAILURE(vrc))
             fFailure = true;
-    }
-    if (!fFailure)
-    {
-        for (MediaList::const_iterator mt = m->allHardDisks.begin();
-             mt != m->allHardDisks.end();
-             ++mt)
-        {
-            i_onMediumConfigChanged(*mt);
-        }
     }
     return fFailure ? VERR_INVALID_PARAMETER : VINF_SUCCESS;
@@ -2938,98 +2917,4 @@
 }
 
-
-/** Event for onMediumRegistered() */
-struct MediumRegisteredEvent : public VirtualBox::CallbackEvent
-{
-    MediumRegisteredEvent(VirtualBox *aVB, const Guid &aMediumId,
-                          const DeviceType_T aDevType, const BOOL aRegistered)
-        : CallbackEvent(aVB, VBoxEventType_OnMediumRegistered)
-        , mMediumId(aMediumId.toUtf16()), mDevType(aDevType), mRegistered(aRegistered)
-    {}
-
-    virtual HRESULT prepareEventDesc(IEventSource *aSource, VBoxEventDesc &aEvDesc)
-    {
-        return aEvDesc.init(aSource, VBoxEventType_OnMediumRegistered, mMediumId.raw(), mDevType, mRegistered);
-    }
-
-    Bstr mMediumId;
-    DeviceType_T mDevType;
-    BOOL mRegistered;
-};
-
-/**
- *  @note Doesn't lock any object.
- */
-void VirtualBox::i_onMediumRegistered(const Guid &aMediumId, const DeviceType_T aDevType, const BOOL aRegistered)
-{
-    i_postEvent(new MediumRegisteredEvent(this, aMediumId, aDevType, aRegistered));
-}
-
-/** Event for onMediumConfigChanged() */
-struct MediumConfigChangedEvent : public VirtualBox::CallbackEvent
-{
-    MediumConfigChangedEvent(VirtualBox *aVB, IMedium *aMedium)
-        : CallbackEvent(aVB, VBoxEventType_OnMediumConfigChanged)
-        , mMedium(aMedium)
-    {}
-
-    virtual HRESULT prepareEventDesc(IEventSource *aSource, VBoxEventDesc &aEvDesc)
-    {
-        return aEvDesc.init(aSource, VBoxEventType_OnMediumConfigChanged, mMedium);
-    }
-
-    IMedium* mMedium;
-};
-
-void VirtualBox::i_onMediumConfigChanged(IMedium *aMedium)
-{
-    i_postEvent(new MediumConfigChangedEvent(this, aMedium));
-}
-
-/** Event for onMediumChanged() */
-struct MediumChangedEvent : public VirtualBox::CallbackEvent
-{
-    MediumChangedEvent(VirtualBox *aVB, IMediumAttachment *aMediumAttachment)
-        : CallbackEvent(aVB, VBoxEventType_OnMediumChanged)
-        , mMediumAttachment(aMediumAttachment)
-    {}
-
-    virtual HRESULT prepareEventDesc(IEventSource *aSource, VBoxEventDesc &aEvDesc)
-    {
-        return aEvDesc.init(aSource, VBoxEventType_OnMediumChanged, mMediumAttachment);
-    }
-
-    IMediumAttachment* mMediumAttachment;
-};
-
-void VirtualBox::i_onMediumChanged(IMediumAttachment *aMediumAttachment)
-{
-    i_postEvent(new MediumChangedEvent(this, aMediumAttachment));
-}
-
-/** Event for onStorageDeviceChanged() */
-struct StorageDeviceChangedEvent : public VirtualBox::CallbackEvent
-{
-    StorageDeviceChangedEvent(VirtualBox *aVB, IMediumAttachment *aStorageDevice, BOOL fRemoved, BOOL fSilent)
-        : CallbackEvent(aVB, VBoxEventType_OnStorageDeviceChanged)
-        , mStorageDevice(aStorageDevice)
-        , mRemoved(fRemoved)
-        , mSilent(fSilent)
-    {}
-
-    virtual HRESULT prepareEventDesc(IEventSource *aSource, VBoxEventDesc &aEvDesc)
-    {
-        return aEvDesc.init(aSource, VBoxEventType_OnStorageDeviceChanged, mStorageDevice, mRemoved, mSilent);
-    }
-
-    IMediumAttachment* mStorageDevice;
-    BOOL mRemoved;
-    BOOL mSilent;
-};
-
-void VirtualBox::i_onStorageDeviceChanged(IMediumAttachment *aStorageDevice, const BOOL fRemoved, const BOOL fSilent)
-{
-    i_postEvent(new StorageDeviceChangedEvent(this, aStorageDevice, fRemoved, fSilent));
-}
 
 /**
