added some development tools
[windows-sources.git] / developer / VSSDK / VisualStudioIntegration / Common / Source / CPP / VSL / MockInterfaces / VSLMockIEnumHierarchies.h
blob1dfbc3f358e233c472217d71bee5693090715c6e
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 IENUMHIERARCHIES_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
15 #define IENUMHIERARCHIES_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 IEnumHierarchiesNotImpl :
33 public IEnumHierarchies
36 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IEnumHierarchiesNotImpl)
38 public:
40 typedef IEnumHierarchies Interface;
42 STDMETHOD(Next)(
43 /*[in]*/ ULONG /*celt*/,
44 /*[out,size_is(celt),length_is(*pceltFetched)]*/ IVsHierarchy** /*rgelt*/,
45 /*[out]*/ ULONG* /*pceltFetched*/)VSL_STDMETHOD_NOTIMPL
47 STDMETHOD(Skip)(
48 /*[in]*/ ULONG /*celt*/)VSL_STDMETHOD_NOTIMPL
50 STDMETHOD(Reset)()VSL_STDMETHOD_NOTIMPL
52 STDMETHOD(Clone)(
53 /*[out]*/ IEnumHierarchies** /*ppenum*/)VSL_STDMETHOD_NOTIMPL
56 class IEnumHierarchiesMockImpl :
57 public IEnumHierarchies,
58 public MockBase
61 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IEnumHierarchiesMockImpl)
63 public:
65 VSL_DEFINE_MOCK_CLASS_TYPDEFS(IEnumHierarchiesMockImpl)
67 typedef IEnumHierarchies Interface;
68 struct NextValidValues
70 /*[in]*/ ULONG celt;
71 /*[out,size_is(celt),length_is(*pceltFetched)]*/ IVsHierarchy** rgelt;
72 /*[out]*/ ULONG* pceltFetched;
73 HRESULT retValue;
76 STDMETHOD(Next)(
77 /*[in]*/ ULONG celt,
78 /*[out,size_is(celt),length_is(*pceltFetched)]*/ IVsHierarchy** rgelt,
79 /*[out]*/ ULONG* pceltFetched)
81 VSL_DEFINE_MOCK_METHOD(Next)
83 VSL_CHECK_VALIDVALUE(celt);
85 VSL_SET_VALIDVALUE_INTERFACEARRAY(rgelt, celt, *(validValues.pceltFetched));
87 VSL_SET_VALIDVALUE(pceltFetched);
89 VSL_RETURN_VALIDVALUES();
91 struct SkipValidValues
93 /*[in]*/ ULONG celt;
94 HRESULT retValue;
97 STDMETHOD(Skip)(
98 /*[in]*/ ULONG celt)
100 VSL_DEFINE_MOCK_METHOD(Skip)
102 VSL_CHECK_VALIDVALUE(celt);
104 VSL_RETURN_VALIDVALUES();
106 struct ResetValidValues
108 HRESULT retValue;
111 STDMETHOD(Reset)()
113 VSL_DEFINE_MOCK_METHOD_NOARGS(Reset)
115 VSL_RETURN_VALIDVALUES();
117 struct CloneValidValues
119 /*[out]*/ IEnumHierarchies** ppenum;
120 HRESULT retValue;
123 STDMETHOD(Clone)(
124 /*[out]*/ IEnumHierarchies** ppenum)
126 VSL_DEFINE_MOCK_METHOD(Clone)
128 VSL_SET_VALIDVALUE_INTERFACE(ppenum);
130 VSL_RETURN_VALIDVALUES();
135 } // namespace VSL
137 #pragma warning(pop)
139 #endif // IENUMHIERARCHIES_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5