| // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHROME_FRAME_TEST_URLMON_MONIKER_TESTS_H_ |
| #define CHROME_FRAME_TEST_URLMON_MONIKER_TESTS_H_ |
| |
| #include <atlbase.h> |
| #include <atlcom.h> |
| |
| #include "gmock/gmock.h" |
| #include "gtest/gtest.h" |
| |
| class MockBindStatusCallbackImpl |
| : public CComObjectRootEx<CComSingleThreadModel>, |
| public IBindStatusCallback { |
| public: |
| BEGIN_COM_MAP(MockBindStatusCallbackImpl) |
| COM_INTERFACE_ENTRY(IBindStatusCallback) |
| END_COM_MAP() |
| |
| MOCK_METHOD2_WITH_CALLTYPE(__stdcall, OnStartBinding, |
| HRESULT (DWORD reserved, IBinding* binding)); // NOLINT |
| |
| MOCK_METHOD1_WITH_CALLTYPE(__stdcall, GetPriority, |
| HRESULT (LONG* priority)); // NOLINT |
| |
| MOCK_METHOD1_WITH_CALLTYPE(__stdcall, OnLowResource, |
| HRESULT (DWORD reserved)); // NOLINT |
| |
| MOCK_METHOD4_WITH_CALLTYPE(__stdcall, OnProgress, |
| HRESULT (ULONG progress, // NOLINT |
| ULONG max, |
| ULONG status, |
| LPCWSTR text)); |
| |
| MOCK_METHOD2_WITH_CALLTYPE(__stdcall, OnStopBinding, |
| HRESULT (HRESULT hr, // NOLINT |
| LPCWSTR error)); |
| |
| MOCK_METHOD2_WITH_CALLTYPE(__stdcall, GetBindInfo, |
| HRESULT (DWORD* flags, // NOLINT |
| BINDINFO* bind_info)); |
| |
| MOCK_METHOD4_WITH_CALLTYPE(__stdcall, OnDataAvailable, |
| HRESULT (DWORD flags, // NOLINT |
| DWORD size, |
| FORMATETC* format, |
| STGMEDIUM* storage)); |
| |
| MOCK_METHOD2_WITH_CALLTYPE(__stdcall, OnObjectAvailable, |
| HRESULT (REFIID riid, // NOLINT |
| IUnknown* unk)); |
| }; |
| |
| class MockBindCtxImpl |
| : public CComObjectRootEx<CComSingleThreadModel>, |
| public IBindCtx { |
| public: |
| BEGIN_COM_MAP(MockBindCtxImpl) |
| COM_INTERFACE_ENTRY(IBindCtx) |
| END_COM_MAP() |
| |
| MOCK_METHOD1_WITH_CALLTYPE(__stdcall, RegisterObjectBound, |
| HRESULT (IUnknown* object)); // NOLINT |
| |
| MOCK_METHOD1_WITH_CALLTYPE(__stdcall, RevokeObjectBound, |
| HRESULT (IUnknown* object)); // NOLINT |
| |
| MOCK_METHOD0_WITH_CALLTYPE(__stdcall, ReleaseBoundObjects, |
| HRESULT ()); // NOLINT |
| |
| MOCK_METHOD1_WITH_CALLTYPE(__stdcall, SetBindOptions, |
| HRESULT (BIND_OPTS* options)); // NOLINT |
| |
| MOCK_METHOD1_WITH_CALLTYPE(__stdcall, GetBindOptions, |
| HRESULT (BIND_OPTS* options)); // NOLINT |
| |
| MOCK_METHOD1_WITH_CALLTYPE(__stdcall, GetRunningObjectTable, |
| HRESULT (IRunningObjectTable** rot)); // NOLINT |
| |
| MOCK_METHOD2_WITH_CALLTYPE(__stdcall, RegisterObjectParam, |
| HRESULT (LPOLESTR key, // NOLINT |
| IUnknown* param)); |
| |
| MOCK_METHOD2_WITH_CALLTYPE(__stdcall, GetObjectParam, |
| HRESULT (LPOLESTR key, // NOLINT |
| IUnknown** param)); |
| |
| MOCK_METHOD1_WITH_CALLTYPE(__stdcall, EnumObjectParam, |
| HRESULT (IEnumString** enum_params)); // NOLINT |
| |
| MOCK_METHOD1_WITH_CALLTYPE(__stdcall, RevokeObjectParam, |
| HRESULT (LPOLESTR key)); // NOLINT |
| }; |
| |
| class MockMonikerImpl |
| : public CComObjectRootEx<CComSingleThreadModel>, |
| public IMoniker { |
| public: |
| BEGIN_COM_MAP(MockMonikerImpl) |
| COM_INTERFACE_ENTRY(IMoniker) |
| END_COM_MAP() |
| |
| MOCK_METHOD4_WITH_CALLTYPE(__stdcall, BindToObject, |
| HRESULT (IBindCtx* bind_context, // NOLINT |
| IMoniker* left, |
| REFIID result_iid, |
| void** object)); |
| |
| MOCK_METHOD4_WITH_CALLTYPE(__stdcall, BindToStorage, |
| HRESULT (IBindCtx* bind_context, // NOLINT |
| IMoniker* left, |
| REFIID result_iid, |
| void** storage)); |
| |
| MOCK_METHOD4_WITH_CALLTYPE(__stdcall, Reduce, |
| HRESULT (IBindCtx* bind_context, // NOLINT |
| DWORD reduce_depth, |
| IMoniker* left, |
| IMoniker** reduced)); |
| |
| MOCK_METHOD3_WITH_CALLTYPE(__stdcall, ComposeWith, |
| HRESULT (IBindCtx* right, // NOLINT |
| BOOL is_not_generic, |
| IMoniker** composite)); |
| |
| MOCK_METHOD2_WITH_CALLTYPE(__stdcall, Enum, |
| HRESULT (BOOL is_forward, // NOLINT |
| IEnumMoniker** moniker_enum)); |
| |
| MOCK_METHOD1_WITH_CALLTYPE(__stdcall, IsEqual, |
| HRESULT (IMoniker* other)); // NOLINT |
| |
| MOCK_METHOD3_WITH_CALLTYPE(__stdcall, IsRunning, |
| HRESULT (IBindCtx* bind_context, // NOLINT |
| IMoniker* left, |
| IMoniker** newly_running)); |
| |
| MOCK_METHOD3_WITH_CALLTYPE(__stdcall, GetTimeOfLastChange, |
| HRESULT (IBindCtx* bind_context, // NOLINT |
| IMoniker* left, |
| FILETIME *pFileTime)); |
| |
| MOCK_METHOD1_WITH_CALLTYPE(__stdcall, Inverse, |
| HRESULT (IMoniker** inversed)); // NOLINT |
| |
| MOCK_METHOD2_WITH_CALLTYPE(__stdcall, CommonPrefixWith, |
| HRESULT (IMoniker* other, // NOLINT |
| IMoniker** prefix)); |
| |
| MOCK_METHOD2_WITH_CALLTYPE(__stdcall, RelativePathTo, |
| HRESULT (IMoniker* other, // NOLINT |
| IMoniker** relative)); |
| |
| MOCK_METHOD3_WITH_CALLTYPE(__stdcall, GetDisplayName, |
| HRESULT (IBindCtx* bind_context, // NOLINT |
| IMoniker* left, |
| LPOLESTR* display_name)); |
| |
| MOCK_METHOD5_WITH_CALLTYPE(__stdcall, ParseDisplayName, |
| HRESULT (IBindCtx* bind_context, // NOLINT |
| IMoniker* left, |
| LPOLESTR display_name, |
| ULONG *pchEaten, |
| IMoniker** ret)); |
| |
| MOCK_METHOD1_WITH_CALLTYPE(__stdcall, IsSystemMoniker, |
| HRESULT (DWORD* is_system)); // NOLINT |
| }; |
| |
| #endif // CHROME_FRAME_TEST_URLMON_MONIKER_TESTS_H_ |