added some development tools
[windows-sources.git] / developer / VSSDK / VisualStudioIntegration / Common / Source / CPP / VSL / Include / VSLErrorHandlers.h
blobd37d6e3b0aa291686623e6961be8d61444b43b1a
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 VSLERRORHANDLERS_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
15 #define VSLERRORHANDLERS_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
17 #if _MSC_VER > 1000
18 #pragma once
19 #endif
21 // VSL Includes
22 #include <VSLErrorHandlersBase.h>
24 /**************************************************************************************************
25 VSL_CHECKBOOLEAN and related
26 **************************************************************************************************/
28 #ifndef VSL_CHECKBOOLEAN_TRAITS
29 #define VSL_CHECKBOOLEAN_TRAITS(hrErr) \
30 VSL::Traits< \
31 VSL::BooleanEvaluator, \
32 VSL_OVERRIDE_HRESULT_CONSTANT(VSL::BooleanEvaluator::ExpressionType, hrErr), \
33 VSL::ExceptionHRESULT<>, \
34 VSL::HRESULTProcessor >
35 #endif // VSL_CHECKBOOLEAN_TRAITS
37 #ifndef VSL_CHECKBOOLEAN_EX
38 #define VSL_CHECKBOOLEAN_EX(exp, hrErr, extraData) \
39 VSL_CHECKEXPRESSION_EX(VSL_CHECKBOOLEAN_TRAITS(hrErr), exp, extraData)
40 #endif // VSL_CHECKBOOLEAN_EX
42 #ifndef VSL_CHECKBOOLEAN
43 #define VSL_CHECKBOOLEAN(exp, hrErr) \
44 VSL_CHECKEXPRESSION(VSL_CHECKBOOLEAN_TRAITS(hrErr), exp)
45 #endif // VSL_CHECKBOOL
47 /**************************************************************************************************
48 VSL_CHECKBOOLEAN_GLE and related
50 TODO - 1/21/2006 - unit test this
52 **************************************************************************************************/
54 #ifndef VSL_CHECKBOOLEAN_GLE_TRAITS
55 #define VSL_CHECKBOOLEAN_GLE_TRAITS VSL::BooleanGetLastErrorTraits
56 #endif // VSL_CHKBOOLEAN_TRAITS
58 #ifndef VSL_CHECKBOOLEAN_GLE_EX
59 #define VSL_CHECKBOOLEAN_GLE_EX(exp, extraData) \
60 VSL_CHECKEXPRESSION_EX(VSL_CHECKBOOLEAN_GLE_TRAITS, exp, extraData)
61 #endif // VSL_CHKBOOLEAN_EX
63 #ifndef VSL_CHECKBOOLEAN_GLE
64 #define VSL_CHECKBOOLEAN_GLE(exp) \
65 VSL_CHECKEXPRESSION(VSL_CHECKBOOLEAN_GLE_TRAITS, exp)
66 #endif // VSL_CHKBOOLEAN
68 /**************************************************************************************************
69 VSL_CHECKBOOL and related
70 **************************************************************************************************/
72 #ifndef VSL_CHECKBOOL_TRAITS
73 #define VSL_CHECKBOOL_TRAITS(hrErr) \
74 VSL::Traits< \
75 VSL::BOOLEvaluator, \
76 VSL_OVERRIDE_HRESULT_CONSTANT(VSL::BOOLEvaluator::ExpressionType, hrErr), \
77 VSL::ExceptionHRESULT<>, \
78 VSL::HRESULTProcessor >
79 #endif // VSL_CHECKBOOL_TRAITS
81 #ifndef VSL_CHECKBOOL_EX
82 #define VSL_CHECKBOOL_EX(exp, hrErr, extraData) \
83 VSL_CHECKEXPRESSION_EX(VSL_CHECKBOOL_TRAITS(hrErr), exp, extraData)
84 #endif // VSL_CHECKBOOL_EX
86 #ifndef VSL_CHECKBOOL
87 #define VSL_CHECKBOOL(exp, hrErr) \
88 VSL_CHECKEXPRESSION(VSL_CHECKBOOL_TRAITS(hrErr), exp)
89 #endif // VSL_CHECKBOOL
91 /**************************************************************************************************
92 VSL_CHECKBOOL_GLE and related
93 **************************************************************************************************/
95 #ifndef VSL_CHECKBOOL_GLE_TRAITS
96 #define VSL_CHECKBOOL_GLE_TRAITS VSL::BOOLGetLastErrorTraits
97 #endif // VSL_CHKBOOL_TRAITS
99 #ifndef VSL_CHECKBOOL_GLE_EX
100 #define VSL_CHECKBOOL_GLE_EX(exp, extraData) \
101 VSL_CHECKEXPRESSION_EX(VSL_CHECKBOOL_GLE_TRAITS, exp, extraData)
102 #endif // VSL_CHKBOOL_EX
104 #ifndef VSL_CHECKBOOL_GLE
105 #define VSL_CHECKBOOL_GLE(exp) \
106 VSL_CHECKEXPRESSION(VSL_CHECKBOOL_GLE_TRAITS, exp)
107 #endif // VSL_CHKBOOL
109 /**************************************************************************************************
110 VSL_CHECKHANDLE_GLE and related
111 **************************************************************************************************/
113 #ifndef VSL_CHECKHANDLE_GLE_TRAITS
114 #define VSL_CHECKHANDLE_GLE_TRAITS VSL::HANDLEGetLastErrorTraits
115 #endif // VSL_CHECKHANDLE_GLE_TRAITS
117 #ifndef VSL_CHECKHANDLE_GLE_EX
118 #define VSL_CHECKHANDLE_GLE_EX(exp, extraData) \
119 VSL_CHECKEXPRESSION_EX(VSL_CHECKHANDLE_GLE_TRAITS, exp, extraData)
120 #endif // VSL_CHECKHANDLE_GLE_EX
122 #ifndef VSL_CHECKHANDLE_GLE
123 #define VSL_CHECKHANDLE_GLE(exp) \
124 VSL_CHECKEXPRESSION(VSL_CHECKHANDLE_GLE_TRAITS, exp)
125 #endif // VSL_CHECKHANDLE_GLE
127 #ifndef VSL_CHECKHRESULT_TRAITS
128 #define VSL_CHECKHRESULT_TRAITS VSL::HRESULTTraits
129 #endif // VSL_CHECKHRESULT_TRAITS
131 /**************************************************************************************************
132 VSL_CHECKHRESULT and related
133 **************************************************************************************************/
135 #ifndef VSL_CHECKHRESULT_EX
136 #define VSL_CHECKHRESULT_EX(exp, extraData) \
137 VSL_CHECKEXPRESSION_EX(VSL_CHECKHRESULT_TRAITS, exp, extraData)
138 #endif // VSL_CHECKHRESULT_EX
140 #ifndef VSL_CHECKHRESULT
141 #define VSL_CHECKHRESULT(exp) \
142 VSL_CHECKEXPRESSION(VSL_CHECKHRESULT_TRAITS, exp)
143 #endif // VSL_CHECKHRESULT
145 /**************************************************************************************************
146 VSL_CREATE_ERROR_HRESULT and related
147 **************************************************************************************************/
149 #ifndef VSL_CREATE_ERROR_HRESULT_TRAITS
150 #define VSL_CREATE_ERROR_HRESULT_TRAITS VSL::HRESULTTraits
151 #endif // VSL_CREATE_ERROR_HRESULT_TRAITS
153 #ifndef VSL_CREATE_ERROR_HRESULT_EX
154 #define VSL_CREATE_ERROR_HRESULT_EX(exp, extraData) \
155 VSL_CREATE_ERROR_EX(VSL_CREATE_ERROR_HRESULT_TRAITS, exp, extraData)
156 #endif // VSL_CREATE_ERROR_HRESULT_EX
158 #ifndef VSL_CREATE_ERROR_HRESULT
159 #define VSL_CREATE_ERROR_HRESULT(exp) \
160 VSL_CREATE_ERROR(VSL_CREATE_ERROR_HRESULT_TRAITS, exp)
161 #endif // VSL_CREATE_ERROR_HRESULT
163 /**************************************************************************************************
164 VSL_CHECKHRESULT and related
165 **************************************************************************************************/
167 #ifndef VSL_CHECKWIN32_TRAITS
168 #define VSL_CHECKWIN32_TRAITS VSL::Win32Traits
169 #endif // VSL_CHECKWIN32_TRAITS
171 #ifndef VSL_CHECKWIN32_EX
172 #define VSL_CHECKWIN32_EX(exp, extraData) \
173 VSL_CHECKEXPRESSION_EX(VSL_CHECKWIN32_TRAITS, exp, extraData)
174 #endif // VSL_CHECKWIN32_EX
176 #ifndef VSL_CHECKWIN32
177 #define VSL_CHECKWIN32(exp) \
178 VSL_CHECKEXPRESSION(VSL_CHECKWIN32_TRAITS, exp)
179 #endif // VSL_CHECKWIN32
181 /**************************************************************************************************
182 VSL_CREATE_ERROR_WIN32 and related
183 **************************************************************************************************/
185 #ifndef VSL_CREATE_ERROR_WIN32_TRAITS
186 #define VSL_CREATE_ERROR_WIN32_TRAITS VSL::Win32Traits
187 #endif // VSL_CREATE_ERROR_WIN32_TRAITS
189 #ifndef VSL_CREATE_ERROR_WIN32_EX
190 #define VSL_CREATE_ERROR_WIN32_EX(exp, extraData) \
191 VSL_CREATE_ERROR_EX(VSL_CREATE_ERROR_WIN32_TRAITS, exp, extraData)
192 #endif // VSL_CREATE_ERROR_WIN32_EX
194 #ifndef VSL_CREATE_ERROR_WIN32
195 #define VSL_CREATE_ERROR_WIN32(exp) \
196 VSL_CREATE_ERROR(VSL_CREATE_ERROR_WIN32_TRAITS, exp)
197 #endif // VSL_CREATE_ERROR_WIN32
199 /**************************************************************************************************
200 VSL_CHECKPOINTER and related
201 **************************************************************************************************/
203 #ifndef VSL_CHECKPOINTER_TRAITS
204 #define VSL_CHECKPOINTER_TRAITS(hrErr) \
205 VSL::Traits< \
206 VSL::PointerEvaluator, \
207 VSL_OVERRIDE_HRESULT_CONSTANT(VSL::PointerEvaluator::ExpressionType, hrErr), \
208 VSL::ExceptionHRESULT<>, \
209 VSL::HRESULTProcessor >
210 #endif // VSL_CHECKPOINTER_TRAITS
212 #ifndef VSL_CHECKPOINTER_EX
213 #define VSL_CHECKPOINTER_EX(exp, hrErr, extraData) \
214 VSL_CHECKEXPRESSION_EX(VSL_CHECKPOINTER_TRAITS(hrErr), exp, extraData)
215 #endif // VSL_CHECKPOINTER_EX
217 #ifndef VSL_CHECKPOINTER
218 #define VSL_CHECKPOINTER(exp, hrErr) \
219 VSL_CHECKEXPRESSION_CAST(VSL_CHECKPOINTER_TRAITS(hrErr), exp)
220 #endif // VSL_CHECKPOINTER
222 #define VSL_CHECKPOINTER_DEFAULT(exp) VSL_CHECKPOINTER(exp, E_POINTER)
224 // FUTURE - 1/23/2006 - this will be removed, use VSL_CHECKPOINTER_DEFAULT instead
225 #ifndef ErrorOnNullPointer
226 #define ErrorOnNullPointer(p) VSL_CHECKPOINTER_DEFAULT(p)
227 #endif
229 #ifndef VSL_RETURN_E_INVALIDARG_IF_NULL
230 #define VSL_RETURN_E_INVALIDARG_IF_NULL(p) \
231 if(NULL == p) \
233 return E_INVALIDARG; \
235 #endif
237 #endif // VSLERRORHANDLERS_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5