added some development tools
[windows-sources.git] / developer / VSSDK / VisualStudioIntegration / Common / Source / CPP / VSL / MockInterfaces / VSLMockIVsHiddenTextSession.h
blobec7df8a63eb8a4c5bd9ba73f40a491291f41b5a2
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 IVSHIDDENTEXTSESSION_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
15 #define IVSHIDDENTEXTSESSION_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
17 #if _MSC_VER > 1000
18 #pragma once
19 #endif
21 #include "textmgr.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 IVsHiddenTextSessionNotImpl :
33 public IVsHiddenTextSession
36 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVsHiddenTextSessionNotImpl)
38 public:
40 typedef IVsHiddenTextSession Interface;
42 STDMETHOD(AddHiddenRegions)(
43 /*[in]*/ DWORD /*dwUpdateFlags*/,
44 /*[in]*/ long /*cRegions*/,
45 /*[in,size_is(cRegions)]*/ NewHiddenRegion* /*rgHidReg*/,
46 /*[out]*/ IVsEnumHiddenRegions** /*ppEnum*/)VSL_STDMETHOD_NOTIMPL
48 STDMETHOD(EnumHiddenRegions)(
49 /*[in]*/ DWORD /*dwFindFlags*/,
50 /*[in]*/ DWORD_PTR /*dwCookie*/,
51 /*[in]*/ TextSpan* /*ptsRange*/,
52 /*[out]*/ IVsEnumHiddenRegions** /*ppEnum*/)VSL_STDMETHOD_NOTIMPL
54 STDMETHOD(UnadviseClient)()VSL_STDMETHOD_NOTIMPL
56 STDMETHOD(Terminate)()VSL_STDMETHOD_NOTIMPL
59 class IVsHiddenTextSessionMockImpl :
60 public IVsHiddenTextSession,
61 public MockBase
64 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVsHiddenTextSessionMockImpl)
66 public:
68 VSL_DEFINE_MOCK_CLASS_TYPDEFS(IVsHiddenTextSessionMockImpl)
70 typedef IVsHiddenTextSession Interface;
71 struct AddHiddenRegionsValidValues
73 /*[in]*/ DWORD dwUpdateFlags;
74 /*[in]*/ long cRegions;
75 /*[in,size_is(cRegions)]*/ NewHiddenRegion* rgHidReg;
76 /*[out]*/ IVsEnumHiddenRegions** ppEnum;
77 HRESULT retValue;
80 STDMETHOD(AddHiddenRegions)(
81 /*[in]*/ DWORD dwUpdateFlags,
82 /*[in]*/ long cRegions,
83 /*[in,size_is(cRegions)]*/ NewHiddenRegion* rgHidReg,
84 /*[out]*/ IVsEnumHiddenRegions** ppEnum)
86 VSL_DEFINE_MOCK_METHOD(AddHiddenRegions)
88 VSL_CHECK_VALIDVALUE(dwUpdateFlags);
90 VSL_CHECK_VALIDVALUE(cRegions);
92 VSL_CHECK_VALIDVALUE_MEMCMP(rgHidReg, cRegions*sizeof(rgHidReg[0]), validValues.cRegions*sizeof(validValues.rgHidReg[0]));
94 VSL_SET_VALIDVALUE_INTERFACE(ppEnum);
96 VSL_RETURN_VALIDVALUES();
98 struct EnumHiddenRegionsValidValues
100 /*[in]*/ DWORD dwFindFlags;
101 /*[in]*/ DWORD_PTR dwCookie;
102 /*[in]*/ TextSpan* ptsRange;
103 /*[out]*/ IVsEnumHiddenRegions** ppEnum;
104 HRESULT retValue;
107 STDMETHOD(EnumHiddenRegions)(
108 /*[in]*/ DWORD dwFindFlags,
109 /*[in]*/ DWORD_PTR dwCookie,
110 /*[in]*/ TextSpan* ptsRange,
111 /*[out]*/ IVsEnumHiddenRegions** ppEnum)
113 VSL_DEFINE_MOCK_METHOD(EnumHiddenRegions)
115 VSL_CHECK_VALIDVALUE(dwFindFlags);
117 VSL_CHECK_VALIDVALUE(dwCookie);
119 VSL_CHECK_VALIDVALUE_POINTER(ptsRange);
121 VSL_SET_VALIDVALUE_INTERFACE(ppEnum);
123 VSL_RETURN_VALIDVALUES();
125 struct UnadviseClientValidValues
127 HRESULT retValue;
130 STDMETHOD(UnadviseClient)()
132 VSL_DEFINE_MOCK_METHOD_NOARGS(UnadviseClient)
134 VSL_RETURN_VALIDVALUES();
136 struct TerminateValidValues
138 HRESULT retValue;
141 STDMETHOD(Terminate)()
143 VSL_DEFINE_MOCK_METHOD_NOARGS(Terminate)
145 VSL_RETURN_VALIDVALUES();
150 } // namespace VSL
152 #pragma warning(pop)
154 #endif // IVSHIDDENTEXTSESSION_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5