added some development tools
[windows-sources.git] / developer / VSSDK / VisualStudioIntegration / Common / Source / CPP / VSL / MockInterfaces / VSLMockIVsTrackSelectionEx.h
blob817240b51ed4d84e1970a8d65f35b78d29f12457
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 IVSTRACKSELECTIONEX_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
15 #define IVSTRACKSELECTIONEX_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
17 #if _MSC_VER > 1000
18 #pragma once
19 #endif
21 #include "vsshell.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 IVsTrackSelectionExNotImpl :
33 public IVsTrackSelectionEx
36 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVsTrackSelectionExNotImpl)
38 public:
40 typedef IVsTrackSelectionEx Interface;
42 STDMETHOD(OnSelectChangeEx)(
43 /*[in]*/ IVsHierarchy* /*pHier*/,
44 /*[in]*/ VSITEMID /*itemid*/,
45 /*[in]*/ IVsMultiItemSelect* /*pMIS*/,
46 /*[in]*/ ISelectionContainer* /*pSC*/)VSL_STDMETHOD_NOTIMPL
48 STDMETHOD(IsMyHierarchyCurrent)(
49 /*[out]*/ BOOL* /*pfCurrent*/)VSL_STDMETHOD_NOTIMPL
51 STDMETHOD(OnElementValueChange)(
52 /*[in]*/ VSSELELEMID /*elementid*/,
53 /*[in]*/ BOOL /*fDontPropagate*/,
54 /*[in]*/ VARIANT /*varValue*/)VSL_STDMETHOD_NOTIMPL
56 STDMETHOD(GetCurrentSelection)(
57 /*[out]*/ IVsHierarchy** /*ppHier*/,
58 /*[out]*/ VSITEMID* /*pitemid*/,
59 /*[out]*/ IVsMultiItemSelect** /*ppMIS*/,
60 /*[out]*/ ISelectionContainer** /*ppSC*/)VSL_STDMETHOD_NOTIMPL
62 STDMETHOD(OnSelectChange)(
63 /*[in]*/ ISelectionContainer* /*pSC*/)VSL_STDMETHOD_NOTIMPL
66 class IVsTrackSelectionExMockImpl :
67 public IVsTrackSelectionEx,
68 public MockBase
71 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVsTrackSelectionExMockImpl)
73 public:
75 VSL_DEFINE_MOCK_CLASS_TYPDEFS(IVsTrackSelectionExMockImpl)
77 typedef IVsTrackSelectionEx Interface;
78 struct OnSelectChangeExValidValues
80 /*[in]*/ IVsHierarchy* pHier;
81 /*[in]*/ VSITEMID itemid;
82 /*[in]*/ IVsMultiItemSelect* pMIS;
83 /*[in]*/ ISelectionContainer* pSC;
84 HRESULT retValue;
87 STDMETHOD(OnSelectChangeEx)(
88 /*[in]*/ IVsHierarchy* pHier,
89 /*[in]*/ VSITEMID itemid,
90 /*[in]*/ IVsMultiItemSelect* pMIS,
91 /*[in]*/ ISelectionContainer* pSC)
93 VSL_DEFINE_MOCK_METHOD(OnSelectChangeEx)
95 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(pHier);
97 VSL_CHECK_VALIDVALUE(itemid);
99 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(pMIS);
101 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(pSC);
103 VSL_RETURN_VALIDVALUES();
105 struct IsMyHierarchyCurrentValidValues
107 /*[out]*/ BOOL* pfCurrent;
108 HRESULT retValue;
111 STDMETHOD(IsMyHierarchyCurrent)(
112 /*[out]*/ BOOL* pfCurrent)
114 VSL_DEFINE_MOCK_METHOD(IsMyHierarchyCurrent)
116 VSL_SET_VALIDVALUE(pfCurrent);
118 VSL_RETURN_VALIDVALUES();
120 struct OnElementValueChangeValidValues
122 /*[in]*/ VSSELELEMID elementid;
123 /*[in]*/ BOOL fDontPropagate;
124 /*[in]*/ VARIANT varValue;
125 HRESULT retValue;
128 STDMETHOD(OnElementValueChange)(
129 /*[in]*/ VSSELELEMID elementid,
130 /*[in]*/ BOOL fDontPropagate,
131 /*[in]*/ VARIANT varValue)
133 VSL_DEFINE_MOCK_METHOD(OnElementValueChange)
135 VSL_CHECK_VALIDVALUE(elementid);
137 VSL_CHECK_VALIDVALUE(fDontPropagate);
139 VSL_CHECK_VALIDVALUE(varValue);
141 VSL_RETURN_VALIDVALUES();
143 struct GetCurrentSelectionValidValues
145 /*[out]*/ IVsHierarchy** ppHier;
146 /*[out]*/ VSITEMID* pitemid;
147 /*[out]*/ IVsMultiItemSelect** ppMIS;
148 /*[out]*/ ISelectionContainer** ppSC;
149 HRESULT retValue;
152 STDMETHOD(GetCurrentSelection)(
153 /*[out]*/ IVsHierarchy** ppHier,
154 /*[out]*/ VSITEMID* pitemid,
155 /*[out]*/ IVsMultiItemSelect** ppMIS,
156 /*[out]*/ ISelectionContainer** ppSC)
158 VSL_DEFINE_MOCK_METHOD(GetCurrentSelection)
160 VSL_SET_VALIDVALUE_INTERFACE(ppHier);
162 VSL_SET_VALIDVALUE(pitemid);
164 VSL_SET_VALIDVALUE_INTERFACE(ppMIS);
166 VSL_SET_VALIDVALUE_INTERFACE(ppSC);
168 VSL_RETURN_VALIDVALUES();
170 struct OnSelectChangeValidValues
172 /*[in]*/ ISelectionContainer* pSC;
173 HRESULT retValue;
176 STDMETHOD(OnSelectChange)(
177 /*[in]*/ ISelectionContainer* pSC)
179 VSL_DEFINE_MOCK_METHOD(OnSelectChange)
181 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(pSC);
183 VSL_RETURN_VALIDVALUES();
188 } // namespace VSL
190 #pragma warning(pop)
192 #endif // IVSTRACKSELECTIONEX_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5