added some development tools
[windows-sources.git] / developer / VSSDK / VisualStudioIntegration / Common / Source / CPP / VSL / MockInterfaces / VSLMockIVsFinder.h
blobaaae136439c736227d85951723b87d62897b90dd
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
17 #if _MSC_VER > 1000
18 #pragma once
19 #endif
21 #include "textfind.h"
23 #pragma warning(push)
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
29 namespace VSL
32 class IVsFinderNotImpl :
33 public IVsFinder
36 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVsFinderNotImpl)
38 public:
40 typedef IVsFinder Interface;
42 STDMETHOD(AttachTextImage)(
43 /*[in]*/ IUnknown* /*pTextImage*/)VSL_STDMETHOD_NOTIMPL
45 STDMETHOD(Detach)()VSL_STDMETHOD_NOTIMPL
47 STDMETHOD(SetScope)(
48 /*[in]*/ IVsTextSpanSet* /*pSpanScope*/)VSL_STDMETHOD_NOTIMPL
50 STDMETHOD(Init)(
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
60 STDMETHOD(Find)(
61 /*[in]*/ VSFINDHOW /*grfFindHow*/,
62 /*[in,out]*/ TextSpan* /*ptsMatch*/,
63 /*[out,retval]*/ VSFINDSTATE* /*pgrfResult*/)VSL_STDMETHOD_NOTIMPL
65 STDMETHOD(GetMatch)(
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
74 STDMETHOD(GetState)(
75 /*[out]*/ LONG* /*pcFound*/,
76 /*[out]*/ VSFINDERROR* /*pResult*/,
77 /*[out,retval]*/ VSFINDSTATE* /*pState*/)VSL_STDMETHOD_NOTIMPL
80 class IVsFinderMockImpl :
81 public IVsFinder,
82 public MockBase
85 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVsFinderMockImpl)
87 public:
89 VSL_DEFINE_MOCK_CLASS_TYPDEFS(IVsFinderMockImpl)
91 typedef IVsFinder Interface;
92 struct AttachTextImageValidValues
94 /*[in]*/ IUnknown* pTextImage;
95 HRESULT retValue;
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
109 HRESULT retValue;
112 STDMETHOD(Detach)()
114 VSL_DEFINE_MOCK_METHOD_NOARGS(Detach)
116 VSL_RETURN_VALIDVALUES();
118 struct SetScopeValidValues
120 /*[in]*/ IVsTextSpanSet* pSpanScope;
121 HRESULT retValue;
124 STDMETHOD(SetScope)(
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;
139 HRESULT retValue;
142 STDMETHOD(Init)(
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;
164 HRESULT retValue;
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;
184 HRESULT retValue;
187 STDMETHOD(Find)(
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;
205 HRESULT retValue;
208 STDMETHOD(GetMatch)(
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;
220 HRESULT retValue;
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;
235 HRESULT retValue;
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;
252 HRESULT retValue;
255 STDMETHOD(GetState)(
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();
273 } // namespace VSL
275 #pragma warning(pop)
277 #endif // IVSFINDER_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5