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 IDATAADVISEHOLDER_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
15 #define IDATAADVISEHOLDER_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 IDataAdviseHolderNotImpl
:
33 public IDataAdviseHolder
36 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IDataAdviseHolderNotImpl
)
40 typedef IDataAdviseHolder Interface
;
43 /*[in,unique]*/ IDataObject
* /*pDataObject*/,
44 /*[in,unique]*/ FORMATETC
* /*pFetc*/,
45 /*[in]*/ DWORD
/*advf*/,
46 /*[in,unique]*/ IAdviseSink
* /*pAdvise*/,
47 /*[out]*/ DWORD
* /*pdwConnection*/)VSL_STDMETHOD_NOTIMPL
50 /*[in]*/ DWORD
/*dwConnection*/)VSL_STDMETHOD_NOTIMPL
52 STDMETHOD(EnumAdvise
)(
53 /*[out]*/ IEnumSTATDATA
** /*ppenumAdvise*/)VSL_STDMETHOD_NOTIMPL
55 STDMETHOD(SendOnDataChange
)(
56 /*[in,unique]*/ IDataObject
* /*pDataObject*/,
57 /*[in]*/ DWORD
/*dwReserved*/,
58 /*[in]*/ DWORD
/*advf*/)VSL_STDMETHOD_NOTIMPL
61 class IDataAdviseHolderMockImpl
:
62 public IDataAdviseHolder
,
66 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IDataAdviseHolderMockImpl
)
70 VSL_DEFINE_MOCK_CLASS_TYPDEFS(IDataAdviseHolderMockImpl
)
72 typedef IDataAdviseHolder Interface
;
73 struct AdviseValidValues
75 /*[in,unique]*/ IDataObject
* pDataObject
;
76 /*[in,unique]*/ FORMATETC
* pFetc
;
78 /*[in,unique]*/ IAdviseSink
* pAdvise
;
79 /*[out]*/ DWORD
* pdwConnection
;
84 /*[in,unique]*/ IDataObject
* pDataObject
,
85 /*[in,unique]*/ FORMATETC
* pFetc
,
87 /*[in,unique]*/ IAdviseSink
* pAdvise
,
88 /*[out]*/ DWORD
* pdwConnection
)
90 VSL_DEFINE_MOCK_METHOD(Advise
)
92 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(pDataObject
);
94 VSL_CHECK_VALIDVALUE_POINTER(pFetc
);
96 VSL_CHECK_VALIDVALUE(advf
);
98 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(pAdvise
);
100 VSL_SET_VALIDVALUE(pdwConnection
);
102 VSL_RETURN_VALIDVALUES();
104 struct UnadviseValidValues
106 /*[in]*/ DWORD dwConnection
;
111 /*[in]*/ DWORD dwConnection
)
113 VSL_DEFINE_MOCK_METHOD(Unadvise
)
115 VSL_CHECK_VALIDVALUE(dwConnection
);
117 VSL_RETURN_VALIDVALUES();
119 struct EnumAdviseValidValues
121 /*[out]*/ IEnumSTATDATA
** ppenumAdvise
;
125 STDMETHOD(EnumAdvise
)(
126 /*[out]*/ IEnumSTATDATA
** ppenumAdvise
)
128 VSL_DEFINE_MOCK_METHOD(EnumAdvise
)
130 VSL_SET_VALIDVALUE_INTERFACE(ppenumAdvise
);
132 VSL_RETURN_VALIDVALUES();
134 struct SendOnDataChangeValidValues
136 /*[in,unique]*/ IDataObject
* pDataObject
;
137 /*[in]*/ DWORD dwReserved
;
142 STDMETHOD(SendOnDataChange
)(
143 /*[in,unique]*/ IDataObject
* pDataObject
,
144 /*[in]*/ DWORD dwReserved
,
147 VSL_DEFINE_MOCK_METHOD(SendOnDataChange
)
149 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(pDataObject
);
151 VSL_CHECK_VALIDVALUE(dwReserved
);
153 VSL_CHECK_VALIDVALUE(advf
);
155 VSL_RETURN_VALIDVALUES();
164 #endif // IDATAADVISEHOLDER_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5