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 IVSTRACKPROJECTDOCUMENTS3_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
15 #define IVSTRACKPROJECTDOCUMENTS3_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
21 #include "IVsTrackProjectDocuments80.h"
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 IVsTrackProjectDocuments3NotImpl
:
33 public IVsTrackProjectDocuments3
36 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVsTrackProjectDocuments3NotImpl
)
40 typedef IVsTrackProjectDocuments3 Interface
;
42 STDMETHOD(BeginQueryBatch
)()VSL_STDMETHOD_NOTIMPL
44 STDMETHOD(EndQueryBatch
)(
45 /*[out,retval]*/ BOOL
* /*pfActionOK*/)VSL_STDMETHOD_NOTIMPL
47 STDMETHOD(CancelQueryBatch
)()VSL_STDMETHOD_NOTIMPL
49 STDMETHOD(OnQueryAddFilesEx
)(
50 /*[in]*/ IVsProject
* /*pProject*/,
51 /*[in]*/ int /*cFiles*/,
52 /*[in,size_is(cFiles)]*/ const LPCOLESTR
[] /*rgpszNewMkDocuments*/,
53 /*[in,size_is(cFiles)]*/ const LPCOLESTR
[] /*rgpszSrcMkDocuments*/,
54 /*[in,size_is(cFiles)]*/ const VSQUERYADDFILEFLAGS
[] /*rgFlags*/,
55 /*[out]*/ VSQUERYADDFILERESULTS
* /*pSummaryResult*/,
56 /*[out,size_is(cFiles)]*/ VSQUERYADDFILERESULTS
[] /*rgResults*/)VSL_STDMETHOD_NOTIMPL
58 STDMETHOD(HandsOffFiles
)(
59 /*[in]*/ HANDSOFFMODE
/*grfRequiredAccess*/,
60 /*[in]*/ int /*cFiles*/,
61 /*[in,size_is(cFiles)]*/ const LPCOLESTR
[] /*rgpszMkDocuments*/)VSL_STDMETHOD_NOTIMPL
63 STDMETHOD(HandsOnFiles
)(
64 /*[in]*/ int /*cFiles*/,
65 /*[in,size_is(cFiles)]*/ const LPCOLESTR
[] /*rgpszMkDocuments*/)VSL_STDMETHOD_NOTIMPL
68 class IVsTrackProjectDocuments3MockImpl
:
69 public IVsTrackProjectDocuments3
,
73 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVsTrackProjectDocuments3MockImpl
)
77 VSL_DEFINE_MOCK_CLASS_TYPDEFS(IVsTrackProjectDocuments3MockImpl
)
79 typedef IVsTrackProjectDocuments3 Interface
;
80 struct BeginQueryBatchValidValues
85 STDMETHOD(BeginQueryBatch
)()
87 VSL_DEFINE_MOCK_METHOD_NOARGS(BeginQueryBatch
)
89 VSL_RETURN_VALIDVALUES();
91 struct EndQueryBatchValidValues
93 /*[out,retval]*/ BOOL
* pfActionOK
;
97 STDMETHOD(EndQueryBatch
)(
98 /*[out,retval]*/ BOOL
* pfActionOK
)
100 VSL_DEFINE_MOCK_METHOD(EndQueryBatch
)
102 VSL_SET_VALIDVALUE(pfActionOK
);
104 VSL_RETURN_VALIDVALUES();
106 struct CancelQueryBatchValidValues
111 STDMETHOD(CancelQueryBatch
)()
113 VSL_DEFINE_MOCK_METHOD_NOARGS(CancelQueryBatch
)
115 VSL_RETURN_VALIDVALUES();
117 struct OnQueryAddFilesExValidValues
119 /*[in]*/ IVsProject
* pProject
;
121 /*[in,size_is(cFiles)]*/ LPCOLESTR
* rgpszNewMkDocuments
;
122 /*[in,size_is(cFiles)]*/ LPCOLESTR
* rgpszSrcMkDocuments
;
123 /*[in,size_is(cFiles)]*/ VSQUERYADDFILEFLAGS
* rgFlags
;
124 /*[out]*/ VSQUERYADDFILERESULTS
* pSummaryResult
;
125 /*[out,size_is(cFiles)]*/ VSQUERYADDFILERESULTS
* rgResults
;
129 STDMETHOD(OnQueryAddFilesEx
)(
130 /*[in]*/ IVsProject
* pProject
,
132 /*[in,size_is(cFiles)]*/ const LPCOLESTR rgpszNewMkDocuments
[],
133 /*[in,size_is(cFiles)]*/ const LPCOLESTR rgpszSrcMkDocuments
[],
134 /*[in,size_is(cFiles)]*/ const VSQUERYADDFILEFLAGS rgFlags
[],
135 /*[out]*/ VSQUERYADDFILERESULTS
* pSummaryResult
,
136 /*[out,size_is(cFiles)]*/ VSQUERYADDFILERESULTS rgResults
[])
138 VSL_DEFINE_MOCK_METHOD(OnQueryAddFilesEx
)
140 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(pProject
);
142 VSL_CHECK_VALIDVALUE(cFiles
);
144 VSL_CHECK_VALIDVALUE_MEMCMP(rgpszNewMkDocuments
, cFiles
*sizeof(rgpszNewMkDocuments
[0]), validValues
.cFiles
*sizeof(validValues
.rgpszNewMkDocuments
[0]));
146 VSL_CHECK_VALIDVALUE_MEMCMP(rgpszSrcMkDocuments
, cFiles
*sizeof(rgpszSrcMkDocuments
[0]), validValues
.cFiles
*sizeof(validValues
.rgpszSrcMkDocuments
[0]));
148 VSL_CHECK_VALIDVALUE_MEMCMP(rgFlags
, cFiles
*sizeof(rgFlags
[0]), validValues
.cFiles
*sizeof(validValues
.rgFlags
[0]));
150 VSL_SET_VALIDVALUE(pSummaryResult
);
152 VSL_SET_VALIDVALUE_MEMCPY(rgResults
, cFiles
*sizeof(rgResults
[0]), validValues
.cFiles
*sizeof(validValues
.rgResults
[0]));
154 VSL_RETURN_VALIDVALUES();
156 struct HandsOffFilesValidValues
158 /*[in]*/ HANDSOFFMODE grfRequiredAccess
;
160 /*[in,size_is(cFiles)]*/ LPCOLESTR
* rgpszMkDocuments
;
164 STDMETHOD(HandsOffFiles
)(
165 /*[in]*/ HANDSOFFMODE grfRequiredAccess
,
167 /*[in,size_is(cFiles)]*/ const LPCOLESTR rgpszMkDocuments
[])
169 VSL_DEFINE_MOCK_METHOD(HandsOffFiles
)
171 VSL_CHECK_VALIDVALUE(grfRequiredAccess
);
173 VSL_CHECK_VALIDVALUE(cFiles
);
175 VSL_CHECK_VALIDVALUE_MEMCMP(rgpszMkDocuments
, cFiles
*sizeof(rgpszMkDocuments
[0]), validValues
.cFiles
*sizeof(validValues
.rgpszMkDocuments
[0]));
177 VSL_RETURN_VALIDVALUES();
179 struct HandsOnFilesValidValues
182 /*[in,size_is(cFiles)]*/ LPCOLESTR
* rgpszMkDocuments
;
186 STDMETHOD(HandsOnFiles
)(
188 /*[in,size_is(cFiles)]*/ const LPCOLESTR rgpszMkDocuments
[])
190 VSL_DEFINE_MOCK_METHOD(HandsOnFiles
)
192 VSL_CHECK_VALIDVALUE(cFiles
);
194 VSL_CHECK_VALIDVALUE_MEMCMP(rgpszMkDocuments
, cFiles
*sizeof(rgpszMkDocuments
[0]), validValues
.cFiles
*sizeof(validValues
.rgpszMkDocuments
[0]));
196 VSL_RETURN_VALIDVALUES();
205 #endif // IVSTRACKPROJECTDOCUMENTS3_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5