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 IVSMDDESIGNERSERVICE_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
15 #define IVSMDDESIGNERSERVICE_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
21 #include "vsmanaged.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 IVSMDDesignerServiceNotImpl
:
33 public IVSMDDesignerService
36 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVSMDDesignerServiceNotImpl
)
40 typedef IVSMDDesignerService Interface
;
42 STDMETHOD(get_DesignViewAttribute
)(
43 /*[out,retval]*/ BSTR
* /*pbstrAttribute*/)VSL_STDMETHOD_NOTIMPL
45 STDMETHOD(CreateDesigner
)(
46 /*[in]*/ IServiceProvider
* /*pSp*/,
47 /*[in]*/ IUnknown
* /*pDesignerLoader*/,
48 /*[out,retval]*/ IVSMDDesigner
** /*ppDesigner*/)VSL_STDMETHOD_NOTIMPL
50 STDMETHOD(CreateDesignerForClass
)(
51 /*[in]*/ IServiceProvider
* /*pSp*/,
52 /*[in]*/ LPCOLESTR
/*pwszComponentClass*/,
53 /*[out,retval]*/ IVSMDDesigner
** /*ppDesigner*/)VSL_STDMETHOD_NOTIMPL
55 STDMETHOD(CreateDesignerLoader
)(
56 /*[in]*/ LPCOLESTR
/*pwszCodeStreamClass*/,
57 /*[out,retval]*/ IUnknown
** /*ppCodeStream*/)VSL_STDMETHOD_NOTIMPL
59 STDMETHOD(GetDesignerLoaderClassForFile
)(
60 /*[in]*/ LPCOLESTR
/*pwszFileName*/,
61 /*[out,retval]*/ BSTR
* /*pbstrDesignerLoaderClass*/)VSL_STDMETHOD_NOTIMPL
63 STDMETHOD(RegisterDesignViewAttribute
)(
64 /*[in]*/ IVsHierarchy
* /*pHier*/,
65 /*[in]*/ VSITEMID
/*itemid*/,
66 /*[in]*/ int /*dwClass*/,
67 /*[in]*/ LPOLESTR
/*pwszAttributeValue*/)VSL_STDMETHOD_NOTIMPL
70 class IVSMDDesignerServiceMockImpl
:
71 public IVSMDDesignerService
,
75 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IVSMDDesignerServiceMockImpl
)
79 VSL_DEFINE_MOCK_CLASS_TYPDEFS(IVSMDDesignerServiceMockImpl
)
81 typedef IVSMDDesignerService Interface
;
82 struct get_DesignViewAttributeValidValues
84 /*[out,retval]*/ BSTR
* pbstrAttribute
;
88 STDMETHOD(get_DesignViewAttribute
)(
89 /*[out,retval]*/ BSTR
* pbstrAttribute
)
91 VSL_DEFINE_MOCK_METHOD(get_DesignViewAttribute
)
93 VSL_SET_VALIDVALUE_BSTR(pbstrAttribute
);
95 VSL_RETURN_VALIDVALUES();
97 struct CreateDesignerValidValues
99 /*[in]*/ IServiceProvider
* pSp
;
100 /*[in]*/ IUnknown
* pDesignerLoader
;
101 /*[out,retval]*/ IVSMDDesigner
** ppDesigner
;
105 STDMETHOD(CreateDesigner
)(
106 /*[in]*/ IServiceProvider
* pSp
,
107 /*[in]*/ IUnknown
* pDesignerLoader
,
108 /*[out,retval]*/ IVSMDDesigner
** ppDesigner
)
110 VSL_DEFINE_MOCK_METHOD(CreateDesigner
)
112 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(pSp
);
114 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(pDesignerLoader
);
116 VSL_SET_VALIDVALUE_INTERFACE(ppDesigner
);
118 VSL_RETURN_VALIDVALUES();
120 struct CreateDesignerForClassValidValues
122 /*[in]*/ IServiceProvider
* pSp
;
123 /*[in]*/ LPCOLESTR pwszComponentClass
;
124 /*[out,retval]*/ IVSMDDesigner
** ppDesigner
;
128 STDMETHOD(CreateDesignerForClass
)(
129 /*[in]*/ IServiceProvider
* pSp
,
130 /*[in]*/ LPCOLESTR pwszComponentClass
,
131 /*[out,retval]*/ IVSMDDesigner
** ppDesigner
)
133 VSL_DEFINE_MOCK_METHOD(CreateDesignerForClass
)
135 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(pSp
);
137 VSL_CHECK_VALIDVALUE_STRINGW(pwszComponentClass
);
139 VSL_SET_VALIDVALUE_INTERFACE(ppDesigner
);
141 VSL_RETURN_VALIDVALUES();
143 struct CreateDesignerLoaderValidValues
145 /*[in]*/ LPCOLESTR pwszCodeStreamClass
;
146 /*[out,retval]*/ IUnknown
** ppCodeStream
;
150 STDMETHOD(CreateDesignerLoader
)(
151 /*[in]*/ LPCOLESTR pwszCodeStreamClass
,
152 /*[out,retval]*/ IUnknown
** ppCodeStream
)
154 VSL_DEFINE_MOCK_METHOD(CreateDesignerLoader
)
156 VSL_CHECK_VALIDVALUE_STRINGW(pwszCodeStreamClass
);
158 VSL_SET_VALIDVALUE_INTERFACE(ppCodeStream
);
160 VSL_RETURN_VALIDVALUES();
162 struct GetDesignerLoaderClassForFileValidValues
164 /*[in]*/ LPCOLESTR pwszFileName
;
165 /*[out,retval]*/ BSTR
* pbstrDesignerLoaderClass
;
169 STDMETHOD(GetDesignerLoaderClassForFile
)(
170 /*[in]*/ LPCOLESTR pwszFileName
,
171 /*[out,retval]*/ BSTR
* pbstrDesignerLoaderClass
)
173 VSL_DEFINE_MOCK_METHOD(GetDesignerLoaderClassForFile
)
175 VSL_CHECK_VALIDVALUE_STRINGW(pwszFileName
);
177 VSL_SET_VALIDVALUE_BSTR(pbstrDesignerLoaderClass
);
179 VSL_RETURN_VALIDVALUES();
181 struct RegisterDesignViewAttributeValidValues
183 /*[in]*/ IVsHierarchy
* pHier
;
184 /*[in]*/ VSITEMID itemid
;
185 /*[in]*/ int dwClass
;
186 /*[in]*/ LPOLESTR pwszAttributeValue
;
190 STDMETHOD(RegisterDesignViewAttribute
)(
191 /*[in]*/ IVsHierarchy
* pHier
,
192 /*[in]*/ VSITEMID itemid
,
193 /*[in]*/ int dwClass
,
194 /*[in]*/ LPOLESTR pwszAttributeValue
)
196 VSL_DEFINE_MOCK_METHOD(RegisterDesignViewAttribute
)
198 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(pHier
);
200 VSL_CHECK_VALIDVALUE(itemid
);
202 VSL_CHECK_VALIDVALUE(dwClass
);
204 VSL_CHECK_VALIDVALUE_STRINGW(pwszAttributeValue
);
206 VSL_RETURN_VALIDVALUES();
215 #endif // IVSMDDESIGNERSERVICE_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5