added some development tools
[windows-sources.git] / developer / VSSDK / VisualStudioIntegration / Common / Source / CPP / VSL / MockInterfaces / VSLMockIVsSolution3.h
blob7aed4c21cd148067d344db4a63a401d10e086c8e
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 IVSSOLUTION3_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
15 #define IVSSOLUTION3_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 IVsSolution3NotImpl :
33 public IVsSolution3
36 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVsSolution3NotImpl)
38 public:
40 typedef IVsSolution3 Interface;
42 STDMETHOD(CreateNewProjectViaDlgEx)(
43 /*[in]*/ LPCOLESTR /*pszDlgTitle*/,
44 /*[in]*/ LPCOLESTR /*pszTemplateDir*/,
45 /*[in]*/ LPCOLESTR /*pszExpand*/,
46 /*[in]*/ LPCOLESTR /*pszSelect*/,
47 /*[in]*/ LPCOLESTR /*pszHelpTopic*/,
48 /*[in]*/ VSCREATENEWPROJVIADLGEXFLAGS /*cnpvdeFlags*/,
49 /*[in]*/ IVsBrowseProjectLocation* /*pBrowse*/)VSL_STDMETHOD_NOTIMPL
51 STDMETHOD(GetUniqueUINameOfProject)(
52 /*[in]*/ IVsHierarchy* /*pHierarchy*/,
53 /*[out]*/ BSTR* /*pbstrUniqueName*/)VSL_STDMETHOD_NOTIMPL
55 STDMETHOD(CheckForAndSaveDeferredSaveSolution)(
56 /*[in]*/ BOOL /*fCloseSolution*/,
57 /*[in]*/ LPCOLESTR /*pszMessage*/,
58 /*[in]*/ LPCOLESTR /*pszTitle*/,
59 /*[in]*/ VSSAVEDEFERREDSAVEFLAGS /*grfFlags*/)VSL_STDMETHOD_NOTIMPL
61 STDMETHOD(UpdateProjectFileLocationForUpgrade)(
62 /*[in]*/ LPCOLESTR /*pszCurrentLocation*/,
63 /*[in]*/ LPCOLESTR /*pszUpgradedLocation*/)VSL_STDMETHOD_NOTIMPL
66 class IVsSolution3MockImpl :
67 public IVsSolution3,
68 public MockBase
71 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVsSolution3MockImpl)
73 public:
75 VSL_DEFINE_MOCK_CLASS_TYPDEFS(IVsSolution3MockImpl)
77 typedef IVsSolution3 Interface;
78 struct CreateNewProjectViaDlgExValidValues
80 /*[in]*/ LPCOLESTR pszDlgTitle;
81 /*[in]*/ LPCOLESTR pszTemplateDir;
82 /*[in]*/ LPCOLESTR pszExpand;
83 /*[in]*/ LPCOLESTR pszSelect;
84 /*[in]*/ LPCOLESTR pszHelpTopic;
85 /*[in]*/ VSCREATENEWPROJVIADLGEXFLAGS cnpvdeFlags;
86 /*[in]*/ IVsBrowseProjectLocation* pBrowse;
87 HRESULT retValue;
90 STDMETHOD(CreateNewProjectViaDlgEx)(
91 /*[in]*/ LPCOLESTR pszDlgTitle,
92 /*[in]*/ LPCOLESTR pszTemplateDir,
93 /*[in]*/ LPCOLESTR pszExpand,
94 /*[in]*/ LPCOLESTR pszSelect,
95 /*[in]*/ LPCOLESTR pszHelpTopic,
96 /*[in]*/ VSCREATENEWPROJVIADLGEXFLAGS cnpvdeFlags,
97 /*[in]*/ IVsBrowseProjectLocation* pBrowse)
99 VSL_DEFINE_MOCK_METHOD(CreateNewProjectViaDlgEx)
101 VSL_CHECK_VALIDVALUE_STRINGW(pszDlgTitle);
103 VSL_CHECK_VALIDVALUE_STRINGW(pszTemplateDir);
105 VSL_CHECK_VALIDVALUE_STRINGW(pszExpand);
107 VSL_CHECK_VALIDVALUE_STRINGW(pszSelect);
109 VSL_CHECK_VALIDVALUE_STRINGW(pszHelpTopic);
111 VSL_CHECK_VALIDVALUE(cnpvdeFlags);
113 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(pBrowse);
115 VSL_RETURN_VALIDVALUES();
117 struct GetUniqueUINameOfProjectValidValues
119 /*[in]*/ IVsHierarchy* pHierarchy;
120 /*[out]*/ BSTR* pbstrUniqueName;
121 HRESULT retValue;
124 STDMETHOD(GetUniqueUINameOfProject)(
125 /*[in]*/ IVsHierarchy* pHierarchy,
126 /*[out]*/ BSTR* pbstrUniqueName)
128 VSL_DEFINE_MOCK_METHOD(GetUniqueUINameOfProject)
130 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(pHierarchy);
132 VSL_SET_VALIDVALUE_BSTR(pbstrUniqueName);
134 VSL_RETURN_VALIDVALUES();
136 struct CheckForAndSaveDeferredSaveSolutionValidValues
138 /*[in]*/ BOOL fCloseSolution;
139 /*[in]*/ LPCOLESTR pszMessage;
140 /*[in]*/ LPCOLESTR pszTitle;
141 /*[in]*/ VSSAVEDEFERREDSAVEFLAGS grfFlags;
142 HRESULT retValue;
145 STDMETHOD(CheckForAndSaveDeferredSaveSolution)(
146 /*[in]*/ BOOL fCloseSolution,
147 /*[in]*/ LPCOLESTR pszMessage,
148 /*[in]*/ LPCOLESTR pszTitle,
149 /*[in]*/ VSSAVEDEFERREDSAVEFLAGS grfFlags)
151 VSL_DEFINE_MOCK_METHOD(CheckForAndSaveDeferredSaveSolution)
153 VSL_CHECK_VALIDVALUE(fCloseSolution);
155 VSL_CHECK_VALIDVALUE_STRINGW(pszMessage);
157 VSL_CHECK_VALIDVALUE_STRINGW(pszTitle);
159 VSL_CHECK_VALIDVALUE(grfFlags);
161 VSL_RETURN_VALIDVALUES();
163 struct UpdateProjectFileLocationForUpgradeValidValues
165 /*[in]*/ LPCOLESTR pszCurrentLocation;
166 /*[in]*/ LPCOLESTR pszUpgradedLocation;
167 HRESULT retValue;
170 STDMETHOD(UpdateProjectFileLocationForUpgrade)(
171 /*[in]*/ LPCOLESTR pszCurrentLocation,
172 /*[in]*/ LPCOLESTR pszUpgradedLocation)
174 VSL_DEFINE_MOCK_METHOD(UpdateProjectFileLocationForUpgrade)
176 VSL_CHECK_VALIDVALUE_STRINGW(pszCurrentLocation);
178 VSL_CHECK_VALIDVALUE_STRINGW(pszUpgradedLocation);
180 VSL_RETURN_VALIDVALUES();
185 } // namespace VSL
187 #pragma warning(pop)
189 #endif // IVSSOLUTION3_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5