Changeset 79051 in vbox
- Timestamp:
- Jun 8, 2019 10:43:14 PM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 131209
- Location:
- trunk/src/VBox/Main
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/include/AdditionsFacilityImpl.h
r79050 r79051 58 58 static const FacilityInfo s_aFacilityInfo[8]; 59 59 60 // public internal methods 60 /** @name public internal methods 61 * @{ */ 61 62 static const AdditionsFacility::FacilityInfo &i_typeToInfo(AdditionsFacilityType_T aType); 63 LONG64 i_getLastUpdated() const; 64 #if 0 /* unused */ 65 AdditionsFacilityType_T i_getType() const; 62 66 AdditionsFacilityClass_T i_getClass() const; 63 LONG64 i_getLastUpdated() const;64 com::Utf8Str i_getName() const; 67 const char *i_getName() const; 68 #endif 65 69 AdditionsFacilityStatus_T i_getStatus() const; 66 AdditionsFacilityType_T i_getType() const;67 70 bool i_update(AdditionsFacilityStatus_T a_enmStatus, uint32_t a_fFlags, PCRTTIMESPEC a_pTimeSpecTS); 71 /** @} */ 68 72 69 73 private: 70 74 71 // Wrapped IAdditionsFacility properties 75 /** @name Wrapped IAdditionsFacility properties 76 * @{ */ 72 77 HRESULT getClassType(AdditionsFacilityClass_T *aClassType); 73 78 HRESULT getLastUpdated(LONG64 *aLastUpdated); … … 75 80 HRESULT getStatus(AdditionsFacilityStatus_T *aStatus); 76 81 HRESULT getType(AdditionsFacilityType_T *aType); 82 /** @} */ 77 83 78 84 /** A structure for keeping a facility status -
trunk/src/VBox/Main/src-client/AdditionsFacilityImpl.cpp
r79050 r79051 26 26 27 27 28 /** 29 * @note We assume that unknown is always the first entry! 30 */ 28 31 /* static */ 29 32 const AdditionsFacility::FacilityInfo AdditionsFacility::s_aFacilityInfo[8] = 30 33 { 31 /* NOTE: We assume that unknown is always the first entry! */ 32 { "Unknown", AdditionsFacilityType_None, AdditionsFacilityClass_None }, 33 { "VirtualBox Base Driver", AdditionsFacilityType_VBoxGuestDriver, AdditionsFacilityClass_Driver }, 34 { "Auto Logon", AdditionsFacilityType_AutoLogon, AdditionsFacilityClass_Feature }, 35 { "VirtualBox System Service", AdditionsFacilityType_VBoxService, AdditionsFacilityClass_Service }, 36 { "VirtualBox Desktop Integration", AdditionsFacilityType_VBoxTrayClient, AdditionsFacilityClass_Program }, 37 { "Seamless Mode", AdditionsFacilityType_Seamless, AdditionsFacilityClass_Feature }, 38 { "Graphics Mode", AdditionsFacilityType_Graphics, AdditionsFacilityClass_Feature }, 39 { "Guest Monitor Attach", AdditionsFacilityType_MonitorAttach, AdditionsFacilityClass_Feature }, 34 { "Unknown", AdditionsFacilityType_None, AdditionsFacilityClass_None }, 35 { "VirtualBox Base Driver", AdditionsFacilityType_VBoxGuestDriver, AdditionsFacilityClass_Driver }, 36 { "Auto Logon", AdditionsFacilityType_AutoLogon, AdditionsFacilityClass_Feature }, 37 { "VirtualBox System Service", AdditionsFacilityType_VBoxService, AdditionsFacilityClass_Service }, 38 { "VirtualBox Desktop Integration", AdditionsFacilityType_VBoxTrayClient, AdditionsFacilityClass_Program }, 39 { "Seamless Mode", AdditionsFacilityType_Seamless, AdditionsFacilityClass_Feature }, 40 { "Graphics Mode", AdditionsFacilityType_Graphics, AdditionsFacilityClass_Feature }, 41 { "Guest Monitor Attach", AdditionsFacilityType_MonitorAttach, AdditionsFacilityClass_Feature }, 40 42 }; 41 43 … … 109 111 LogFlowThisFuncEnter(); 110 112 113 /* mType is static, so no need to lock anything. */ 114 *aClassType = AdditionsFacility::i_typeToInfo(mData.mType).mClass; 115 return S_OK; 116 } 117 118 HRESULT AdditionsFacility::getName(com::Utf8Str &aName) 119 { 120 LogFlowThisFuncEnter(); 121 122 /* mType is static, so no need to lock anything. */ 123 int vrc = aName.assignNoThrow(AdditionsFacility::i_typeToInfo(mData.mType).mName); 124 return RT_SUCCESS(vrc) ? S_OK : E_OUTOFMEMORY; 125 } 126 127 HRESULT AdditionsFacility::getLastUpdated(LONG64 *aLastUpdated) 128 { 129 LogFlowThisFuncEnter(); 130 111 131 AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS); 112 132 113 *a ClassType = i_getClass();114 115 return S_OK; 116 } 117 118 HRESULT AdditionsFacility::get Name(com::Utf8Str &aName)133 *aLastUpdated = i_getLastUpdated(); 134 135 return S_OK; 136 } 137 138 HRESULT AdditionsFacility::getStatus(AdditionsFacilityStatus_T *aStatus) 119 139 { 120 140 LogFlowThisFuncEnter(); … … 122 142 AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS); 123 143 124 aName = i_getName();125 126 return S_OK;127 }128 129 HRESULT AdditionsFacility::getLastUpdated(LONG64 *aLastUpdated)130 {131 LogFlowThisFuncEnter();132 133 AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);134 135 *aLastUpdated = i_getLastUpdated();136 137 return S_OK;138 }139 140 HRESULT AdditionsFacility::getStatus(AdditionsFacilityStatus_T *aStatus)141 {142 LogFlowThisFuncEnter();143 144 AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);145 146 144 *aStatus = i_getStatus(); 147 145 … … 153 151 LogFlowThisFuncEnter(); 154 152 155 AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS); 156 157 *aType = i_getType(); 158 159 return S_OK; 160 } 161 162 const AdditionsFacility::FacilityInfo &AdditionsFacility::i_typeToInfo(AdditionsFacilityType_T aType) 153 /* mType is static, so no need to lock anything. */ 154 *aType = mData.mType; 155 return S_OK; 156 } 157 158 /*static*/ const AdditionsFacility::FacilityInfo &AdditionsFacility::i_typeToInfo(AdditionsFacilityType_T aType) 163 159 { 164 160 for (size_t i = 0; i < RT_ELEMENTS(s_aFacilityInfo); ++i) … … 170 166 } 171 167 168 #if 0 /* unused */ 169 170 AdditionsFacilityType_T AdditionsFacility::i_getType() const 171 { 172 return mData.mType; 173 } 174 172 175 AdditionsFacilityClass_T AdditionsFacility::i_getClass() const 173 176 { … … 175 178 } 176 179 177 co m::Utf8StrAdditionsFacility::i_getName() const180 const char *AdditionsFacility::i_getName() const 178 181 { 179 182 return AdditionsFacility::i_typeToInfo(mData.mType).mName; 180 183 } 184 185 #endif 181 186 182 187 LONG64 AdditionsFacility::i_getLastUpdated() const … … 196 201 AssertMsgFailed(("Unknown status of facility!\n")); 197 202 return AdditionsFacilityStatus_Unknown; /* Should never happen! */ 198 }199 200 AdditionsFacilityType_T AdditionsFacility::i_getType() const201 {202 return mData.mType;203 203 } 204 204
Note:
See TracChangeset
for help on using the changeset viewer.