added some development tools
[windows-sources.git] / developer / VSSDK / VisualStudioIntegration / Common / Source / CPP / VSL / MockInterfaces / VSLMockIDataAdviseHolder.h
blob4cae520aa9c71c3a4b1be8d79cb9e793a6873b2f
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
17 #if _MSC_VER > 1000
18 #pragma once
19 #endif
21 #include "ObjIdl.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 IDataAdviseHolderNotImpl :
33 public IDataAdviseHolder
36 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IDataAdviseHolderNotImpl)
38 public:
40 typedef IDataAdviseHolder Interface;
42 STDMETHOD(Advise)(
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
49 STDMETHOD(Unadvise)(
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,
63 public MockBase
66 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IDataAdviseHolderMockImpl)
68 public:
70 VSL_DEFINE_MOCK_CLASS_TYPDEFS(IDataAdviseHolderMockImpl)
72 typedef IDataAdviseHolder Interface;
73 struct AdviseValidValues
75 /*[in,unique]*/ IDataObject* pDataObject;
76 /*[in,unique]*/ FORMATETC* pFetc;
77 /*[in]*/ DWORD advf;
78 /*[in,unique]*/ IAdviseSink* pAdvise;
79 /*[out]*/ DWORD* pdwConnection;
80 HRESULT retValue;
83 STDMETHOD(Advise)(
84 /*[in,unique]*/ IDataObject* pDataObject,
85 /*[in,unique]*/ FORMATETC* pFetc,
86 /*[in]*/ DWORD advf,
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;
107 HRESULT retValue;
110 STDMETHOD(Unadvise)(
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;
122 HRESULT retValue;
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;
138 /*[in]*/ DWORD advf;
139 HRESULT retValue;
142 STDMETHOD(SendOnDataChange)(
143 /*[in,unique]*/ IDataObject* pDataObject,
144 /*[in]*/ DWORD dwReserved,
145 /*[in]*/ DWORD advf)
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();
160 } // namespace VSL
162 #pragma warning(pop)
164 #endif // IDATAADVISEHOLDER_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5