1 /***************************************************************************
3 Copyright (c) Microsoft Corporation. All rights reserved.
4 This code is licensed under the Visual Studio SDK license terms.
5 THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
6 ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
7 IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
8 PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
10 This code is a part of the Visual Studio Library.
12 ***************************************************************************/
14 #ifndef IVSLANGUAGECONTEXTPROVIDER_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
15 #define IVSLANGUAGECONTEXTPROVIDER_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
24 #pragma warning(disable : 4510) // default constructor could not be generated
25 #pragma warning(disable : 4610) // can never be instantiated - user defined constructor required
26 #pragma warning(disable : 4512) // assignment operator could not be generated
27 #pragma warning(disable : 6011) // Dereferencing NULL pointer (a NULL derference is just another kind of failure for a unit test
32 class IVsLanguageContextProviderNotImpl
:
33 public IVsLanguageContextProvider
36 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVsLanguageContextProviderNotImpl
)
40 typedef IVsLanguageContextProvider Interface
;
42 STDMETHOD(UpdateLanguageContext
)(
43 /*[in]*/ DWORD
/*dwHint*/,
44 /*[in]*/ IVsTextLines
* /*pBuffer*/,
45 /*[in]*/ TextSpan
* /*ptsSelection*/,
46 /*[in]*/ IVsUserContext
* /*pUC*/)VSL_STDMETHOD_NOTIMPL
49 class IVsLanguageContextProviderMockImpl
:
50 public IVsLanguageContextProvider
,
54 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVsLanguageContextProviderMockImpl
)
58 VSL_DEFINE_MOCK_CLASS_TYPDEFS(IVsLanguageContextProviderMockImpl
)
60 typedef IVsLanguageContextProvider Interface
;
61 struct UpdateLanguageContextValidValues
63 /*[in]*/ DWORD dwHint
;
64 /*[in]*/ IVsTextLines
* pBuffer
;
65 /*[in]*/ TextSpan
* ptsSelection
;
66 /*[in]*/ IVsUserContext
* pUC
;
70 STDMETHOD(UpdateLanguageContext
)(
71 /*[in]*/ DWORD dwHint
,
72 /*[in]*/ IVsTextLines
* pBuffer
,
73 /*[in]*/ TextSpan
* ptsSelection
,
74 /*[in]*/ IVsUserContext
* pUC
)
76 VSL_DEFINE_MOCK_METHOD(UpdateLanguageContext
)
78 VSL_CHECK_VALIDVALUE(dwHint
);
80 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(pBuffer
);
82 VSL_CHECK_VALIDVALUE_POINTER(ptsSelection
);
84 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(pUC
);
86 VSL_RETURN_VALIDVALUES();
95 #endif // IVSLANGUAGECONTEXTPROVIDER_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5