/*************************************************************************** Copyright (c) Microsoft Corporation. All rights reserved. This code is licensed under the Visual Studio SDK license terms. THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT. This code is a part of the Visual Studio Library. ***************************************************************************/ #ifndef IVSHELPEVENTS_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5 #define IVSHELPEVENTS_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5 #if _MSC_VER > 1000 #pragma once #endif #include "vshelp.h" #pragma warning(push) #pragma warning(disable : 4510) // default constructor could not be generated #pragma warning(disable : 4610) // can never be instantiated - user defined constructor required #pragma warning(disable : 4512) // assignment operator could not be generated #pragma warning(disable : 6011) // Dereferencing NULL pointer (a NULL derference is just another kind of failure for a unit test namespace VSL { class IVsHelpEventsNotImpl : public IVsHelpEvents { VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVsHelpEventsNotImpl) public: typedef IVsHelpEvents Interface; STDMETHOD(OnFilterChanged)( /*[in]*/ BSTR /*bstrNewFilter*/)VSL_STDMETHOD_NOTIMPL STDMETHOD(OnCollectionChanged)( /*[in]*/ BSTR /*bstrNewCollection*/, /*[in]*/ BSTR /*bstrNewFilter*/)VSL_STDMETHOD_NOTIMPL STDMETHOD(GetTypeInfoCount)( /*[out]*/ UINT* /*pctinfo*/)VSL_STDMETHOD_NOTIMPL STDMETHOD(GetTypeInfo)( /*[in]*/ UINT /*iTInfo*/, /*[in]*/ LCID /*lcid*/, /*[out]*/ ITypeInfo** /*ppTInfo*/)VSL_STDMETHOD_NOTIMPL STDMETHOD(GetIDsOfNames)( /*[in]*/ REFIID /*riid*/, /*[in,size_is(cNames)]*/ LPOLESTR* /*rgszNames*/, /*[in]*/ UINT /*cNames*/, /*[in]*/ LCID /*lcid*/, /*[out,size_is(cNames)]*/ DISPID* /*rgDispId*/)VSL_STDMETHOD_NOTIMPL STDMETHOD(Invoke)( /*[in]*/ DISPID /*dispIdMember*/, /*[in]*/ REFIID /*riid*/, /*[in]*/ LCID /*lcid*/, /*[in]*/ WORD /*wFlags*/, /*[in,out]*/ DISPPARAMS* /*pDispParams*/, /*[out]*/ VARIANT* /*pVarResult*/, /*[out]*/ EXCEPINFO* /*pExcepInfo*/, /*[out]*/ UINT* /*puArgErr*/)VSL_STDMETHOD_NOTIMPL }; class IVsHelpEventsMockImpl : public IVsHelpEvents, public MockBase { VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVsHelpEventsMockImpl) public: VSL_DEFINE_MOCK_CLASS_TYPDEFS(IVsHelpEventsMockImpl) typedef IVsHelpEvents Interface; struct OnFilterChangedValidValues { /*[in]*/ BSTR bstrNewFilter; HRESULT retValue; }; STDMETHOD(OnFilterChanged)( /*[in]*/ BSTR bstrNewFilter) { VSL_DEFINE_MOCK_METHOD(OnFilterChanged) VSL_CHECK_VALIDVALUE_BSTR(bstrNewFilter); VSL_RETURN_VALIDVALUES(); } struct OnCollectionChangedValidValues { /*[in]*/ BSTR bstrNewCollection; /*[in]*/ BSTR bstrNewFilter; HRESULT retValue; }; STDMETHOD(OnCollectionChanged)( /*[in]*/ BSTR bstrNewCollection, /*[in]*/ BSTR bstrNewFilter) { VSL_DEFINE_MOCK_METHOD(OnCollectionChanged) VSL_CHECK_VALIDVALUE_BSTR(bstrNewCollection); VSL_CHECK_VALIDVALUE_BSTR(bstrNewFilter); VSL_RETURN_VALIDVALUES(); } struct GetTypeInfoCountValidValues { /*[out]*/ UINT* pctinfo; HRESULT retValue; }; STDMETHOD(GetTypeInfoCount)( /*[out]*/ UINT* pctinfo) { VSL_DEFINE_MOCK_METHOD(GetTypeInfoCount) VSL_SET_VALIDVALUE(pctinfo); VSL_RETURN_VALIDVALUES(); } struct GetTypeInfoValidValues { /*[in]*/ UINT iTInfo; /*[in]*/ LCID lcid; /*[out]*/ ITypeInfo** ppTInfo; HRESULT retValue; }; STDMETHOD(GetTypeInfo)( /*[in]*/ UINT iTInfo, /*[in]*/ LCID lcid, /*[out]*/ ITypeInfo** ppTInfo) { VSL_DEFINE_MOCK_METHOD(GetTypeInfo) VSL_CHECK_VALIDVALUE(iTInfo); VSL_CHECK_VALIDVALUE(lcid); VSL_SET_VALIDVALUE_INTERFACE(ppTInfo); VSL_RETURN_VALIDVALUES(); } struct GetIDsOfNamesValidValues { /*[in]*/ REFIID riid; /*[in,size_is(cNames)]*/ LPOLESTR* rgszNames; /*[in]*/ UINT cNames; /*[in]*/ LCID lcid; /*[out,size_is(cNames)]*/ DISPID* rgDispId; HRESULT retValue; }; STDMETHOD(GetIDsOfNames)( /*[in]*/ REFIID riid, /*[in,size_is(cNames)]*/ LPOLESTR* rgszNames, /*[in]*/ UINT cNames, /*[in]*/ LCID lcid, /*[out,size_is(cNames)]*/ DISPID* rgDispId) { VSL_DEFINE_MOCK_METHOD(GetIDsOfNames) VSL_CHECK_VALIDVALUE(riid); VSL_CHECK_VALIDVALUE_MEMCMP(rgszNames, cNames*sizeof(rgszNames[0]), validValues.cNames*sizeof(validValues.rgszNames[0])); VSL_CHECK_VALIDVALUE(cNames); VSL_CHECK_VALIDVALUE(lcid); VSL_SET_VALIDVALUE_MEMCPY(rgDispId, cNames*sizeof(rgDispId[0]), validValues.cNames*sizeof(validValues.rgDispId[0])); VSL_RETURN_VALIDVALUES(); } struct InvokeValidValues { /*[in]*/ DISPID dispIdMember; /*[in]*/ REFIID riid; /*[in]*/ LCID lcid; /*[in]*/ WORD wFlags; /*[in,out]*/ DISPPARAMS* pDispParams; /*[out]*/ VARIANT* pVarResult; /*[out]*/ EXCEPINFO* pExcepInfo; /*[out]*/ UINT* puArgErr; HRESULT retValue; }; STDMETHOD(Invoke)( /*[in]*/ DISPID dispIdMember, /*[in]*/ REFIID riid, /*[in]*/ LCID lcid, /*[in]*/ WORD wFlags, /*[in,out]*/ DISPPARAMS* pDispParams, /*[out]*/ VARIANT* pVarResult, /*[out]*/ EXCEPINFO* pExcepInfo, /*[out]*/ UINT* puArgErr) { VSL_DEFINE_MOCK_METHOD(Invoke) VSL_CHECK_VALIDVALUE(dispIdMember); VSL_CHECK_VALIDVALUE(riid); VSL_CHECK_VALIDVALUE(lcid); VSL_CHECK_VALIDVALUE(wFlags); VSL_SET_VALIDVALUE(pDispParams); VSL_SET_VALIDVALUE_VARIANT(pVarResult); VSL_SET_VALIDVALUE(pExcepInfo); VSL_SET_VALIDVALUE(puArgErr); VSL_RETURN_VALIDVALUES(); } }; } // namespace VSL #pragma warning(pop) #endif // IVSHELPEVENTS_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5