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
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 IVsPropertyFileOutNotImpl
:
33 public IVsPropertyFileOut
36 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVsPropertyFileOutNotImpl
)
40 typedef IVsPropertyFileOut Interface
;
42 STDMETHOD(Close
)()VSL_STDMETHOD_NOTIMPL
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
,
71 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVsPropertyFileOutMockImpl
)
75 VSL_DEFINE_MOCK_CLASS_TYPDEFS(IVsPropertyFileOutMockImpl
)
77 typedef IVsPropertyFileOut Interface
;
78 struct CloseValidValues
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
;
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
;
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
;
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
;
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
184 VSL_DEFINE_MOCK_METHOD_NOARGS(Flush
)
186 VSL_RETURN_VALIDVALUES();
195 #endif // IVSPROPERTYFILEOUT_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5