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 IVSHIDDENTEXTSESSION_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
15 #define IVSHIDDENTEXTSESSION_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 IVsHiddenTextSessionNotImpl
:
33 public IVsHiddenTextSession
36 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVsHiddenTextSessionNotImpl
)
40 typedef IVsHiddenTextSession Interface
;
42 STDMETHOD(AddHiddenRegions
)(
43 /*[in]*/ DWORD
/*dwUpdateFlags*/,
44 /*[in]*/ long /*cRegions*/,
45 /*[in,size_is(cRegions)]*/ NewHiddenRegion
* /*rgHidReg*/,
46 /*[out]*/ IVsEnumHiddenRegions
** /*ppEnum*/)VSL_STDMETHOD_NOTIMPL
48 STDMETHOD(EnumHiddenRegions
)(
49 /*[in]*/ DWORD
/*dwFindFlags*/,
50 /*[in]*/ DWORD_PTR
/*dwCookie*/,
51 /*[in]*/ TextSpan
* /*ptsRange*/,
52 /*[out]*/ IVsEnumHiddenRegions
** /*ppEnum*/)VSL_STDMETHOD_NOTIMPL
54 STDMETHOD(UnadviseClient
)()VSL_STDMETHOD_NOTIMPL
56 STDMETHOD(Terminate
)()VSL_STDMETHOD_NOTIMPL
59 class IVsHiddenTextSessionMockImpl
:
60 public IVsHiddenTextSession
,
64 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVsHiddenTextSessionMockImpl
)
68 VSL_DEFINE_MOCK_CLASS_TYPDEFS(IVsHiddenTextSessionMockImpl
)
70 typedef IVsHiddenTextSession Interface
;
71 struct AddHiddenRegionsValidValues
73 /*[in]*/ DWORD dwUpdateFlags
;
74 /*[in]*/ long cRegions
;
75 /*[in,size_is(cRegions)]*/ NewHiddenRegion
* rgHidReg
;
76 /*[out]*/ IVsEnumHiddenRegions
** ppEnum
;
80 STDMETHOD(AddHiddenRegions
)(
81 /*[in]*/ DWORD dwUpdateFlags
,
82 /*[in]*/ long cRegions
,
83 /*[in,size_is(cRegions)]*/ NewHiddenRegion
* rgHidReg
,
84 /*[out]*/ IVsEnumHiddenRegions
** ppEnum
)
86 VSL_DEFINE_MOCK_METHOD(AddHiddenRegions
)
88 VSL_CHECK_VALIDVALUE(dwUpdateFlags
);
90 VSL_CHECK_VALIDVALUE(cRegions
);
92 VSL_CHECK_VALIDVALUE_MEMCMP(rgHidReg
, cRegions
*sizeof(rgHidReg
[0]), validValues
.cRegions
*sizeof(validValues
.rgHidReg
[0]));
94 VSL_SET_VALIDVALUE_INTERFACE(ppEnum
);
96 VSL_RETURN_VALIDVALUES();
98 struct EnumHiddenRegionsValidValues
100 /*[in]*/ DWORD dwFindFlags
;
101 /*[in]*/ DWORD_PTR dwCookie
;
102 /*[in]*/ TextSpan
* ptsRange
;
103 /*[out]*/ IVsEnumHiddenRegions
** ppEnum
;
107 STDMETHOD(EnumHiddenRegions
)(
108 /*[in]*/ DWORD dwFindFlags
,
109 /*[in]*/ DWORD_PTR dwCookie
,
110 /*[in]*/ TextSpan
* ptsRange
,
111 /*[out]*/ IVsEnumHiddenRegions
** ppEnum
)
113 VSL_DEFINE_MOCK_METHOD(EnumHiddenRegions
)
115 VSL_CHECK_VALIDVALUE(dwFindFlags
);
117 VSL_CHECK_VALIDVALUE(dwCookie
);
119 VSL_CHECK_VALIDVALUE_POINTER(ptsRange
);
121 VSL_SET_VALIDVALUE_INTERFACE(ppEnum
);
123 VSL_RETURN_VALIDVALUES();
125 struct UnadviseClientValidValues
130 STDMETHOD(UnadviseClient
)()
132 VSL_DEFINE_MOCK_METHOD_NOARGS(UnadviseClient
)
134 VSL_RETURN_VALIDVALUES();
136 struct TerminateValidValues
141 STDMETHOD(Terminate
)()
143 VSL_DEFINE_MOCK_METHOD_NOARGS(Terminate
)
145 VSL_RETURN_VALIDVALUES();
154 #endif // IVSHIDDENTEXTSESSION_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5