MCPcopy Create free account
hub / github.com/HO-COOH/FastCopy / MockShellItem

Class MockShellItem

UnitTest/UnitTest.cpp:191–253  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

189 }
190
191 class MockShellItem : public IShellItem
192 {
193 std::wstring m_name;
194 Path::Type m_type;
195 public:
196 MockShellItem(std::wstring_view name, Path::Type type) : m_name{ name }, m_type{ type }
197 {
198 }
199 HRESULT STDMETHODCALLTYPE BindToHandler(
200 /* [unique][in] */ __RPC__in_opt IBindCtx* pbc,
201 /* [in] */ __RPC__in REFGUID bhid,
202 /* [in] */ __RPC__in REFIID riid,
203 /* [iid_is][out] */ __RPC__deref_out_opt void** ppv)override
204 {
205 return E_NOTIMPL;
206 }
207
208 HRESULT STDMETHODCALLTYPE GetParent(
209 /* [out] */ __RPC__deref_out_opt IShellItem** ppsi) override
210 {
211 return E_NOTIMPL;
212 }
213
214 HRESULT STDMETHODCALLTYPE GetDisplayName(
215 /* [in] */ SIGDN sigdnName,
216 /* [annotation][string][out] */
217 _Outptr_result_nullonfailure_ LPWSTR* ppszName) override
218 {
219 *ppszName = m_name.data();
220 return S_OK;
221 }
222
223 HRESULT STDMETHODCALLTYPE GetAttributes(
224 /* [in] */ SFGAOF sfgaoMask,
225 /* [out] */ __RPC__out SFGAOF* psfgaoAttribs) override
226 {
227 if (sfgaoMask & SFGAO_FOLDER)
228 {
229 *psfgaoAttribs = (m_type == Path::Type::Folder ? SFGAO_FOLDER : 0);
230 return S_OK;
231 }
232
233 throw std::logic_error{ "Dead code" };
234 }
235
236 HRESULT STDMETHODCALLTYPE Compare(
237 /* [in] */ __RPC__in_opt IShellItem* psi,
238 /* [in] */ SICHINTF hint,
239 /* [out] */ __RPC__out int* piOrder) override
240 {
241 return E_NOTIMPL;
242 }
243
244 #pragma region IUnknown
245 HRESULT QueryInterface(REFIID, void**) override
246 {
247 return E_NOTIMPL;
248 }

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected