added some development tools
[windows-sources.git] / developer / VSSDK / VisualStudioIntegration / Common / Source / CPP / VSL / MockInterfaces / VSLMockIVsLaunchPad2.h
blob6edc7b1ad27c4df8e7354ac1b98fa11a77d8e4ee
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 IVSLAUNCHPAD2_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
15 #define IVSLAUNCHPAD2_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 IVsLaunchPad2NotImpl :
33 public IVsLaunchPad2
36 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVsLaunchPad2NotImpl)
38 public:
40 typedef IVsLaunchPad2 Interface;
42 STDMETHOD(ExecCommandEx)(
43 /*[in]*/ LPCOLESTR /*pszApplicationName*/,
44 /*[in]*/ LPCOLESTR /*pszCommandLine*/,
45 /*[in]*/ LPCOLESTR /*pszWorkingDir*/,
46 /*[in]*/ LAUNCHPAD_FLAGS2 /*lpf*/,
47 /*[in]*/ IVsOutputWindowPane* /*pOutputWindowPane*/,
48 /*[in]*/ ULONG /*nTaskItemCategory*/,
49 /*[in]*/ ULONG /*nTaskItemBitmap*/,
50 /*[in]*/ LPCOLESTR /*pszTaskListSubcategory*/,
51 /*[in]*/ IVsLaunchPadEvents* /*pVsLaunchPadEvents*/,
52 /*[in]*/ IVsLaunchPadOutputParser* /*pOutputParser*/,
53 /*[out,optional]*/ DWORD* /*pdwProcessExitCode*/,
54 /*[out,optional]*/ BSTR* /*pbstrOutput*/)VSL_STDMETHOD_NOTIMPL
57 class IVsLaunchPad2MockImpl :
58 public IVsLaunchPad2,
59 public MockBase
62 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVsLaunchPad2MockImpl)
64 public:
66 VSL_DEFINE_MOCK_CLASS_TYPDEFS(IVsLaunchPad2MockImpl)
68 typedef IVsLaunchPad2 Interface;
69 struct ExecCommandExValidValues
71 /*[in]*/ LPCOLESTR pszApplicationName;
72 /*[in]*/ LPCOLESTR pszCommandLine;
73 /*[in]*/ LPCOLESTR pszWorkingDir;
74 /*[in]*/ LAUNCHPAD_FLAGS2 lpf;
75 /*[in]*/ IVsOutputWindowPane* pOutputWindowPane;
76 /*[in]*/ ULONG nTaskItemCategory;
77 /*[in]*/ ULONG nTaskItemBitmap;
78 /*[in]*/ LPCOLESTR pszTaskListSubcategory;
79 /*[in]*/ IVsLaunchPadEvents* pVsLaunchPadEvents;
80 /*[in]*/ IVsLaunchPadOutputParser* pOutputParser;
81 /*[out,optional]*/ DWORD* pdwProcessExitCode;
82 /*[out,optional]*/ BSTR* pbstrOutput;
83 HRESULT retValue;
86 STDMETHOD(ExecCommandEx)(
87 /*[in]*/ LPCOLESTR pszApplicationName,
88 /*[in]*/ LPCOLESTR pszCommandLine,
89 /*[in]*/ LPCOLESTR pszWorkingDir,
90 /*[in]*/ LAUNCHPAD_FLAGS2 lpf,
91 /*[in]*/ IVsOutputWindowPane* pOutputWindowPane,
92 /*[in]*/ ULONG nTaskItemCategory,
93 /*[in]*/ ULONG nTaskItemBitmap,
94 /*[in]*/ LPCOLESTR pszTaskListSubcategory,
95 /*[in]*/ IVsLaunchPadEvents* pVsLaunchPadEvents,
96 /*[in]*/ IVsLaunchPadOutputParser* pOutputParser,
97 /*[out,optional]*/ DWORD* pdwProcessExitCode,
98 /*[out,optional]*/ BSTR* pbstrOutput)
100 VSL_DEFINE_MOCK_METHOD(ExecCommandEx)
102 VSL_CHECK_VALIDVALUE_STRINGW(pszApplicationName);
104 VSL_CHECK_VALIDVALUE_STRINGW(pszCommandLine);
106 VSL_CHECK_VALIDVALUE_STRINGW(pszWorkingDir);
108 VSL_CHECK_VALIDVALUE(lpf);
110 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(pOutputWindowPane);
112 VSL_CHECK_VALIDVALUE(nTaskItemCategory);
114 VSL_CHECK_VALIDVALUE(nTaskItemBitmap);
116 VSL_CHECK_VALIDVALUE_STRINGW(pszTaskListSubcategory);
118 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(pVsLaunchPadEvents);
120 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(pOutputParser);
122 VSL_SET_VALIDVALUE(pdwProcessExitCode);
124 VSL_SET_VALIDVALUE_BSTR(pbstrOutput);
126 VSL_RETURN_VALIDVALUES();
131 } // namespace VSL
133 #pragma warning(pop)
135 #endif // IVSLAUNCHPAD2_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5