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 IVSFINDER_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
15 #define IVSFINDER_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 IVsFinderNotImpl
:
36 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVsFinderNotImpl
)
40 typedef IVsFinder Interface
;
42 STDMETHOD(AttachTextImage
)(
43 /*[in]*/ IUnknown
* /*pTextImage*/)VSL_STDMETHOD_NOTIMPL
45 STDMETHOD(Detach
)()VSL_STDMETHOD_NOTIMPL
48 /*[in]*/ IVsTextSpanSet
* /*pSpanScope*/)VSL_STDMETHOD_NOTIMPL
51 /*[in]*/ DWORD
/*grfOptions*/,
52 /*[in]*/ LPCOLESTR
/*pszFindPattern*/,
53 /*[in]*/ BOOL
/*fReinit*/,
54 /*[out,retval]*/ VSFINDERROR
* /*pResult*/)VSL_STDMETHOD_NOTIMPL
56 STDMETHOD(SetPosition
)(
57 /*[in]*/ VSFINDPOS
/*fp*/,
58 /*[in]*/ TextAddress
/*ta*/)VSL_STDMETHOD_NOTIMPL
61 /*[in]*/ VSFINDHOW
/*grfFindHow*/,
62 /*[in,out]*/ TextSpan
* /*ptsMatch*/,
63 /*[out,retval]*/ VSFINDSTATE
* /*pgrfResult*/)VSL_STDMETHOD_NOTIMPL
66 /*[out,retval]*/ TextSpan
* /*pts*/)VSL_STDMETHOD_NOTIMPL
68 STDMETHOD(GetMatchedSpans
)(
69 /*[out,retval]*/ IVsTextSpanSet
** /*ppSpans*/)VSL_STDMETHOD_NOTIMPL
71 STDMETHOD(GetTaggedSpans
)(
72 /*[out,retval]*/ IVsTextSpanSet
** /*ppTags*/)VSL_STDMETHOD_NOTIMPL
75 /*[out]*/ LONG
* /*pcFound*/,
76 /*[out]*/ VSFINDERROR
* /*pResult*/,
77 /*[out,retval]*/ VSFINDSTATE
* /*pState*/)VSL_STDMETHOD_NOTIMPL
80 class IVsFinderMockImpl
:
85 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVsFinderMockImpl
)
89 VSL_DEFINE_MOCK_CLASS_TYPDEFS(IVsFinderMockImpl
)
91 typedef IVsFinder Interface
;
92 struct AttachTextImageValidValues
94 /*[in]*/ IUnknown
* pTextImage
;
98 STDMETHOD(AttachTextImage
)(
99 /*[in]*/ IUnknown
* pTextImage
)
101 VSL_DEFINE_MOCK_METHOD(AttachTextImage
)
103 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(pTextImage
);
105 VSL_RETURN_VALIDVALUES();
107 struct DetachValidValues
114 VSL_DEFINE_MOCK_METHOD_NOARGS(Detach
)
116 VSL_RETURN_VALIDVALUES();
118 struct SetScopeValidValues
120 /*[in]*/ IVsTextSpanSet
* pSpanScope
;
125 /*[in]*/ IVsTextSpanSet
* pSpanScope
)
127 VSL_DEFINE_MOCK_METHOD(SetScope
)
129 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(pSpanScope
);
131 VSL_RETURN_VALIDVALUES();
133 struct InitValidValues
135 /*[in]*/ DWORD grfOptions
;
136 /*[in]*/ LPCOLESTR pszFindPattern
;
137 /*[in]*/ BOOL fReinit
;
138 /*[out,retval]*/ VSFINDERROR
* pResult
;
143 /*[in]*/ DWORD grfOptions
,
144 /*[in]*/ LPCOLESTR pszFindPattern
,
145 /*[in]*/ BOOL fReinit
,
146 /*[out,retval]*/ VSFINDERROR
* pResult
)
148 VSL_DEFINE_MOCK_METHOD(Init
)
150 VSL_CHECK_VALIDVALUE(grfOptions
);
152 VSL_CHECK_VALIDVALUE_STRINGW(pszFindPattern
);
154 VSL_CHECK_VALIDVALUE(fReinit
);
156 VSL_SET_VALIDVALUE(pResult
);
158 VSL_RETURN_VALIDVALUES();
160 struct SetPositionValidValues
162 /*[in]*/ VSFINDPOS fp
;
163 /*[in]*/ TextAddress ta
;
167 STDMETHOD(SetPosition
)(
168 /*[in]*/ VSFINDPOS fp
,
169 /*[in]*/ TextAddress ta
)
171 VSL_DEFINE_MOCK_METHOD(SetPosition
)
173 VSL_CHECK_VALIDVALUE(fp
);
175 VSL_CHECK_VALIDVALUE(ta
);
177 VSL_RETURN_VALIDVALUES();
179 struct FindValidValues
181 /*[in]*/ VSFINDHOW grfFindHow
;
182 /*[in,out]*/ TextSpan
* ptsMatch
;
183 /*[out,retval]*/ VSFINDSTATE
* pgrfResult
;
188 /*[in]*/ VSFINDHOW grfFindHow
,
189 /*[in,out]*/ TextSpan
* ptsMatch
,
190 /*[out,retval]*/ VSFINDSTATE
* pgrfResult
)
192 VSL_DEFINE_MOCK_METHOD(Find
)
194 VSL_CHECK_VALIDVALUE(grfFindHow
);
196 VSL_SET_VALIDVALUE(ptsMatch
);
198 VSL_SET_VALIDVALUE(pgrfResult
);
200 VSL_RETURN_VALIDVALUES();
202 struct GetMatchValidValues
204 /*[out,retval]*/ TextSpan
* pts
;
209 /*[out,retval]*/ TextSpan
* pts
)
211 VSL_DEFINE_MOCK_METHOD(GetMatch
)
213 VSL_SET_VALIDVALUE(pts
);
215 VSL_RETURN_VALIDVALUES();
217 struct GetMatchedSpansValidValues
219 /*[out,retval]*/ IVsTextSpanSet
** ppSpans
;
223 STDMETHOD(GetMatchedSpans
)(
224 /*[out,retval]*/ IVsTextSpanSet
** ppSpans
)
226 VSL_DEFINE_MOCK_METHOD(GetMatchedSpans
)
228 VSL_SET_VALIDVALUE_INTERFACE(ppSpans
);
230 VSL_RETURN_VALIDVALUES();
232 struct GetTaggedSpansValidValues
234 /*[out,retval]*/ IVsTextSpanSet
** ppTags
;
238 STDMETHOD(GetTaggedSpans
)(
239 /*[out,retval]*/ IVsTextSpanSet
** ppTags
)
241 VSL_DEFINE_MOCK_METHOD(GetTaggedSpans
)
243 VSL_SET_VALIDVALUE_INTERFACE(ppTags
);
245 VSL_RETURN_VALIDVALUES();
247 struct GetStateValidValues
249 /*[out]*/ LONG
* pcFound
;
250 /*[out]*/ VSFINDERROR
* pResult
;
251 /*[out,retval]*/ VSFINDSTATE
* pState
;
256 /*[out]*/ LONG
* pcFound
,
257 /*[out]*/ VSFINDERROR
* pResult
,
258 /*[out,retval]*/ VSFINDSTATE
* pState
)
260 VSL_DEFINE_MOCK_METHOD(GetState
)
262 VSL_SET_VALIDVALUE(pcFound
);
264 VSL_SET_VALIDVALUE(pResult
);
266 VSL_SET_VALIDVALUE(pState
);
268 VSL_RETURN_VALIDVALUES();
277 #endif // IVSFINDER_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5