1 karl 1.13 //%2005////////////////////////////////////////////////////////////////////////
|
2 kumpf 1.1 //
|
3 karl 1.12 // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
4 // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
5 // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
|
6 karl 1.9 // IBM Corp.; EMC Corporation, The Open Group.
|
7 karl 1.12 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
8 // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
|
9 karl 1.13 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
10 // EMC Corporation; VERITAS Software Corporation; The Open Group.
|
11 kumpf 1.1 //
12 // Permission is hereby granted, free of charge, to any person obtaining a copy
13 // of this software and associated documentation files (the "Software"), to
14 // deal in the Software without restriction, including without limitation the
15 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
16 // sell copies of the Software, and to permit persons to whom the Software is
17 // furnished to do so, subject to the following conditions:
18 //
19 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
20 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
21 // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
22 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
23 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
24 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
25 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
26 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27 //
28 //==============================================================================
29 //
30 // Author: Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com)
31 //
32 kumpf 1.1 // Modified By:
33 //
34 //%/////////////////////////////////////////////////////////////////////////////
35
36 #ifndef Pegasus_InternalException_h
37 #define Pegasus_InternalException_h
38
39 #include <Pegasus/Common/Config.h>
40 #include <Pegasus/Common/Linkage.h>
41 #include <Pegasus/Common/Exception.h>
|
42 jim.wunderlich 1.14 #include <Pegasus/Common/PegasusAssert.h>
43
44
|
45 kumpf 1.1
46 PEGASUS_NAMESPACE_BEGIN
47
48 /** Class AssertionFailureException
49 This is an Exception class tied to the definiton of an assert named
50 PEGASUS_ASSERT. This assertion can be included at any point in Pegasus
51 code
52 */
53 class PEGASUS_COMMON_LINKAGE AssertionFailureException : public Exception
54 {
55 public:
56
57 AssertionFailureException(
58 const char* file,
59 size_t line,
60 const String& message);
61 };
62
63 /** define PEGASUS_ASSERT assertion statement. This statement tests the
64 condition defined by the parameters and if not True executes an
65
66 kumpf 1.1 <pre>
67 throw AssertionFailureException
68 </pre>
69
70 defining the file, line and condition that was tested.
71 */
72 #ifdef NDEBUG
73 #define PEGASUS_ASSERT(COND)
74 #else
75 #define PEGASUS_ASSERT(COND) \
76 do \
77 { \
78 if (!(COND)) \
79 { \
80 throw AssertionFailureException(__FILE__, __LINE__, #COND); \
81 } \
82 } while (0)
83 #endif
84
85 /* Macro to Create the equivalent of an assert but without the
86 termination. This can be used as a temporary marker for asserts
87 kumpf 1.1 that are not working. Prints out the error but continues.
88 NOTE: This is useful in test programs to keep us aware that we
89 have problems without halting the test sequence.
90 This was created primarily to put temporary asserts into tests that
91 are not yet working correctly but will not stop the test sequence.
92 */
93 #define ASSERTTEMP(COND) \
94 do \
95 { \
96 if (!(COND)) \
97 { \
98 cerr << "TEMP Assert Error TEMP **********" \
99 <<__FILE__ << " " << __LINE__ \
100 << " " << #COND << endl; \
101 } \
102 } while (0)
103
104
105 // ATTN: P3 KS documentation Required
106 class PEGASUS_COMMON_LINKAGE NullPointer : public Exception
107 {
108 kumpf 1.1 public:
109
110 static const char MSG[];
|
111 chuck 1.6 static const char KEY[];
|
112 kumpf 1.1
|
113 chuck 1.6 //NullPointer() : Exception(MSG) { }
|
114 chuck 1.5
|
115 chuck 1.6 NullPointer() : Exception(MessageLoaderParms(KEY, MSG)) { }
|
116 kumpf 1.1 };
117
118 // ATTN: P3 KS documentation Required
119 class PEGASUS_COMMON_LINKAGE UndeclaredQualifier : public Exception
120 {
121 public:
122
123 static const char MSG[];
|
124 chuck 1.6 static const char KEY[];
|
125 kumpf 1.1
|
126 chuck 1.6 //UndeclaredQualifier(const String& qualifierName)
127 //: Exception(MSG + qualifierName) { }
|
128 chuck 1.5
129 // NOTE - MSG needs to have a $0 arg for all the substitution cases
|
130 chuck 1.6 UndeclaredQualifier(const String& qualifierName)
131 : Exception(MessageLoaderParms(KEY, MSG, qualifierName)) { }
|
132 kumpf 1.1 };
133
134 // ATTN: P3 KS documentation Required
135 class PEGASUS_COMMON_LINKAGE BadQualifierScope : public Exception
136 {
137 public:
138
|
139 chuck 1.6 static const char MSG[];
140 static const char KEY[];
|
141 kumpf 1.1
|
142 chuck 1.6 //BadQualifierScope(const String& qualifierName, const String& scopeString)
143 //: Exception(MSG + qualifierName + String(" scope=") + scopeString) { }
|
144 chuck 1.5
|
145 chuck 1.6
|
146 chuck 1.5 BadQualifierScope(const String& qualifierName, const String& scopeString)
147 : Exception(MessageLoaderParms(KEY,
148 MSG,
149 qualifierName,
150 scopeString)) { }
|
151 chuck 1.6
|
152 kumpf 1.1 };
153
154 // ATTN: P3 KS documentation Required
155 class PEGASUS_COMMON_LINKAGE BadQualifierOverride : public Exception
156 {
157 public:
158
159 static const char MSG[];
|
160 chuck 1.6 static const char KEY[];
|
161 kumpf 1.1
|
162 chuck 1.6 //BadQualifierOverride(const String& qualifierName)
163 //: Exception(MSG + qualifierName) { }
164
|
165 kumpf 1.1 BadQualifierOverride(const String& qualifierName)
|
166 chuck 1.6 : Exception(MessageLoaderParms(KEY, MSG, qualifierName)) { }
|
167 kumpf 1.1 };
168
169 class PEGASUS_COMMON_LINKAGE BadQualifierType : public Exception
170 {
171 public:
172
173 static const char MSG[];
|
174 chuck 1.6 static const char KEY[];
|
175 kumpf 1.1
|
176 chuck 1.6 //BadQualifierType(const String& qualifierName)
177 //: Exception(MSG + qualifierName) { }
|
178 chuck 1.5
|
179 chuck 1.6 BadQualifierType(const String& qualifierName)
180 : Exception(MessageLoaderParms(KEY, MSG, qualifierName)) { }
|
181 kumpf 1.1 };
182
183 // ATTN: P3 KS documentation Required
184 class PEGASUS_COMMON_LINKAGE ClassAlreadyResolved : public Exception
185 {
186 public:
187
188 static const char MSG[];
|
189 chuck 1.6 static const char KEY[];
|
190 kumpf 1.1
|
191 chuck 1.6 //ClassAlreadyResolved(const String& className)
192 //: Exception(MSG + className) { }
|
193 chuck 1.5
|
194 chuck 1.6 ClassAlreadyResolved(const String& className)
195 : Exception(MessageLoaderParms(KEY, MSG, className)) { }
|
196 kumpf 1.1 };
197
198 // ATTN: P3 KS documentation Required
199 class PEGASUS_COMMON_LINKAGE ClassNotResolved : public Exception
200 {
201 public:
202
203 static const char MSG[];
|
204 chuck 1.6 static const char KEY[];
|
205 kumpf 1.1
|
206 chuck 1.6 //ClassNotResolved(const String& className)
207 //: Exception(MSG + className) { }
|
208 chuck 1.5
|
209 chuck 1.6 ClassNotResolved(const String& className)
210 : Exception(MessageLoaderParms(KEY, MSG, className)) { }
|
211 kumpf 1.1 };
212
213 // ATTN: P3 KS documentation Required
214 class PEGASUS_COMMON_LINKAGE InstanceAlreadyResolved : public Exception
215 {
216 public:
217
218 static const char MSG[];
|
219 chuck 1.6 static const char KEY[];
|
220 kumpf 1.1
|
221 chuck 1.6 //InstanceAlreadyResolved()
222 // : Exception(MSG) { }
|
223 chuck 1.5
|
224 chuck 1.6 InstanceAlreadyResolved()
225 : Exception(MessageLoaderParms(KEY, MSG)) { }
|
226 kumpf 1.1 };
227
228 // ATTN: P3 KS documentation Required
229 class PEGASUS_COMMON_LINKAGE InstantiatedAbstractClass : public Exception
230 {
231 public:
232
233 static const char MSG[];
|
234 chuck 1.6 static const char KEY[];
|
235 kumpf 1.1
|
236 chuck 1.6 //InstantiatedAbstractClass(const String& className)
237 //: Exception(MSG + className) { }
|
238 chuck 1.5
|
239 chuck 1.6 InstantiatedAbstractClass(const String& className)
240 : Exception(MessageLoaderParms(KEY, MSG, className)) { }
|
241 kumpf 1.1 };
242
243 // ATTN: P3 KS documentation Required
244 class PEGASUS_COMMON_LINKAGE NoSuchProperty : public Exception
245 {
246 public:
247
248 static const char MSG[];
|
249 chuck 1.6 static const char KEY[];
|
250 kumpf 1.1
|
251 chuck 1.6 //NoSuchProperty(const String& propertyName)
252 //: Exception(MSG + propertyName) { }
|
253 chuck 1.5
|
254 chuck 1.6 NoSuchProperty(const String& propertyName)
255 : Exception(MessageLoaderParms(KEY, MSG, propertyName)) { }
|
256 kumpf 1.1 };
257
258 // ATTN: P3 KS documentation Required
259 class PEGASUS_COMMON_LINKAGE NoSuchFile : public Exception
260 {
261 public:
262
263 static const char MSG[];
|
264 chuck 1.6 static const char KEY[];
|
265 kumpf 1.1
|
266 chuck 1.6 // NoSuchFile(const String& fileName) : Exception(MSG + fileName) { }
|
267 chuck 1.5
|
268 chuck 1.6 NoSuchFile(const String& fileName)
269 : Exception(MessageLoaderParms(KEY, MSG, fileName)) { }
|
270 kumpf 1.1 };
271
272 // ATTN: P3 KS documentation Required
273 class PEGASUS_COMMON_LINKAGE FileNotReadable : public Exception
274 {
275 public:
276
277 static const char MSG[];
|
278 chuck 1.6 static const char KEY[];
|
279 kumpf 1.1
|
280 chuck 1.6 //FileNotReadable(const String& fileName) : Exception(MSG + fileName) { }
|
281 chuck 1.5
|
282 chuck 1.6 FileNotReadable(const String& fileName)
283 : Exception(MessageLoaderParms(KEY, MSG, fileName)) { }
|
284 kumpf 1.1 };
285
286 // ATTN: P3 KS documentation Required
287 class PEGASUS_COMMON_LINKAGE CannotRemoveDirectory : public Exception
288 {
289 public:
290
291 static const char MSG[];
|
292 chuck 1.6 static const char KEY[];
|
293 kumpf 1.1
|
294 chuck 1.6 //CannotRemoveDirectory(const String& path) : Exception(MSG + path) { }
|
295 chuck 1.5
|
296 chuck 1.6 CannotRemoveDirectory(const String& path)
297 : Exception(MessageLoaderParms(KEY, MSG, path)) { }
|
298 kumpf 1.1 };
299
300 // ATTN: P3 KS documentation Required
301 class PEGASUS_COMMON_LINKAGE CannotRemoveFile : public Exception
302 {
303 public:
304
305 static const char MSG[];
|
306 chuck 1.6 static const char KEY[];
|
307 kumpf 1.1
|
308 chuck 1.6 //CannotRemoveFile(const String& path) : Exception(MSG + path) { }
309 CannotRemoveFile(const String& path)
310 : Exception(MessageLoaderParms(KEY, MSG, path)) { }
|
311 kumpf 1.1 };
312
313 // ATTN: P3 KS documentation Required
314 class PEGASUS_COMMON_LINKAGE CannotRenameFile : public Exception
315 {
316 public:
317
318 static const char MSG[];
|
319 chuck 1.6 static const char KEY[];
|
320 kumpf 1.1
|
321 chuck 1.6 //CannotRenameFile(const String& path) : Exception(MSG + path) { }
322 CannotRenameFile(const String& path)
323 : Exception(MessageLoaderParms(KEY, MSG, path)) { }
|
324 kumpf 1.1 };
325
326 // ATTN: P3 KS documentation Required
327 class PEGASUS_COMMON_LINKAGE NoSuchDirectory : public Exception
328 {
329 public:
330
331 static const char MSG[];
|
332 chuck 1.6 static const char KEY[];
|
333 kumpf 1.1
|
334 chuck 1.6 //NoSuchDirectory(const String& directoryName)
335 //: Exception(MSG + directoryName) { }
336 NoSuchDirectory(const String& directoryName)
337 : Exception(MessageLoaderParms(KEY, MSG, directoryName)) { }
|
338 kumpf 1.1 };
339
340 // ATTN: P3 KS documentation Required
341 class PEGASUS_COMMON_LINKAGE CannotCreateDirectory : public Exception
342 {
343 public:
344
345 static const char MSG[];
|
346 chuck 1.6 static const char KEY[];
|
347 kumpf 1.1
|
348 chuck 1.6 //CannotCreateDirectory(const String& path)
349 //: Exception(MSG + path) { }
350 CannotCreateDirectory(const String& path)
351 : Exception(MessageLoaderParms(KEY, MSG, path)) { }
|
352 kumpf 1.1 };
353
354 // ATTN: P3 KS documentation Required
355 class PEGASUS_COMMON_LINKAGE CannotOpenFile : public Exception
356 {
357 public:
358
359 static const char MSG[];
|
360 chuck 1.6 static const char KEY[];
|
361 kumpf 1.1
|
362 chuck 1.6 //CannotOpenFile(const String& path)
363 //: Exception(MSG + path) { }
364 CannotOpenFile(const String& path)
365 : Exception(MessageLoaderParms(KEY, MSG, path)) { }
|
366 kumpf 1.1 };
367
368 // ATTN: P3 KS documentation Required
369 class PEGASUS_COMMON_LINKAGE NotImplemented : public Exception
370 {
371 public:
372
373 static const char MSG[];
|
374 chuck 1.6 static const char KEY[];
|
375 kumpf 1.1
|
376 chuck 1.6 // NotImplemented(const String& method) : Exception(MSG + method) { }
377 NotImplemented(const String& method)
378 : Exception(MessageLoaderParms(KEY, MSG, method)) { }
|
379 kumpf 1.1 };
380
381 class PEGASUS_COMMON_LINKAGE StackUnderflow : public Exception
382 {
383 public:
384
385 static const char MSG[];
|
386 chuck 1.6 static const char KEY[];
|
387 kumpf 1.1
|
388 chuck 1.6 //StackUnderflow() : Exception(MSG) { }
389 StackUnderflow()
390 : Exception(MessageLoaderParms(KEY, MSG)) { }
|
391 kumpf 1.1 };
392
393 class PEGASUS_COMMON_LINKAGE StackOverflow : public Exception
394 {
395 public:
396
397 static const char MSG[];
|
398 chuck 1.6 static const char KEY[];
|
399 kumpf 1.1
|
400 chuck 1.6 //StackOverflow() : Exception(MSG) { }
401 StackOverflow()
402 : Exception(MessageLoaderParms(KEY, MSG)) { }
|
403 kumpf 1.1 };
404
405 class PEGASUS_COMMON_LINKAGE QueueUnderflow : public Exception
406 {
407 public:
408
409 static const char MSG[];
|
410 chuck 1.6 static const char KEY[];
|
411 kumpf 1.1
|
412 chuck 1.6 //QueueUnderflow() : Exception(MSG) { }
413 QueueUnderflow()
414 : Exception(MessageLoaderParms(KEY, MSG)) { }
|
415 kumpf 1.1 };
416
417 class PEGASUS_COMMON_LINKAGE BadFormat : public Exception
418 {
419 public:
420
421 static const char MSG[];
|
422 chuck 1.6 static const char KEY[];
|
423 kumpf 1.1
|
424 chuck 1.6 //BadFormat() : Exception(MSG) { }
425 BadFormat()
426 : Exception(MessageLoaderParms(KEY, MSG)) { }
|
427 kumpf 1.1 };
428
429 class PEGASUS_COMMON_LINKAGE BadlyFormedCGIQueryString : public Exception
430 {
431 public:
432
433 static const char MSG[];
|
434 chuck 1.6 static const char KEY[];
|
435 kumpf 1.1
|
436 chuck 1.6 //BadlyFormedCGIQueryString() : Exception(MSG) { }
437 BadlyFormedCGIQueryString()
438 : Exception(MessageLoaderParms(KEY, MSG)) { }
|
439 kumpf 1.1 };
440
441 class PEGASUS_COMMON_LINKAGE DynamicLoadFailed : public Exception
442 {
443 public:
444
445 static const char MSG[];
|
446 chuck 1.6 static const char KEY[];
|
447 kumpf 1.1
|
448 chuck 1.6 //DynamicLoadFailed(const String& libraryName)
449 //: Exception(MSG + libraryName) { }
|
450 chuck 1.5
|
451 chuck 1.6 DynamicLoadFailed(const String& libraryName)
452 : Exception(MessageLoaderParms(KEY, MSG, libraryName)) { }
|
453 kumpf 1.1 };
454
455 class PEGASUS_COMMON_LINKAGE DynamicLookupFailed : public Exception
456 {
457 public:
458
459 static const char MSG[];
|
460 chuck 1.6 static const char KEY[];
|
461 kumpf 1.1
|
462 chuck 1.6 //DynamicLookupFailed(const String& symbolName)
463 //: Exception(MSG + symbolName) { }
464 DynamicLookupFailed(const String& symbolName)
465 : Exception(MessageLoaderParms(KEY, MSG, symbolName)) { }
|
466 kumpf 1.1 };
467
468 class PEGASUS_COMMON_LINKAGE CannotOpenDirectory : public Exception
469 {
470 public:
471
472 static const char MSG[];
|
473 chuck 1.6 static const char KEY[];
|
474 kumpf 1.1
|
475 chuck 1.6 //CannotOpenDirectory(const String& path) : Exception(MSG + path) { }
476 CannotOpenDirectory(const String& path)
477 : Exception(MessageLoaderParms(KEY, MSG, path)) { }
|
478 kumpf 1.1 };
479
480 class PEGASUS_COMMON_LINKAGE ParseError : public Exception
481 {
482 public:
483
484 static const char MSG[];
|
485 chuck 1.6 static const char KEY[];
|
486 kumpf 1.1
|
487 chuck 1.6 //ParseError(const String& message) : Exception(MSG + message) { }
488 ParseError(const String& message)
489 : Exception(MessageLoaderParms(KEY, MSG, message)) { }
|
490 kumpf 1.1 };
491
492 class PEGASUS_COMMON_LINKAGE MissingNullTerminator : public Exception
493 {
494 public:
495
496 static const char MSG[];
|
497 chuck 1.6 static const char KEY[];
|
498 kumpf 1.1
|
499 chuck 1.6 //MissingNullTerminator() : Exception(MSG) { }
500 MissingNullTerminator()
501 : Exception(MessageLoaderParms(KEY, MSG)) { }
|
502 chuck 1.5 };
503
504 //l10n start
505
506 class PEGASUS_COMMON_LINKAGE MalformedLanguageHeader: public Exception
507 {
508 public:
509
510 static const char MSG[];
|
511 chuck 1.6 static const char KEY[];
|
512 chuck 1.5
|
513 chuck 1.6 //MalformedLanguageHeader(const String& error) : Exception(MSG + error) { }
514 MalformedLanguageHeader(const String& error)
515 : Exception(MessageLoaderParms(KEY, MSG, error)) { }
|
516 chuck 1.5 };
517
518
519 class PEGASUS_COMMON_LINKAGE InvalidAcceptLanguageHeader: public Exception
520 {
521 public:
522
523 static const char MSG[];
|
524 chuck 1.6 static const char KEY[];
|
525 chuck 1.5
|
526 chuck 1.6 //InvalidAcceptLanguageHeader(const String& error) : Exception(MSG + error) { }
527 InvalidAcceptLanguageHeader(const String& error)
528 : Exception(MessageLoaderParms(KEY, MSG, error)) { }
|
529 kumpf 1.1 };
530
|
531 chuck 1.5 class PEGASUS_COMMON_LINKAGE InvalidContentLanguageHeader: public Exception
532 {
533 public:
534
535 static const char MSG[];
|
536 chuck 1.6 static const char KEY[];
|
537 chuck 1.5
|
538 chuck 1.6 //InvalidContentLanguageHeader(const String& error) : Exception(MSG + error) { }
539 InvalidContentLanguageHeader(const String& error)
540 : Exception(MessageLoaderParms(KEY, MSG, error)) { }
|
541 chuck 1.5 };
542
543 //l10n end
544
|
545 kumpf 1.1 class PEGASUS_COMMON_LINKAGE InvalidAuthHeader: public Exception
546 {
547 public:
548
549 static const char MSG[];
|
550 chuck 1.6 static const char KEY[];
|
551 kumpf 1.1
|
552 chuck 1.6 //InvalidAuthHeader() : Exception(MSG) { }
553 InvalidAuthHeader()
554 : Exception(MessageLoaderParms(KEY, MSG)) { }
|
555 kumpf 1.1 };
556
557 class PEGASUS_COMMON_LINKAGE UnauthorizedAccess: public Exception
558 {
559 public:
560
561 static const char MSG[];
|
562 chuck 1.6 static const char KEY[];
|
563 kumpf 1.1
|
564 chuck 1.6 //UnauthorizedAccess() : Exception(MSG) { }
565 UnauthorizedAccess()
566 : Exception(MessageLoaderParms(KEY, MSG)) { }
|
567 kumpf 1.1 };
568
|
569 kumpf 1.4 class PEGASUS_COMMON_LINKAGE IncompatibleTypesException : public Exception
570 {
571 public:
|
572 chuck 1.5 IncompatibleTypesException();
|
573 kumpf 1.4 };
574
|
575 kumpf 1.10 class PEGASUS_COMMON_LINKAGE InternalSystemError : public Exception
576 {
577 public:
578
579 static const char MSG[];
580
581 InternalSystemError()
582 : Exception(MSG) { }
583 };
584
|
585 kumpf 1.4
|
586 kumpf 1.1 /** The CIMException defines the CIM exceptions that are formally defined in
|
587 kumpf 1.2 the CIM Operations over HTTP specification. TraceableCIMException allows
|
588 kumpf 1.1 file name and line number information to be added for diagnostic purposes.
589 */
|
590 kumpf 1.2 class PEGASUS_COMMON_LINKAGE TraceableCIMException : public CIMException
|
591 kumpf 1.1 {
592 public:
593
|
594 kumpf 1.2 TraceableCIMException(
595 CIMStatusCode code,
596 const String& message,
|
597 kumpf 1.11 const String& file,
|
598 kumpf 1.2 Uint32 line);
|
599 humberto 1.7
600 //l10n
601 TraceableCIMException(
602 CIMStatusCode code,
603 MessageLoaderParms parms,
|
604 kumpf 1.11 const String& file,
|
605 humberto 1.7 Uint32 line);
|
606 kumpf 1.2
|
607 chuck 1.5 // l10n
608 TraceableCIMException(
609 const ContentLanguages& langs,
610 CIMStatusCode code,
611 const String& message,
|
612 kumpf 1.11 const String& file,
|
613 chuck 1.5 Uint32 line);
614
|
615 kumpf 1.2 TraceableCIMException(const CIMException & cimException);
616
617 String getDescription() const;
|
618 kumpf 1.1
619 String getTraceDescription() const;
|
620 kumpf 1.11
621 String getCIMMessage() const;
622 void setCIMMessage(const String& cimMessage);
623
624 String getFile() const;
625 Uint32 getLine() const;
626 const ContentLanguages& getContentLanguages() const;
|
627 kumpf 1.2 };
|
628 kumpf 1.1
|
629 kumpf 1.2 #define PEGASUS_CIM_EXCEPTION(CODE, EXTRA_MESSAGE) \
|
630 kumpf 1.11 TraceableCIMException(CODE, EXTRA_MESSAGE, String(__FILE__), __LINE__)
|
631 chuck 1.5
632 // l10n
633 #define PEGASUS_CIM_EXCEPTION_LANG(LANGS, CODE, EXTRA_MESSAGE) \
|
634 kumpf 1.11 TraceableCIMException( \
635 LANGS, CODE, EXTRA_MESSAGE, String(__FILE__), __LINE__)
|
636 humberto 1.7
637 //l10n
638 #define PEGASUS_CIM_EXCEPTION_L(CODE, MSG_PARMS) \
|
639 kumpf 1.11 TraceableCIMException(CODE, MSG_PARMS, String(__FILE__), __LINE__)
|
640 kumpf 1.1
641 PEGASUS_NAMESPACE_END
642
643 #endif /* Pegasus_InternalException_h */
|