added some development tools
[windows-sources.git] / developer / VSSDK / VisualStudioIntegration / Common / Source / CPP / VSL / MockInterfaces / VSLMockIVsPropertyFileOut.h
blob5d82c02872bcba697530d3f6bf0e3db5c63f2c3d
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 IVSPROPERTYFILEOUT_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
15 #define IVSPROPERTYFILEOUT_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 IVsPropertyFileOutNotImpl :
33 public IVsPropertyFileOut
36 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVsPropertyFileOutNotImpl)
38 public:
40 typedef IVsPropertyFileOut Interface;
42 STDMETHOD(Close)()VSL_STDMETHOD_NOTIMPL
44 STDMETHOD(Write)(
45 /*[in]*/ LPCOLESTR /*szPropertyName*/,
46 /*[in]*/ VARIANT /*varValue*/,
47 /*[in,optional]*/ LPCOLESTR /*szLineComment*/)VSL_STDMETHOD_NOTIMPL
49 STDMETHOD(WriteSzAsBSTR)(
50 /*[in]*/ LPCOLESTR /*szPropertyName*/,
51 /*[in]*/ LPCOLESTR /*szValue*/,
52 /*[in,optional]*/ LPCOLESTR /*szLineComment*/)VSL_STDMETHOD_NOTIMPL
54 STDMETHOD(BeginPropertySection)(
55 /*[in]*/ LPCOLESTR /*szName*/,
56 /*[in]*/ LPCOLESTR /*szLineComment*/,
57 /*[out]*/ IVsPropertyStreamOut** /*ppIVsPropertyStreamOut*/,
58 /*[out]*/ VSCOOKIE* /*pdwCookie*/)VSL_STDMETHOD_NOTIMPL
60 STDMETHOD(EndPropertySection)(
61 /*[in]*/ VSCOOKIE /*dwCookie*/)VSL_STDMETHOD_NOTIMPL
63 STDMETHOD(Flush)()VSL_STDMETHOD_NOTIMPL
66 class IVsPropertyFileOutMockImpl :
67 public IVsPropertyFileOut,
68 public MockBase
71 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVsPropertyFileOutMockImpl)
73 public:
75 VSL_DEFINE_MOCK_CLASS_TYPDEFS(IVsPropertyFileOutMockImpl)
77 typedef IVsPropertyFileOut Interface;
78 struct CloseValidValues
80 HRESULT retValue;
83 STDMETHOD(Close)()
85 VSL_DEFINE_MOCK_METHOD_NOARGS(Close)
87 VSL_RETURN_VALIDVALUES();
89 struct WriteValidValues
91 /*[in]*/ LPCOLESTR szPropertyName;
92 /*[in]*/ VARIANT varValue;
93 /*[in,optional]*/ LPCOLESTR szLineComment;
94 HRESULT retValue;
97 STDMETHOD(Write)(
98 /*[in]*/ LPCOLESTR szPropertyName,
99 /*[in]*/ VARIANT varValue,
100 /*[in,optional]*/ LPCOLESTR szLineComment)
102 VSL_DEFINE_MOCK_METHOD(Write)
104 VSL_CHECK_VALIDVALUE_STRINGW(szPropertyName);
106 VSL_CHECK_VALIDVALUE(varValue);
108 VSL_CHECK_VALIDVALUE_STRINGW(szLineComment);
110 VSL_RETURN_VALIDVALUES();
112 struct WriteSzAsBSTRValidValues
114 /*[in]*/ LPCOLESTR szPropertyName;
115 /*[in]*/ LPCOLESTR szValue;
116 /*[in,optional]*/ LPCOLESTR szLineComment;
117 HRESULT retValue;
120 STDMETHOD(WriteSzAsBSTR)(
121 /*[in]*/ LPCOLESTR szPropertyName,
122 /*[in]*/ LPCOLESTR szValue,
123 /*[in,optional]*/ LPCOLESTR szLineComment)
125 VSL_DEFINE_MOCK_METHOD(WriteSzAsBSTR)
127 VSL_CHECK_VALIDVALUE_STRINGW(szPropertyName);
129 VSL_CHECK_VALIDVALUE_STRINGW(szValue);
131 VSL_CHECK_VALIDVALUE_STRINGW(szLineComment);
133 VSL_RETURN_VALIDVALUES();
135 struct BeginPropertySectionValidValues
137 /*[in]*/ LPCOLESTR szName;
138 /*[in]*/ LPCOLESTR szLineComment;
139 /*[out]*/ IVsPropertyStreamOut** ppIVsPropertyStreamOut;
140 /*[out]*/ VSCOOKIE* pdwCookie;
141 HRESULT retValue;
144 STDMETHOD(BeginPropertySection)(
145 /*[in]*/ LPCOLESTR szName,
146 /*[in]*/ LPCOLESTR szLineComment,
147 /*[out]*/ IVsPropertyStreamOut** ppIVsPropertyStreamOut,
148 /*[out]*/ VSCOOKIE* pdwCookie)
150 VSL_DEFINE_MOCK_METHOD(BeginPropertySection)
152 VSL_CHECK_VALIDVALUE_STRINGW(szName);
154 VSL_CHECK_VALIDVALUE_STRINGW(szLineComment);
156 VSL_SET_VALIDVALUE_INTERFACE(ppIVsPropertyStreamOut);
158 VSL_SET_VALIDVALUE(pdwCookie);
160 VSL_RETURN_VALIDVALUES();
162 struct EndPropertySectionValidValues
164 /*[in]*/ VSCOOKIE dwCookie;
165 HRESULT retValue;
168 STDMETHOD(EndPropertySection)(
169 /*[in]*/ VSCOOKIE dwCookie)
171 VSL_DEFINE_MOCK_METHOD(EndPropertySection)
173 VSL_CHECK_VALIDVALUE(dwCookie);
175 VSL_RETURN_VALIDVALUES();
177 struct FlushValidValues
179 HRESULT retValue;
182 STDMETHOD(Flush)()
184 VSL_DEFINE_MOCK_METHOD_NOARGS(Flush)
186 VSL_RETURN_VALIDVALUES();
191 } // namespace VSL
193 #pragma warning(pop)
195 #endif // IVSPROPERTYFILEOUT_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5