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 IVSCONTAINEDLANGUAGECODESUPPORT_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
15 #define IVSCONTAINEDLANGUAGECODESUPPORT_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
21 #include "singlefileeditor.h"
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 IVsContainedLanguageCodeSupportNotImpl
:
33 public IVsContainedLanguageCodeSupport
36 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVsContainedLanguageCodeSupportNotImpl
)
40 typedef IVsContainedLanguageCodeSupport Interface
;
42 STDMETHOD(CreateUniqueEventName
)(
43 /*[in]*/ LPCWSTR
/*pszClassName*/,
44 /*[in]*/ LPCWSTR
/*pszObjectName*/,
45 /*[in]*/ LPCWSTR
/*pszNameOfEvent*/,
46 /*[out]*/ BSTR
* /*pbstrEventHandlerName*/)VSL_STDMETHOD_NOTIMPL
48 STDMETHOD(EnsureEventHandler
)(
49 /*[in]*/ LPCWSTR
/*pszClassName*/,
50 /*[in]*/ LPCWSTR
/*pszObjectTypeName*/,
51 /*[in]*/ LPCWSTR
/*pszNameOfEvent*/,
52 /*[in]*/ LPCWSTR
/*pszEventHandlerName*/,
53 /*[in]*/ VSITEMID
/*itemidInsertionPoint*/,
54 /*[out]*/ BSTR
* /*pbstrUniqueMemberID*/,
55 /*[out]*/ BSTR
* /*pbstrEventBody*/,
56 /*[out]*/ TextSpan
* /*pSpanInsertionPoint*/)VSL_STDMETHOD_NOTIMPL
58 STDMETHOD(GetMemberNavigationPoint
)(
59 /*[in]*/ LPCWSTR
/*pszClassName*/,
60 /*[in]*/ LPCWSTR
/*pszUniqueMemberID*/,
61 /*[out]*/ TextSpan
* /*pSpanNavPoint*/,
62 /*[out]*/ VSITEMID
* /*pItemID*/)VSL_STDMETHOD_NOTIMPL
64 STDMETHOD(GetMembers
)(
65 /*[in]*/ LPCWSTR
/*pszClassName*/,
66 /*[in]*/ DWORD
/*dwFlags*/,
67 /*[out]*/ int* /*pcMembers*/,
68 /*[out]*/ BSTR
** /*ppbstrDisplayNames*/,
69 /*[out]*/ BSTR
** /*ppbstrMemberIDs*/)VSL_STDMETHOD_NOTIMPL
72 /*[in]*/ ContainedLanguageRenameType
/*clrt*/,
73 /*[in]*/ BSTR
/*bstrOldID*/,
74 /*[in]*/ BSTR
/*bstrNewID*/)VSL_STDMETHOD_NOTIMPL
77 /*[in]*/ BSTR
/*bstrID*/,
78 /*[out]*/ VARIANT_BOOL
* /*pfIsValidID*/)VSL_STDMETHOD_NOTIMPL
80 STDMETHOD(GetBaseClassName
)(
81 /*[in]*/ LPCWSTR
/*pszClassName*/,
82 /*[out]*/ BSTR
* /*pbstrBaseClassName*/)VSL_STDMETHOD_NOTIMPL
84 STDMETHOD(GetEventHandlerMemberID
)(
85 /*[in]*/ LPCWSTR
/*pszClassName*/,
86 /*[in]*/ LPCWSTR
/*pszObjectTypeName*/,
87 /*[in]*/ LPCWSTR
/*pszNameOfEvent*/,
88 /*[in]*/ LPCWSTR
/*pszEventHandlerName*/,
89 /*[out]*/ BSTR
* /*pbstrUniqueMemberID*/)VSL_STDMETHOD_NOTIMPL
91 STDMETHOD(GetCompatibleEventHandlers
)(
92 /*[in]*/ LPCWSTR
/*pszClassName*/,
93 /*[in]*/ LPCWSTR
/*pszObjectTypeName*/,
94 /*[in]*/ LPCWSTR
/*pszNameOfEvent*/,
95 /*[out]*/ int* /*pcMembers*/,
96 /*[out]*/ BSTR
** /*ppbstrEventHandlerNames*/,
97 /*[out]*/ BSTR
** /*ppbstrMemberIDs*/)VSL_STDMETHOD_NOTIMPL
100 class IVsContainedLanguageCodeSupportMockImpl
:
101 public IVsContainedLanguageCodeSupport
,
105 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVsContainedLanguageCodeSupportMockImpl
)
109 VSL_DEFINE_MOCK_CLASS_TYPDEFS(IVsContainedLanguageCodeSupportMockImpl
)
111 typedef IVsContainedLanguageCodeSupport Interface
;
112 struct CreateUniqueEventNameValidValues
114 /*[in]*/ LPCWSTR pszClassName
;
115 /*[in]*/ LPCWSTR pszObjectName
;
116 /*[in]*/ LPCWSTR pszNameOfEvent
;
117 /*[out]*/ BSTR
* pbstrEventHandlerName
;
121 STDMETHOD(CreateUniqueEventName
)(
122 /*[in]*/ LPCWSTR pszClassName
,
123 /*[in]*/ LPCWSTR pszObjectName
,
124 /*[in]*/ LPCWSTR pszNameOfEvent
,
125 /*[out]*/ BSTR
* pbstrEventHandlerName
)
127 VSL_DEFINE_MOCK_METHOD(CreateUniqueEventName
)
129 VSL_CHECK_VALIDVALUE_STRINGW(pszClassName
);
131 VSL_CHECK_VALIDVALUE_STRINGW(pszObjectName
);
133 VSL_CHECK_VALIDVALUE_STRINGW(pszNameOfEvent
);
135 VSL_SET_VALIDVALUE_BSTR(pbstrEventHandlerName
);
137 VSL_RETURN_VALIDVALUES();
139 struct EnsureEventHandlerValidValues
141 /*[in]*/ LPCWSTR pszClassName
;
142 /*[in]*/ LPCWSTR pszObjectTypeName
;
143 /*[in]*/ LPCWSTR pszNameOfEvent
;
144 /*[in]*/ LPCWSTR pszEventHandlerName
;
145 /*[in]*/ VSITEMID itemidInsertionPoint
;
146 /*[out]*/ BSTR
* pbstrUniqueMemberID
;
147 /*[out]*/ BSTR
* pbstrEventBody
;
148 /*[out]*/ TextSpan
* pSpanInsertionPoint
;
152 STDMETHOD(EnsureEventHandler
)(
153 /*[in]*/ LPCWSTR pszClassName
,
154 /*[in]*/ LPCWSTR pszObjectTypeName
,
155 /*[in]*/ LPCWSTR pszNameOfEvent
,
156 /*[in]*/ LPCWSTR pszEventHandlerName
,
157 /*[in]*/ VSITEMID itemidInsertionPoint
,
158 /*[out]*/ BSTR
* pbstrUniqueMemberID
,
159 /*[out]*/ BSTR
* pbstrEventBody
,
160 /*[out]*/ TextSpan
* pSpanInsertionPoint
)
162 VSL_DEFINE_MOCK_METHOD(EnsureEventHandler
)
164 VSL_CHECK_VALIDVALUE_STRINGW(pszClassName
);
166 VSL_CHECK_VALIDVALUE_STRINGW(pszObjectTypeName
);
168 VSL_CHECK_VALIDVALUE_STRINGW(pszNameOfEvent
);
170 VSL_CHECK_VALIDVALUE_STRINGW(pszEventHandlerName
);
172 VSL_CHECK_VALIDVALUE(itemidInsertionPoint
);
174 VSL_SET_VALIDVALUE_BSTR(pbstrUniqueMemberID
);
176 VSL_SET_VALIDVALUE_BSTR(pbstrEventBody
);
178 VSL_SET_VALIDVALUE(pSpanInsertionPoint
);
180 VSL_RETURN_VALIDVALUES();
182 struct GetMemberNavigationPointValidValues
184 /*[in]*/ LPCWSTR pszClassName
;
185 /*[in]*/ LPCWSTR pszUniqueMemberID
;
186 /*[out]*/ TextSpan
* pSpanNavPoint
;
187 /*[out]*/ VSITEMID
* pItemID
;
191 STDMETHOD(GetMemberNavigationPoint
)(
192 /*[in]*/ LPCWSTR pszClassName
,
193 /*[in]*/ LPCWSTR pszUniqueMemberID
,
194 /*[out]*/ TextSpan
* pSpanNavPoint
,
195 /*[out]*/ VSITEMID
* pItemID
)
197 VSL_DEFINE_MOCK_METHOD(GetMemberNavigationPoint
)
199 VSL_CHECK_VALIDVALUE_STRINGW(pszClassName
);
201 VSL_CHECK_VALIDVALUE_STRINGW(pszUniqueMemberID
);
203 VSL_SET_VALIDVALUE(pSpanNavPoint
);
205 VSL_SET_VALIDVALUE(pItemID
);
207 VSL_RETURN_VALIDVALUES();
209 struct GetMembersValidValues
211 /*[in]*/ LPCWSTR pszClassName
;
212 /*[in]*/ DWORD dwFlags
;
213 /*[out]*/ int* pcMembers
;
214 /*[out]*/ BSTR
** ppbstrDisplayNames
;
215 /*[out]*/ BSTR
** ppbstrMemberIDs
;
219 STDMETHOD(GetMembers
)(
220 /*[in]*/ LPCWSTR pszClassName
,
221 /*[in]*/ DWORD dwFlags
,
222 /*[out]*/ int* pcMembers
,
223 /*[out]*/ BSTR
** ppbstrDisplayNames
,
224 /*[out]*/ BSTR
** ppbstrMemberIDs
)
226 VSL_DEFINE_MOCK_METHOD(GetMembers
)
228 VSL_CHECK_VALIDVALUE_STRINGW(pszClassName
);
230 VSL_CHECK_VALIDVALUE(dwFlags
);
232 VSL_SET_VALIDVALUE(pcMembers
);
234 VSL_SET_VALIDVALUE(ppbstrDisplayNames
);
236 VSL_SET_VALIDVALUE(ppbstrMemberIDs
);
238 VSL_RETURN_VALIDVALUES();
240 struct OnRenamedValidValues
242 /*[in]*/ ContainedLanguageRenameType clrt
;
243 /*[in]*/ BSTR bstrOldID
;
244 /*[in]*/ BSTR bstrNewID
;
248 STDMETHOD(OnRenamed
)(
249 /*[in]*/ ContainedLanguageRenameType clrt
,
250 /*[in]*/ BSTR bstrOldID
,
251 /*[in]*/ BSTR bstrNewID
)
253 VSL_DEFINE_MOCK_METHOD(OnRenamed
)
255 VSL_CHECK_VALIDVALUE(clrt
);
257 VSL_CHECK_VALIDVALUE_BSTR(bstrOldID
);
259 VSL_CHECK_VALIDVALUE_BSTR(bstrNewID
);
261 VSL_RETURN_VALIDVALUES();
263 struct IsValidIDValidValues
265 /*[in]*/ BSTR bstrID
;
266 /*[out]*/ VARIANT_BOOL
* pfIsValidID
;
270 STDMETHOD(IsValidID
)(
271 /*[in]*/ BSTR bstrID
,
272 /*[out]*/ VARIANT_BOOL
* pfIsValidID
)
274 VSL_DEFINE_MOCK_METHOD(IsValidID
)
276 VSL_CHECK_VALIDVALUE_BSTR(bstrID
);
278 VSL_SET_VALIDVALUE(pfIsValidID
);
280 VSL_RETURN_VALIDVALUES();
282 struct GetBaseClassNameValidValues
284 /*[in]*/ LPCWSTR pszClassName
;
285 /*[out]*/ BSTR
* pbstrBaseClassName
;
289 STDMETHOD(GetBaseClassName
)(
290 /*[in]*/ LPCWSTR pszClassName
,
291 /*[out]*/ BSTR
* pbstrBaseClassName
)
293 VSL_DEFINE_MOCK_METHOD(GetBaseClassName
)
295 VSL_CHECK_VALIDVALUE_STRINGW(pszClassName
);
297 VSL_SET_VALIDVALUE_BSTR(pbstrBaseClassName
);
299 VSL_RETURN_VALIDVALUES();
301 struct GetEventHandlerMemberIDValidValues
303 /*[in]*/ LPCWSTR pszClassName
;
304 /*[in]*/ LPCWSTR pszObjectTypeName
;
305 /*[in]*/ LPCWSTR pszNameOfEvent
;
306 /*[in]*/ LPCWSTR pszEventHandlerName
;
307 /*[out]*/ BSTR
* pbstrUniqueMemberID
;
311 STDMETHOD(GetEventHandlerMemberID
)(
312 /*[in]*/ LPCWSTR pszClassName
,
313 /*[in]*/ LPCWSTR pszObjectTypeName
,
314 /*[in]*/ LPCWSTR pszNameOfEvent
,
315 /*[in]*/ LPCWSTR pszEventHandlerName
,
316 /*[out]*/ BSTR
* pbstrUniqueMemberID
)
318 VSL_DEFINE_MOCK_METHOD(GetEventHandlerMemberID
)
320 VSL_CHECK_VALIDVALUE_STRINGW(pszClassName
);
322 VSL_CHECK_VALIDVALUE_STRINGW(pszObjectTypeName
);
324 VSL_CHECK_VALIDVALUE_STRINGW(pszNameOfEvent
);
326 VSL_CHECK_VALIDVALUE_STRINGW(pszEventHandlerName
);
328 VSL_SET_VALIDVALUE_BSTR(pbstrUniqueMemberID
);
330 VSL_RETURN_VALIDVALUES();
332 struct GetCompatibleEventHandlersValidValues
334 /*[in]*/ LPCWSTR pszClassName
;
335 /*[in]*/ LPCWSTR pszObjectTypeName
;
336 /*[in]*/ LPCWSTR pszNameOfEvent
;
337 /*[out]*/ int* pcMembers
;
338 /*[out]*/ BSTR
** ppbstrEventHandlerNames
;
339 /*[out]*/ BSTR
** ppbstrMemberIDs
;
343 STDMETHOD(GetCompatibleEventHandlers
)(
344 /*[in]*/ LPCWSTR pszClassName
,
345 /*[in]*/ LPCWSTR pszObjectTypeName
,
346 /*[in]*/ LPCWSTR pszNameOfEvent
,
347 /*[out]*/ int* pcMembers
,
348 /*[out]*/ BSTR
** ppbstrEventHandlerNames
,
349 /*[out]*/ BSTR
** ppbstrMemberIDs
)
351 VSL_DEFINE_MOCK_METHOD(GetCompatibleEventHandlers
)
353 VSL_CHECK_VALIDVALUE_STRINGW(pszClassName
);
355 VSL_CHECK_VALIDVALUE_STRINGW(pszObjectTypeName
);
357 VSL_CHECK_VALIDVALUE_STRINGW(pszNameOfEvent
);
359 VSL_SET_VALIDVALUE(pcMembers
);
361 VSL_SET_VALIDVALUE(ppbstrEventHandlerNames
);
363 VSL_SET_VALIDVALUE(ppbstrMemberIDs
);
365 VSL_RETURN_VALIDVALUES();
374 #endif // IVSCONTAINEDLANGUAGECODESUPPORT_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5