added some development tools
[windows-sources.git] / developer / VSSDK / VisualStudioIntegration / Common / Source / CPP / VSL / MockInterfaces / VSLMockIDebugEngineProgram2.h
blob1be63fbacb1743f9f5b72b844ec1902a371dcf54
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 IDEBUGENGINEPROGRAM2_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
15 #define IDEBUGENGINEPROGRAM2_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
17 #if _MSC_VER > 1000
18 #pragma once
19 #endif
21 #include "msdbg.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 IDebugEngineProgram2NotImpl :
33 public IDebugEngineProgram2
36 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IDebugEngineProgram2NotImpl)
38 public:
40 typedef IDebugEngineProgram2 Interface;
42 STDMETHOD(Stop)()VSL_STDMETHOD_NOTIMPL
44 STDMETHOD(WatchForThreadStep)(
45 /*[in]*/ IDebugProgram2* /*pOriginatingProgram*/,
46 /*[in]*/ DWORD /*dwTid*/,
47 /*[in]*/ BOOL /*fWatch*/,
48 /*[in]*/ DWORD /*dwFrame*/)VSL_STDMETHOD_NOTIMPL
50 STDMETHOD(WatchForExpressionEvaluationOnThread)(
51 /*[in]*/ IDebugProgram2* /*pOriginatingProgram*/,
52 /*[in]*/ DWORD /*dwTid*/,
53 /*[in]*/ DWORD /*dwEvalFlags*/,
54 /*[in]*/ IDebugEventCallback2* /*pExprCallback*/,
55 /*[in]*/ BOOL /*fWatch*/)VSL_STDMETHOD_NOTIMPL
58 class IDebugEngineProgram2MockImpl :
59 public IDebugEngineProgram2,
60 public MockBase
63 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IDebugEngineProgram2MockImpl)
65 public:
67 VSL_DEFINE_MOCK_CLASS_TYPDEFS(IDebugEngineProgram2MockImpl)
69 typedef IDebugEngineProgram2 Interface;
70 struct StopValidValues
72 HRESULT retValue;
75 STDMETHOD(Stop)()
77 VSL_DEFINE_MOCK_METHOD_NOARGS(Stop)
79 VSL_RETURN_VALIDVALUES();
81 struct WatchForThreadStepValidValues
83 /*[in]*/ IDebugProgram2* pOriginatingProgram;
84 /*[in]*/ DWORD dwTid;
85 /*[in]*/ BOOL fWatch;
86 /*[in]*/ DWORD dwFrame;
87 HRESULT retValue;
90 STDMETHOD(WatchForThreadStep)(
91 /*[in]*/ IDebugProgram2* pOriginatingProgram,
92 /*[in]*/ DWORD dwTid,
93 /*[in]*/ BOOL fWatch,
94 /*[in]*/ DWORD dwFrame)
96 VSL_DEFINE_MOCK_METHOD(WatchForThreadStep)
98 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(pOriginatingProgram);
100 VSL_CHECK_VALIDVALUE(dwTid);
102 VSL_CHECK_VALIDVALUE(fWatch);
104 VSL_CHECK_VALIDVALUE(dwFrame);
106 VSL_RETURN_VALIDVALUES();
108 struct WatchForExpressionEvaluationOnThreadValidValues
110 /*[in]*/ IDebugProgram2* pOriginatingProgram;
111 /*[in]*/ DWORD dwTid;
112 /*[in]*/ DWORD dwEvalFlags;
113 /*[in]*/ IDebugEventCallback2* pExprCallback;
114 /*[in]*/ BOOL fWatch;
115 HRESULT retValue;
118 STDMETHOD(WatchForExpressionEvaluationOnThread)(
119 /*[in]*/ IDebugProgram2* pOriginatingProgram,
120 /*[in]*/ DWORD dwTid,
121 /*[in]*/ DWORD dwEvalFlags,
122 /*[in]*/ IDebugEventCallback2* pExprCallback,
123 /*[in]*/ BOOL fWatch)
125 VSL_DEFINE_MOCK_METHOD(WatchForExpressionEvaluationOnThread)
127 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(pOriginatingProgram);
129 VSL_CHECK_VALIDVALUE(dwTid);
131 VSL_CHECK_VALIDVALUE(dwEvalFlags);
133 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(pExprCallback);
135 VSL_CHECK_VALIDVALUE(fWatch);
137 VSL_RETURN_VALIDVALUES();
142 } // namespace VSL
144 #pragma warning(pop)
146 #endif // IDEBUGENGINEPROGRAM2_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5