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
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 IVsTrackSelectionExNotImpl
:
33 public IVsTrackSelectionEx
36 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVsTrackSelectionExNotImpl
)
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
,
71 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVsTrackSelectionExMockImpl
)
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
;
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
;
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
;
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
;
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
;
176 STDMETHOD(OnSelectChange
)(
177 /*[in]*/ ISelectionContainer
* pSC
)
179 VSL_DEFINE_MOCK_METHOD(OnSelectChange
)
181 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(pSC
);
183 VSL_RETURN_VALIDVALUES();
192 #endif // IVSTRACKSELECTIONEX_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5