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 IOLEINPLACECOMPONENT_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
15 #define IOLEINPLACECOMPONENT_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 IOleInPlaceComponentNotImpl
:
33 public IOleInPlaceComponent
36 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IOleInPlaceComponentNotImpl
)
40 typedef IOleInPlaceComponent Interface
;
42 STDMETHOD(UseComponentUIManager
)(
43 /*[in]*/ DWORD
/*dwCompRole*/,
44 /*[out]*/ DWORD
* /*pgrfCompFlags*/,
45 /*[in]*/ IOleComponentUIManager
* /*pCompUIMgr*/,
46 /*[in]*/ IOleInPlaceComponentSite
* /*pIPCompSite*/)VSL_STDMETHOD_NOTIMPL
48 STDMETHOD(OnWindowActivate
)(
49 /*[in]*/ DWORD
/*dwWindowType*/,
50 /*[in]*/ BOOL
/*fActivate*/)VSL_STDMETHOD_NOTIMPL
52 virtual void STDMETHODCALLTYPE
OnEnterState(
53 /*[in]*/ DWORD
/*dwStateId*/,
54 /*[in]*/ BOOL
/*fEnter*/){ return ; }
56 virtual BOOL STDMETHODCALLTYPE
FDoIdle(
57 /*[in]*/ DWORD
/*grfidlef*/){ return BOOL(); }
59 virtual BOOL STDMETHODCALLTYPE
FQueryClose(
60 /*[in]*/ BOOL
/*fPromptUser*/){ return BOOL(); }
62 STDMETHOD(TranslateCntrAccelerator
)(
63 /*[in]*/ MSG
* /*pMsg*/)VSL_STDMETHOD_NOTIMPL
65 STDMETHOD(GetCntrContextMenu
)(
66 /*[in]*/ DWORD
/*dwRoleActiveObj*/,
67 /*[in]*/ REFCLSID
/*rclsidActiveObj*/,
68 /*[in]*/ LONG
/*nMenuIdActiveObj*/,
69 /*[in]*/ REFPOINTS
/*pos*/,
70 /*[out]*/ CLSID
* /*pclsidCntr*/,
71 /*[out]*/ OLEMENUID
* /*menuid*/,
72 /*[out]*/ DWORD
* /*pgrf*/)VSL_STDMETHOD_NOTIMPL
74 STDMETHOD(GetCntrHelp
)(
75 /*[in,out]*/ DWORD
* /*pdwRole*/,
76 /*[in,out]*/ CLSID
* /*pclsid*/,
77 /*[in]*/ POINT
/*posMouse*/,
78 /*[in]*/ DWORD
/*dwHelpCmd*/,
79 /*[in]*/ LPOLESTR
/*pszHelpFileIn*/,
80 /*[out]*/ LPOLESTR
* /*ppszHelpFileOut*/,
81 /*[in]*/ DWORD
/*dwDataIn*/,
82 /*[out]*/ DWORD
* /*pdwDataOut*/)VSL_STDMETHOD_NOTIMPL
84 STDMETHOD(GetCntrMessage
)(
85 /*[in,out]*/ DWORD
* /*pdwRole*/,
86 /*[in,out]*/ CLSID
* /*pclsid*/,
87 /*[in]*/ LPOLESTR
/*pszTitleIn*/,
88 /*[in]*/ LPOLESTR
/*pszTextIn*/,
89 /*[in]*/ LPOLESTR
/*pszHelpFileIn*/,
90 /*[out]*/ LPOLESTR
* /*ppszTitleOut*/,
91 /*[out]*/ LPOLESTR
* /*ppszTextOut*/,
92 /*[out]*/ LPOLESTR
* /*ppszHelpFileOut*/,
93 /*[in,out]*/ DWORD
* /*pdwHelpContextID*/,
94 /*[in,out]*/ OLEMSGBUTTON
* /*pmsgbtn*/,
95 /*[in,out]*/ OLEMSGDEFBUTTON
* /*pmsgdefbtn*/,
96 /*[in,out]*/ OLEMSGICON
* /*pmsgicon*/,
97 /*[in,out]*/ BOOL
* /*pfSysAlert*/)VSL_STDMETHOD_NOTIMPL
100 class IOleInPlaceComponentMockImpl
:
101 public IOleInPlaceComponent
,
105 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IOleInPlaceComponentMockImpl
)
109 VSL_DEFINE_MOCK_CLASS_TYPDEFS(IOleInPlaceComponentMockImpl
)
111 typedef IOleInPlaceComponent Interface
;
112 struct UseComponentUIManagerValidValues
114 /*[in]*/ DWORD dwCompRole
;
115 /*[out]*/ DWORD
* pgrfCompFlags
;
116 /*[in]*/ IOleComponentUIManager
* pCompUIMgr
;
117 /*[in]*/ IOleInPlaceComponentSite
* pIPCompSite
;
121 STDMETHOD(UseComponentUIManager
)(
122 /*[in]*/ DWORD dwCompRole
,
123 /*[out]*/ DWORD
* pgrfCompFlags
,
124 /*[in]*/ IOleComponentUIManager
* pCompUIMgr
,
125 /*[in]*/ IOleInPlaceComponentSite
* pIPCompSite
)
127 VSL_DEFINE_MOCK_METHOD(UseComponentUIManager
)
129 VSL_CHECK_VALIDVALUE(dwCompRole
);
131 VSL_SET_VALIDVALUE(pgrfCompFlags
);
133 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(pCompUIMgr
);
135 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(pIPCompSite
);
137 VSL_RETURN_VALIDVALUES();
139 struct OnWindowActivateValidValues
141 /*[in]*/ DWORD dwWindowType
;
142 /*[in]*/ BOOL fActivate
;
146 STDMETHOD(OnWindowActivate
)(
147 /*[in]*/ DWORD dwWindowType
,
148 /*[in]*/ BOOL fActivate
)
150 VSL_DEFINE_MOCK_METHOD(OnWindowActivate
)
152 VSL_CHECK_VALIDVALUE(dwWindowType
);
154 VSL_CHECK_VALIDVALUE(fActivate
);
156 VSL_RETURN_VALIDVALUES();
158 struct OnEnterStateValidValues
160 /*[in]*/ DWORD dwStateId
;
161 /*[in]*/ BOOL fEnter
;
164 virtual void _stdcall
OnEnterState(
165 /*[in]*/ DWORD dwStateId
,
166 /*[in]*/ BOOL fEnter
)
168 VSL_DEFINE_MOCK_METHOD(OnEnterState
)
170 VSL_CHECK_VALIDVALUE(dwStateId
);
172 VSL_CHECK_VALIDVALUE(fEnter
);
175 struct FDoIdleValidValues
177 /*[in]*/ DWORD grfidlef
;
181 virtual BOOL _stdcall
FDoIdle(
182 /*[in]*/ DWORD grfidlef
)
184 VSL_DEFINE_MOCK_METHOD(FDoIdle
)
186 VSL_CHECK_VALIDVALUE(grfidlef
);
188 VSL_RETURN_VALIDVALUES();
190 struct FQueryCloseValidValues
192 /*[in]*/ BOOL fPromptUser
;
196 virtual BOOL _stdcall
FQueryClose(
197 /*[in]*/ BOOL fPromptUser
)
199 VSL_DEFINE_MOCK_METHOD(FQueryClose
)
201 VSL_CHECK_VALIDVALUE(fPromptUser
);
203 VSL_RETURN_VALIDVALUES();
205 struct TranslateCntrAcceleratorValidValues
211 STDMETHOD(TranslateCntrAccelerator
)(
214 VSL_DEFINE_MOCK_METHOD(TranslateCntrAccelerator
)
216 VSL_CHECK_VALIDVALUE_POINTER(pMsg
);
218 VSL_RETURN_VALIDVALUES();
220 struct GetCntrContextMenuValidValues
222 /*[in]*/ DWORD dwRoleActiveObj
;
223 /*[in]*/ REFCLSID rclsidActiveObj
;
224 /*[in]*/ LONG nMenuIdActiveObj
;
225 /*[in]*/ REFPOINTS pos
;
226 /*[out]*/ CLSID
* pclsidCntr
;
227 /*[out]*/ OLEMENUID
* menuid
;
228 /*[out]*/ DWORD
* pgrf
;
232 STDMETHOD(GetCntrContextMenu
)(
233 /*[in]*/ DWORD dwRoleActiveObj
,
234 /*[in]*/ REFCLSID rclsidActiveObj
,
235 /*[in]*/ LONG nMenuIdActiveObj
,
236 /*[in]*/ REFPOINTS pos
,
237 /*[out]*/ CLSID
* pclsidCntr
,
238 /*[out]*/ OLEMENUID
* menuid
,
239 /*[out]*/ DWORD
* pgrf
)
241 VSL_DEFINE_MOCK_METHOD(GetCntrContextMenu
)
243 VSL_CHECK_VALIDVALUE(dwRoleActiveObj
);
245 VSL_CHECK_VALIDVALUE(rclsidActiveObj
);
247 VSL_CHECK_VALIDVALUE(nMenuIdActiveObj
);
249 VSL_CHECK_VALIDVALUE(pos
);
251 VSL_SET_VALIDVALUE(pclsidCntr
);
253 VSL_SET_VALIDVALUE(menuid
);
255 VSL_SET_VALIDVALUE(pgrf
);
257 VSL_RETURN_VALIDVALUES();
259 struct GetCntrHelpValidValues
261 /*[in,out]*/ DWORD
* pdwRole
;
262 /*[in,out]*/ CLSID
* pclsid
;
263 /*[in]*/ POINT posMouse
;
264 /*[in]*/ DWORD dwHelpCmd
;
265 /*[in]*/ LPOLESTR pszHelpFileIn
;
266 /*[out]*/ LPOLESTR
* ppszHelpFileOut
;
267 /*[in]*/ DWORD dwDataIn
;
268 /*[out]*/ DWORD
* pdwDataOut
;
272 STDMETHOD(GetCntrHelp
)(
273 /*[in,out]*/ DWORD
* pdwRole
,
274 /*[in,out]*/ CLSID
* pclsid
,
275 /*[in]*/ POINT posMouse
,
276 /*[in]*/ DWORD dwHelpCmd
,
277 /*[in]*/ LPOLESTR pszHelpFileIn
,
278 /*[out]*/ LPOLESTR
* ppszHelpFileOut
,
279 /*[in]*/ DWORD dwDataIn
,
280 /*[out]*/ DWORD
* pdwDataOut
)
282 VSL_DEFINE_MOCK_METHOD(GetCntrHelp
)
284 VSL_SET_VALIDVALUE(pdwRole
);
286 VSL_SET_VALIDVALUE(pclsid
);
288 VSL_CHECK_VALIDVALUE(posMouse
);
290 VSL_CHECK_VALIDVALUE(dwHelpCmd
);
292 VSL_CHECK_VALIDVALUE_STRINGW(pszHelpFileIn
);
294 VSL_SET_VALIDVALUE(ppszHelpFileOut
);
296 VSL_CHECK_VALIDVALUE(dwDataIn
);
298 VSL_SET_VALIDVALUE(pdwDataOut
);
300 VSL_RETURN_VALIDVALUES();
302 struct GetCntrMessageValidValues
304 /*[in,out]*/ DWORD
* pdwRole
;
305 /*[in,out]*/ CLSID
* pclsid
;
306 /*[in]*/ LPOLESTR pszTitleIn
;
307 /*[in]*/ LPOLESTR pszTextIn
;
308 /*[in]*/ LPOLESTR pszHelpFileIn
;
309 /*[out]*/ LPOLESTR
* ppszTitleOut
;
310 /*[out]*/ LPOLESTR
* ppszTextOut
;
311 /*[out]*/ LPOLESTR
* ppszHelpFileOut
;
312 /*[in,out]*/ DWORD
* pdwHelpContextID
;
313 /*[in,out]*/ OLEMSGBUTTON
* pmsgbtn
;
314 /*[in,out]*/ OLEMSGDEFBUTTON
* pmsgdefbtn
;
315 /*[in,out]*/ OLEMSGICON
* pmsgicon
;
316 /*[in,out]*/ BOOL
* pfSysAlert
;
320 STDMETHOD(GetCntrMessage
)(
321 /*[in,out]*/ DWORD
* pdwRole
,
322 /*[in,out]*/ CLSID
* pclsid
,
323 /*[in]*/ LPOLESTR pszTitleIn
,
324 /*[in]*/ LPOLESTR pszTextIn
,
325 /*[in]*/ LPOLESTR pszHelpFileIn
,
326 /*[out]*/ LPOLESTR
* ppszTitleOut
,
327 /*[out]*/ LPOLESTR
* ppszTextOut
,
328 /*[out]*/ LPOLESTR
* ppszHelpFileOut
,
329 /*[in,out]*/ DWORD
* pdwHelpContextID
,
330 /*[in,out]*/ OLEMSGBUTTON
* pmsgbtn
,
331 /*[in,out]*/ OLEMSGDEFBUTTON
* pmsgdefbtn
,
332 /*[in,out]*/ OLEMSGICON
* pmsgicon
,
333 /*[in,out]*/ BOOL
* pfSysAlert
)
335 VSL_DEFINE_MOCK_METHOD(GetCntrMessage
)
337 VSL_SET_VALIDVALUE(pdwRole
);
339 VSL_SET_VALIDVALUE(pclsid
);
341 VSL_CHECK_VALIDVALUE_STRINGW(pszTitleIn
);
343 VSL_CHECK_VALIDVALUE_STRINGW(pszTextIn
);
345 VSL_CHECK_VALIDVALUE_STRINGW(pszHelpFileIn
);
347 VSL_SET_VALIDVALUE(ppszTitleOut
);
349 VSL_SET_VALIDVALUE(ppszTextOut
);
351 VSL_SET_VALIDVALUE(ppszHelpFileOut
);
353 VSL_SET_VALIDVALUE(pdwHelpContextID
);
355 VSL_SET_VALIDVALUE(pmsgbtn
);
357 VSL_SET_VALIDVALUE(pmsgdefbtn
);
359 VSL_SET_VALIDVALUE(pmsgicon
);
361 VSL_SET_VALIDVALUE(pfSysAlert
);
363 VSL_RETURN_VALIDVALUES();
372 #endif // IOLEINPLACECOMPONENT_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5