Index: /trunk/src/VBox/Main/include/AdditionsFacilityImpl.h
===================================================================
--- /trunk/src/VBox/Main/include/AdditionsFacilityImpl.h	(revision 50369)
+++ /trunk/src/VBox/Main/include/AdditionsFacilityImpl.h	(revision 50370)
@@ -4,5 +4,5 @@
 
 /*
- * Copyright (C) 2012 Oracle Corporation
+ * Copyright (C) 2014 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -21,22 +21,12 @@
 #include <iprt/time.h>
 
-#include "VirtualBoxBase.h"
+#include "AdditionsFacilityWrap.h"
 
 class Guest;
 
 class ATL_NO_VTABLE AdditionsFacility :
-    public VirtualBoxBase,
-    VBOX_SCRIPTABLE_IMPL(IAdditionsFacility)
+    public AdditionsFacilityWrap
 {
 public:
-    VIRTUALBOXBASE_ADD_ERRORINFO_SUPPORT(AdditionsFacility, IAdditionsFacility)
-
-    DECLARE_NOT_AGGREGATABLE(AdditionsFacility)
-
-    DECLARE_PROTECT_FINAL_CONSTRUCT()
-
-    BEGIN_COM_MAP(AdditionsFacility)
-        VBOX_DEFAULT_INTERFACE_ENTRIES(IAdditionsFacility)
-    END_COM_MAP()
 
     DECLARE_EMPTY_CTOR_DTOR(AdditionsFacility)
@@ -50,10 +40,4 @@
     void FinalRelease();
 
-    // IAdditionsFacility properties
-    STDMETHOD(COMGETTER(ClassType))(AdditionsFacilityClass_T *aClass);
-    STDMETHOD(COMGETTER(LastUpdated))(LONG64 *aTimestamp);
-    STDMETHOD(COMGETTER(Name))(BSTR *aName);
-    STDMETHOD(COMGETTER(Status))(AdditionsFacilityStatus_T *aStatus);
-    STDMETHOD(COMGETTER(Type))(AdditionsFacilityType_T *aType);
 
 public:
@@ -71,13 +55,21 @@
 
     // public internal methods
-    static const AdditionsFacility::FacilityInfo &typeToInfo(AdditionsFacilityType_T aType);
-    AdditionsFacilityClass_T getClass() const;
-    LONG64 getLastUpdated() const;
-    Bstr getName() const;
-    AdditionsFacilityStatus_T getStatus() const;
-    AdditionsFacilityType_T getType() const;
-    void update(AdditionsFacilityStatus_T a_enmStatus, uint32_t a_fFlags, PCRTTIMESPEC a_pTimeSpecTS);
+    static const AdditionsFacility::FacilityInfo &i_typeToInfo(AdditionsFacilityType_T aType);
+    AdditionsFacilityClass_T i_getClass() const;
+    LONG64 i_getLastUpdated() const;
+    com::Utf8Str i_getName() const;
+    AdditionsFacilityStatus_T i_getStatus() const;
+    AdditionsFacilityType_T i_getType() const;
+    void i_update(AdditionsFacilityStatus_T a_enmStatus, uint32_t a_fFlags, PCRTTIMESPEC a_pTimeSpecTS);
 
 private:
+
+    // Wrapped IAdditionsFacility properties
+    HRESULT getClassType(AdditionsFacilityClass_T *aClassType);
+    HRESULT getLastUpdated(LONG64 *aLastUpdated);
+    HRESULT getName(com::Utf8Str &aName);
+    HRESULT getStatus(AdditionsFacilityStatus_T *aStatus);
+    HRESULT getType(AdditionsFacilityType_T *aType);
+
     /** A structure for keeping a facility status
      *  set at a certain time. Good for book-keeping. */
Index: /trunk/src/VBox/Main/src-client/AdditionsFacilityImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-client/AdditionsFacilityImpl.cpp	(revision 50369)
+++ /trunk/src/VBox/Main/src-client/AdditionsFacilityImpl.cpp	(revision 50370)
@@ -5,5 +5,5 @@
 
 /*
- * Copyright (C) 2012 Oracle Corporation
+ * Copyright (C) 2014 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -99,85 +99,60 @@
 }
 
-STDMETHODIMP AdditionsFacility::COMGETTER(ClassType)(AdditionsFacilityClass_T *aClass)
-{
-    LogFlowThisFuncEnter();
-
-    CheckComArgOutPointerValid(aClass);
-
-    AutoCaller autoCaller(this);
-    if (FAILED(autoCaller.rc())) return autoCaller.rc();
-
-    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
-
-    *aClass = getClass();
-
-    return S_OK;
-}
-
-STDMETHODIMP AdditionsFacility::COMGETTER(Name)(BSTR *aName)
-{
-    LogFlowThisFuncEnter();
-
-    CheckComArgOutPointerValid(aName);
-
-    AutoCaller autoCaller(this);
-    if (FAILED(autoCaller.rc())) return autoCaller.rc();
-
-    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
-
-    Bstr(getName()).cloneTo(aName);
-
-    return S_OK;
-}
-
-STDMETHODIMP AdditionsFacility::COMGETTER(LastUpdated)(LONG64 *aTimestamp)
-{
-    LogFlowThisFuncEnter();
-
-    CheckComArgOutPointerValid(aTimestamp);
-
-    AutoCaller autoCaller(this);
-    if (FAILED(autoCaller.rc())) return autoCaller.rc();
-
-    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
-
-    *aTimestamp = getLastUpdated();
-
-    return S_OK;
-}
-
-STDMETHODIMP AdditionsFacility::COMGETTER(Status)(AdditionsFacilityStatus_T *aStatus)
-{
-    LogFlowThisFuncEnter();
-
-    CheckComArgOutPointerValid(aStatus);
-
-    AutoCaller autoCaller(this);
-    if (FAILED(autoCaller.rc())) return autoCaller.rc();
-
-    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
-
-    *aStatus = getStatus();
-
-    return S_OK;
-}
-
-STDMETHODIMP AdditionsFacility::COMGETTER(Type)(AdditionsFacilityType_T *aType)
-{
-    LogFlowThisFuncEnter();
-
-    CheckComArgOutPointerValid(aType);
-
-    AutoCaller autoCaller(this);
-    if (FAILED(autoCaller.rc())) return autoCaller.rc();
-
-    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
-
-    *aType = getType();
-
-    return S_OK;
-}
-
-const AdditionsFacility::FacilityInfo &AdditionsFacility::typeToInfo(AdditionsFacilityType_T aType)
+HRESULT AdditionsFacility::getClassType(AdditionsFacilityClass_T *aClassType)
+{
+    LogFlowThisFuncEnter();
+
+    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
+
+    *aClassType = i_getClass();
+
+    return S_OK;
+}
+
+HRESULT AdditionsFacility::getName(com::Utf8Str &aName)
+{
+    LogFlowThisFuncEnter();
+
+    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
+
+    aName = i_getName();
+
+    return S_OK;
+}
+
+HRESULT AdditionsFacility::getLastUpdated(LONG64 *aLastUpdated)
+{
+    LogFlowThisFuncEnter();
+
+    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
+
+    *aLastUpdated = i_getLastUpdated();
+
+    return S_OK;
+}
+
+HRESULT AdditionsFacility::getStatus(AdditionsFacilityStatus_T *aStatus)
+{
+    LogFlowThisFuncEnter();
+
+    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
+
+    *aStatus = i_getStatus();
+
+    return S_OK;
+}
+
+HRESULT AdditionsFacility::getType(AdditionsFacilityType_T *aType)
+{
+    LogFlowThisFuncEnter();
+
+    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
+
+    *aType = i_getType();
+
+    return S_OK;
+}
+
+const AdditionsFacility::FacilityInfo &AdditionsFacility::i_typeToInfo(AdditionsFacilityType_T aType)
 {
     for (size_t i = 0; i < RT_ELEMENTS(s_aFacilityInfo); ++i)
@@ -189,15 +164,15 @@
 }
 
-AdditionsFacilityClass_T AdditionsFacility::getClass() const
-{
-    return AdditionsFacility::typeToInfo(mData.mType).mClass;
-}
-
-Bstr AdditionsFacility::getName() const
-{
-    return AdditionsFacility::typeToInfo(mData.mType).mName;
-}
-
-LONG64 AdditionsFacility::getLastUpdated() const
+AdditionsFacilityClass_T AdditionsFacility::i_getClass() const
+{
+    return AdditionsFacility::i_typeToInfo(mData.mType).mClass;
+}
+
+com::Utf8Str AdditionsFacility::i_getName() const
+{
+    return AdditionsFacility::i_typeToInfo(mData.mType).mName;
+}
+
+LONG64 AdditionsFacility::i_getLastUpdated() const
 {
     if (mData.mStates.size())
@@ -208,5 +183,5 @@
 }
 
-AdditionsFacilityStatus_T AdditionsFacility::getStatus() const
+AdditionsFacilityStatus_T AdditionsFacility::i_getStatus() const
 {
     if (mData.mStates.size())
@@ -217,5 +192,5 @@
 }
 
-AdditionsFacilityType_T AdditionsFacility::getType() const
+AdditionsFacilityType_T AdditionsFacility::i_getType() const
 {
     return mData.mType;
@@ -225,5 +200,5 @@
  * Method used by IGuest::facilityUpdate to make updates.
  */
-void AdditionsFacility::update(AdditionsFacilityStatus_T a_enmStatus, uint32_t a_fFlags, PCRTTIMESPEC a_pTimeSpecTS)
+void AdditionsFacility::i_update(AdditionsFacilityStatus_T a_enmStatus, uint32_t a_fFlags, PCRTTIMESPEC a_pTimeSpecTS)
 {
     FacilityState state;
Index: /trunk/src/VBox/Main/src-client/GuestImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-client/GuestImpl.cpp	(revision 50369)
+++ /trunk/src/VBox/Main/src-client/GuestImpl.cpp	(revision 50370)
@@ -5,5 +5,5 @@
 
 /*
- * Copyright (C) 2006-2013 Oracle Corporation
+ * Copyright (C) 2006-2014 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -760,7 +760,7 @@
         AdditionsFacility *pFacility = it->second;
         ComAssert(pFacility);
-        *aStatus = pFacility->getStatus();
+        *aStatus = pFacility->i_getStatus();
         if (aTimestamp)
-            *aTimestamp = pFacility->getLastUpdated();
+            *aTimestamp = pFacility->i_getLastUpdated();
     }
     else
@@ -1110,5 +1110,5 @@
     {
         AdditionsFacility *pFac = it->second;
-        return (pFac->getStatus() == AdditionsFacilityStatus_Active);
+        return (pFac->i_getStatus() == AdditionsFacilityStatus_Active);
     }
     return false;
@@ -1125,5 +1125,5 @@
     {
         AdditionsFacility *pFac = it->second;
-        pFac->update((AdditionsFacilityStatus_T)a_enmStatus, a_fFlags, a_pTimeSpecTS);
+        pFac->i_update((AdditionsFacilityStatus_T)a_enmStatus, a_fFlags, a_pTimeSpecTS);
     }
     else
Index: /trunk/src/VBox/Main/src-client/xpcom/module.cpp
===================================================================
--- /trunk/src/VBox/Main/src-client/xpcom/module.cpp	(revision 50369)
+++ /trunk/src/VBox/Main/src-client/xpcom/module.cpp	(revision 50370)
@@ -5,5 +5,5 @@
 
 /*
- * Copyright (C) 2006-2012 Oracle Corporation
+ * Copyright (C) 2006-2014 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -107,6 +107,4 @@
 NS_IMPL_THREADSAFE_ISUPPORTS1_CI(ExtPackManager, IExtPackManager)
  #endif
-NS_DECL_CLASSINFO(AdditionsFacility)
-NS_IMPL_THREADSAFE_ISUPPORTS1_CI(AdditionsFacility, IAdditionsFacility)
 
 NS_DECL_CLASSINFO(Console)
