added some development tools
[windows-sources.git] / developer / VSSDK / VisualStudioIntegration / Common / Source / CPP / VSL / MockInterfaces / VSLMockIVsThreadPool.h
blob63642cddb69fd6c0633460f1d02f030baf943f18
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 IVSTHREADPOOL_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
15 #define IVSTHREADPOOL_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
17 #if _MSC_VER > 1000
18 #pragma once
19 #endif
21 #include "vsshell80.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 IVsThreadPoolNotImpl :
33 public IVsThreadPool
36 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVsThreadPoolNotImpl)
38 public:
40 typedef IVsThreadPool Interface;
42 STDMETHOD(ScheduleTask)(
43 /*[in]*/ DWORD_PTR /*pTaskProc*/,
44 /*[in]*/ DWORD_PTR /*pvParam*/,
45 /*[in]*/ VSBACKGROUNDTASKPRIORITY /*priority*/)VSL_STDMETHOD_NOTIMPL
47 STDMETHOD(ScheduleWaitableTask)(
48 /*[in]*/ DWORD_PTR /*hWait*/,
49 /*[in]*/ DWORD_PTR /*pTaskProc*/,
50 /*[in]*/ DWORD_PTR /*pvParam*/)VSL_STDMETHOD_NOTIMPL
52 STDMETHOD(UnscheduleWaitableTask)(
53 /*[in]*/ DWORD_PTR /*hWait*/)VSL_STDMETHOD_NOTIMPL
56 class IVsThreadPoolMockImpl :
57 public IVsThreadPool,
58 public MockBase
61 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVsThreadPoolMockImpl)
63 public:
65 VSL_DEFINE_MOCK_CLASS_TYPDEFS(IVsThreadPoolMockImpl)
67 typedef IVsThreadPool Interface;
68 struct ScheduleTaskValidValues
70 /*[in]*/ DWORD_PTR pTaskProc;
71 /*[in]*/ DWORD_PTR pvParam;
72 /*[in]*/ VSBACKGROUNDTASKPRIORITY priority;
73 HRESULT retValue;
76 STDMETHOD(ScheduleTask)(
77 /*[in]*/ DWORD_PTR pTaskProc,
78 /*[in]*/ DWORD_PTR pvParam,
79 /*[in]*/ VSBACKGROUNDTASKPRIORITY priority)
81 VSL_DEFINE_MOCK_METHOD(ScheduleTask)
83 VSL_CHECK_VALIDVALUE(pTaskProc);
85 VSL_CHECK_VALIDVALUE(pvParam);
87 VSL_CHECK_VALIDVALUE(priority);
89 VSL_RETURN_VALIDVALUES();
91 struct ScheduleWaitableTaskValidValues
93 /*[in]*/ DWORD_PTR hWait;
94 /*[in]*/ DWORD_PTR pTaskProc;
95 /*[in]*/ DWORD_PTR pvParam;
96 HRESULT retValue;
99 STDMETHOD(ScheduleWaitableTask)(
100 /*[in]*/ DWORD_PTR hWait,
101 /*[in]*/ DWORD_PTR pTaskProc,
102 /*[in]*/ DWORD_PTR pvParam)
104 VSL_DEFINE_MOCK_METHOD(ScheduleWaitableTask)
106 VSL_CHECK_VALIDVALUE(hWait);
108 VSL_CHECK_VALIDVALUE(pTaskProc);
110 VSL_CHECK_VALIDVALUE(pvParam);
112 VSL_RETURN_VALIDVALUES();
114 struct UnscheduleWaitableTaskValidValues
116 /*[in]*/ DWORD_PTR hWait;
117 HRESULT retValue;
120 STDMETHOD(UnscheduleWaitableTask)(
121 /*[in]*/ DWORD_PTR hWait)
123 VSL_DEFINE_MOCK_METHOD(UnscheduleWaitableTask)
125 VSL_CHECK_VALIDVALUE(hWait);
127 VSL_RETURN_VALIDVALUES();
132 } // namespace VSL
134 #pragma warning(pop)
136 #endif // IVSTHREADPOOL_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5