1 kumpf 1.43 //%/////////////////////////////////////////////////////////////////////////////
|
2 mike 1.22 //
|
3 kumpf 1.43 // Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Company, IBM,
4 // The Open Group, Tivoli Systems
|
5 mike 1.22 //
6 // Permission is hereby granted, free of charge, to any person obtaining a copy
|
7 chip 1.40 // of this software and associated documentation files (the "Software"), to
8 // deal in the Software without restriction, including without limitation the
9 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
10 mike 1.22 // sell copies of the Software, and to permit persons to whom the Software is
11 // furnished to do so, subject to the following conditions:
|
12 kumpf 1.43 //
|
13 chip 1.40 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
|
14 mike 1.22 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
15 // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
|
16 chip 1.40 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
17 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
18 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
19 mike 1.22 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 //
22 //==============================================================================
23 //
24 // Author: Mike Brasher (mbrasher@bmc.com)
25 //
|
26 mike 1.23 // Modified By: Nag Boranna (nagaraja_boranna@hp.com)
27 //
|
28 karl 1.26 // Modified By: Karl Schopmeyer (k.schopmeyer@opengroup.org)
|
29 mike 1.22 //
|
30 kumpf 1.30 // Modified By: Jenny Yu (jenny_yu@hp.com)
31 //
|
32 mike 1.22 //%/////////////////////////////////////////////////////////////////////////////
33
34 #ifndef Pegasus_Exception_h
35 #define Pegasus_Exception_h
36
37 #include <Pegasus/Common/Config.h>
38 #include <Pegasus/Common/String.h>
39 #include <Pegasus/Common/CIMStatusCode.h>
40
|
41 chip 1.40 #include <cstring>
42
|
43 mike 1.22 PEGASUS_NAMESPACE_BEGIN
44
|
45 mike 1.25 // REVIEW: these classes need a major restructuring. This has become the
46 // REVIEW: dumping ground for exception classes.
47
|
48 kumpf 1.44 // ATTN this documentation is incomplete
49
50 /** Class Exception
51
52 <p>The <tt>Exception</tt> class is the parent class for all
53 exceptions that can be generated by any component of the
54 Pegasus infrastructure. It includes not only the CIM exceptions
55 that are defined by the DMTF, but also various exceptions that
56 may occur during the processing of functions called by clients
57 and providers.</p>
|
58 mike 1.22 */
59 class PEGASUS_COMMON_LINKAGE Exception
60 {
61 public:
62
63 Exception(const String& message);
64
65 Exception(const char* message);
66
67 ~Exception();
68
69 const String& getMessage() const { return _message; }
70
71 protected:
72
73 String _message;
74 };
75
76 /** Class AssertionFailureException
77 This is an Exception class tied to the definiton of an assert named
78 PEGASUS_ASSERT. This assertion can be included at any point in Pegasus
79 mike 1.22 code
80 */
81 class PEGASUS_COMMON_LINKAGE AssertionFailureException : public Exception
82 {
83 public:
84
85 AssertionFailureException(
86 const char* file,
87 size_t line,
88 const String& message);
89 };
90
|
91 chip 1.40 /** define PEGASUS_ASSERT assertion statement. This statement tests the
92 condition defined by the parameters and if not True executes an
|
93 mike 1.22
94 <pre>
95 throw AssertionFailureException
96 </pre>
97
98 defining the file, line and condition that was tested.
99 */
|
100 kumpf 1.45 #ifdef NDEBUG
101 #define PEGASUS_ASSERT(COND)
102 #else
|
103 mike 1.22 #define PEGASUS_ASSERT(COND) \
104 do \
105 { \
|
106 kumpf 1.45 if (!(COND)) \
107 { \
108 throw AssertionFailureException(__FILE__, __LINE__, #COND); \
109 } \
|
110 mike 1.22 } while (0)
|
111 kumpf 1.45 #endif
|
112 chip 1.40
|
113 karl 1.33 /* Macro to Create the equivalent of an assert but without the
114 termination. This can be used as a temporary marker for asserts
115 that are not working. Prints out the error but continues.
116 NOTE: This is useful in test programs to keep us aware that we
117 have problems without halting the test sequence.
118 This was created primarily to put temporary asserts into tests that
119 are not yet working correctly but will not stop the test sequence.
120 */
121 #define ASSERTTEMP(COND) \
122 do \
123 { \
124 if (!(COND)) \
125 { \
126 cerr << "TEMP Assert Error TEMP **********" \
127 <<__FILE__ << " " << __LINE__ \
128 << " " << #COND << endl; \
129 } \
130 } while (0)
131
|
132 mike 1.22
|
133 kumpf 1.44 // ATTN: P3 KS documentation Required
|
134 mike 1.22 class PEGASUS_COMMON_LINKAGE BadReference : public Exception
135 {
136 public:
137
138 BadReference(const String& message) : Exception(message) { }
139 };
140
|
141 kumpf 1.44 // ATTN: P3 KS documentation Required
|
142 mike 1.22 class PEGASUS_COMMON_LINKAGE OutOfBounds : public Exception
143 {
144 public:
145
146 static const char MSG[];
147
148 OutOfBounds() : Exception(MSG) { }
149 };
150
|
151 kumpf 1.44 // ATTN: P3 KS documentation Required
|
152 mike 1.22 class PEGASUS_COMMON_LINKAGE AlreadyExists : public Exception
153 {
154 public:
|
155 chip 1.40
|
156 mike 1.22 static const char MSG[];
157
158 AlreadyExists(const String& x = String()) : Exception(MSG + x) { }
159 };
160
|
161 kumpf 1.44 // ATTN: P3 KS documentation Required
|
162 mike 1.22 class PEGASUS_COMMON_LINKAGE NullPointer : public Exception
163 {
164 public:
165
166 static const char MSG[];
167
168 NullPointer() : Exception(MSG) { }
169 };
170
|
171 kumpf 1.44 // ATTN: P3 KS documentation Required
|
172 mike 1.22 class PEGASUS_COMMON_LINKAGE IllegalName : public Exception
173 {
174 public:
175
176 static const char MSG[];
177
178 IllegalName() : Exception(MSG) { }
179 };
180
|
181 kumpf 1.44 // ATTN: P3 KS documentation Required
|
182 kumpf 1.39 class PEGASUS_COMMON_LINKAGE UninitializedHandle : public Exception
|
183 mike 1.22 {
184 public:
185
186 static const char MSG[];
187
|
188 kumpf 1.39 UninitializedHandle() : Exception(MSG) { }
|
189 mike 1.22 };
190
|
191 kumpf 1.44 // ATTN: P3 KS documentation Required
|
192 mike 1.22 class PEGASUS_COMMON_LINKAGE InvalidPropertyOverride : public Exception
193 {
194 public:
195
196 static const char MSG[];
197
198 InvalidPropertyOverride(const String& message)
199 : Exception(MSG + message) { }
200 };
201
|
202 kumpf 1.44 // ATTN: P3 KS documentation Required
|
203 mike 1.22 class PEGASUS_COMMON_LINKAGE InvalidMethodOverride : public Exception
204 {
205 public:
206
207 static const char MSG[];
208
209 InvalidMethodOverride(const String& message)
210 : Exception(MSG + message) { }
211 };
212
|
213 kumpf 1.44 // ATTN: P3 KS documentation Required
|
214 mike 1.22 class PEGASUS_COMMON_LINKAGE UndeclaredQualifier : public Exception
215 {
216 public:
217
218 static const char MSG[];
219
220 UndeclaredQualifier(const String& qualifierName)
221 : Exception(MSG + qualifierName) { }
222 };
223
|
224 kumpf 1.44 // ATTN: P3 KS documentation Required
|
225 mike 1.22 class PEGASUS_COMMON_LINKAGE BadQualifierScope : public Exception
226 {
227 public:
228
229 static const char MSG[];
230
231 BadQualifierScope(const String& qualifierName, const String& scopeString)
232 : Exception(MSG + qualifierName + String(" scope=") + scopeString) { }
233 };
234
|
235 kumpf 1.44 // ATTN: P3 KS documentation Required
|
236 mike 1.22 class PEGASUS_COMMON_LINKAGE BadQualifierOverride : public Exception
237 {
238 public:
239
240 static const char MSG[];
241
242 BadQualifierOverride(const String& qualifierName)
243 : Exception(MSG + qualifierName) { }
244 };
245
246 class PEGASUS_COMMON_LINKAGE BadQualifierType : public Exception
247 {
248 public:
249
250 static const char MSG[];
251
252 BadQualifierType(const String& qualifierName)
253 : Exception(MSG + qualifierName) { }
254 };
255
|
256 kumpf 1.44 // ATTN: P3 KS documentation Required
|
257 mike 1.22 class PEGASUS_COMMON_LINKAGE NullType : public Exception
258 {
259 public:
260
261 static const char MSG[];
262
263 NullType() : Exception(MSG) { }
264 };
265
|
266 kumpf 1.44 // ATTN: P3 KS documentation Required
|
267 mike 1.22 class PEGASUS_COMMON_LINKAGE AddedReferenceToClass : public Exception
268 {
269 public:
270
271 static const char MSG[];
272
273 AddedReferenceToClass(const String& className)
274 : Exception(MSG + className) { }
275 };
276
|
277 kumpf 1.44 // ATTN: P3 KS documentation Required
|
278 mike 1.22 class PEGASUS_COMMON_LINKAGE ClassAlreadyResolved : public Exception
279 {
280 public:
281
282 static const char MSG[];
283
284 ClassAlreadyResolved(const String& className)
285 : Exception(MSG + className) { }
286 };
287
|
288 kumpf 1.44 // ATTN: P3 KS documentation Required
|
289 mike 1.22 class PEGASUS_COMMON_LINKAGE ClassNotResolved : public Exception
290 {
291 public:
292
293 static const char MSG[];
294
295 ClassNotResolved(const String& className)
296 : Exception(MSG + className) { }
297 };
298
|
299 kumpf 1.44 // ATTN: P3 KS documentation Required
|
300 mike 1.22 class PEGASUS_COMMON_LINKAGE InstanceAlreadyResolved : public Exception
301 {
302 public:
303
304 static const char MSG[];
305
|
306 karl 1.29 InstanceAlreadyResolved()
307 : Exception(MSG) { }
|
308 mike 1.22 };
309
|
310 kumpf 1.44 // ATTN: P3 KS documentation Required
|
311 mike 1.22 class PEGASUS_COMMON_LINKAGE InstantiatedAbstractClass : public Exception
312 {
313 public:
314
315 static const char MSG[];
316
|
317 karl 1.29 InstantiatedAbstractClass(const String& className)
318 : Exception(MSG + className) { }
|
319 mike 1.22 };
320
|
321 kumpf 1.44 // ATTN: P3 KS documentation Required
|
322 mike 1.22 class PEGASUS_COMMON_LINKAGE NoSuchProperty : public Exception
323 {
324 public:
325
326 static const char MSG[];
327
328 NoSuchProperty(const String& propertyName)
329 : Exception(MSG + propertyName) { }
330 };
331
|
332 kumpf 1.44 // ATTN: P3 KS documentation Required
|
333 mike 1.22 class PEGASUS_COMMON_LINKAGE TruncatedCharacter : public Exception
334 {
335 public:
336
337 static const char MSG[];
338
339 TruncatedCharacter() : Exception(MSG) { }
340 };
341
|
342 kumpf 1.44 // ATTN: P3 KS documentation Required
|
343 mike 1.22 class PEGASUS_COMMON_LINKAGE ExpectedReferenceValue : public Exception
344 {
345 public:
346
347 static const char MSG[];
348
349 ExpectedReferenceValue() : Exception(MSG) { }
350 };
351
|
352 kumpf 1.44 // ATTN: P3 KS documentation Required
|
353 mike 1.22 class PEGASUS_COMMON_LINKAGE MissingReferenceClassName : public Exception
354 {
355 public:
356
357 static const char MSG[];
358
359 MissingReferenceClassName() : Exception(MSG) { }
360 };
361
|
362 kumpf 1.44 // ATTN: P3 KS documentation Required
|
363 mike 1.22 class PEGASUS_COMMON_LINKAGE IllegalTypeTag : public Exception
364 {
365 public:
366
367 static const char MSG[];
368
369 IllegalTypeTag() : Exception(MSG) { }
370 };
371
|
372 kumpf 1.44 // ATTN: P3 KS documentation Required
|
373 mike 1.22 class PEGASUS_COMMON_LINKAGE TypeMismatch : public Exception
374 {
375 public:
376
377 static const char MSG[];
378
379 TypeMismatch() : Exception(MSG) { }
380 };
|
381 karl 1.26
|
382 kumpf 1.44 // ATTN: P3 KS documentation Required
|
383 karl 1.26 class PEGASUS_COMMON_LINKAGE CIMValueIsNull : public Exception
384 {
385 public:
386
387 static const char MSG[];
388
389 CIMValueIsNull() : Exception(MSG) { }
390 };
391
|
392 kumpf 1.44 // ATTN: P3 KS documentation Required
|
393 karl 1.26 class PEGASUS_COMMON_LINKAGE CIMValueInvalidType : public Exception
394 {
395 public:
396
397 static const char MSG[];
398
399 CIMValueInvalidType() : Exception(MSG) { }
400 };
401
|
402 mike 1.22
|
403 kumpf 1.44 // ATTN: P3 KS documentation Required
|
404 mike 1.24 class PEGASUS_COMMON_LINKAGE DynamicCastFailed : public Exception
405 {
406 public:
407
408 static const char MSG[];
409
410 DynamicCastFailed() : Exception(MSG) { }
411 };
412
|
413 kumpf 1.44 // ATTN: P3 KS documentation Required
|
414 mike 1.22 class PEGASUS_COMMON_LINKAGE NoSuchFile : public Exception
415 {
416 public:
417
418 static const char MSG[];
419
420 NoSuchFile(const String& fileName) : Exception(MSG + fileName) { }
421 };
|
422 mike 1.23
|
423 kumpf 1.44 // ATTN: P3 KS documentation Required
|
424 mike 1.23 class PEGASUS_COMMON_LINKAGE FileNotReadable : public Exception
425 {
426 public:
427
428 static const char MSG[];
429
430 FileNotReadable(const String& fileName) : Exception(MSG + fileName) { }
431 };
432
|
433 mike 1.22 class PEGASUS_COMMON_LINKAGE CannotBindToAddress : public Exception
434 {
435 public:
436
437 static const char MSG[];
438
439 CannotBindToAddress(const String& address) : Exception(MSG + address) { }
440 };
441
|
442 kumpf 1.44 // ATTN: P3 KS documentation Required
|
443 mike 1.22 class PEGASUS_COMMON_LINKAGE CannotRemoveDirectory : public Exception
444 {
445 public:
446
447 static const char MSG[];
448
449 CannotRemoveDirectory(const String& path) : Exception(MSG + path) { }
450 };
451
|
452 kumpf 1.44 // ATTN: P3 KS documentation Required
|
453 mike 1.22 class PEGASUS_COMMON_LINKAGE CannotRemoveFile : public Exception
454 {
455 public:
456
457 static const char MSG[];
458
459 CannotRemoveFile(const String& path) : Exception(MSG + path) { }
460 };
461
|
462 kumpf 1.44 // ATTN: P3 KS documentation Required
|
463 mike 1.22 class PEGASUS_COMMON_LINKAGE CannotRenameFile : public Exception
464 {
465 public:
466
467 static const char MSG[];
468
469 CannotRenameFile(const String& path) : Exception(MSG + path) { }
470 };
471
|
472 kumpf 1.44 // ATTN: P3 KS documentation Required
|
473 mike 1.22 class PEGASUS_COMMON_LINKAGE NoSuchDirectory : public Exception
474 {
475 public:
476
477 static const char MSG[];
478
479 NoSuchDirectory(const String& directoryName)
480 : Exception(MSG + directoryName) { }
481 };
482
483 class PEGASUS_COMMON_LINKAGE ChangeDirectoryFailed : public Exception
484 {
485 public:
486
487 static const char MSG[];
488
489 ChangeDirectoryFailed(const String& directoryName)
490 : Exception(MSG + directoryName) { }
491 };
492
|
493 kumpf 1.44 // ATTN: P3 KS documentation Required
|
494 mike 1.22 class PEGASUS_COMMON_LINKAGE CannotCreateDirectory : public Exception
495 {
496 public:
497
498 static const char MSG[];
499
500 CannotCreateDirectory(const String& path)
501 : Exception(MSG + path) { }
502 };
503
|
504 kumpf 1.44 // ATTN: P3 KS documentation Required
|
505 mike 1.22 class PEGASUS_COMMON_LINKAGE NoSuchNameSpace : public Exception
506 {
507 public:
508
509 static const char MSG[];
510
511 NoSuchNameSpace(const String& directoryName)
512 : Exception(MSG + directoryName) { }
513 };
514
|
515 kumpf 1.44 // ATTN: P3 KS documentation Required
|
516 mike 1.22 class PEGASUS_COMMON_LINKAGE CannotOpenFile : public Exception
517 {
518 public:
519
520 static const char MSG[];
521
522 CannotOpenFile(const String& path)
523 : Exception(MSG + path) { }
524 };
525
|
526 kumpf 1.44 // ATTN: P3 KS documentation Required
|
527 mike 1.22 class PEGASUS_COMMON_LINKAGE NotImplemented : public Exception
528 {
529 public:
530
531 static const char MSG[];
532
533 NotImplemented(const String& method) : Exception(MSG + method) { }
534 };
535
536 #define PEGASUS_CIM_EXCEPTION(CODE, EXTRA_MESSAGE) \
|
537 kumpf 1.31 CIMException(CODE, EXTRA_MESSAGE, __FILE__, __LINE__)
|
538 mike 1.22
|
539 chip 1.40 /** The CIMException defines the CIM exceptions that are formally defined in
|
540 mike 1.22 the CIM Operations over HTTP specification.
541 */
542 class PEGASUS_COMMON_LINKAGE CIMException : public Exception
543 {
544 public:
545
546 CIMException(
|
547 kumpf 1.32 CIMStatusCode code = CIM_ERR_SUCCESS,
|
548 kumpf 1.38 const String& message = String::EMPTY,
|
549 mike 1.22 const char* file = "",
|
550 kumpf 1.31 Uint32 line = 0);
|
551 mike 1.22
552 CIMStatusCode getCode() const { return _code; }
|
553 kumpf 1.38 String getDescription() const;
554 String getTraceDescription() const;
|
555 mike 1.22
556 private:
|
557 kumpf 1.30 CIMStatusCode _code;
558 const char* _file;
559 Uint32 _line;
|
560 chip 1.40
|
561 mike 1.22 };
562
563 class PEGASUS_COMMON_LINKAGE StackUnderflow : public Exception
564 {
565 public:
566
567 static const char MSG[];
568
569 StackUnderflow() : Exception(MSG) { }
570 };
571
|
572 mike 1.23 class PEGASUS_COMMON_LINKAGE StackOverflow : public Exception
573 {
574 public:
575
576 static const char MSG[];
577
578 StackOverflow() : Exception(MSG) { }
579 };
580
|
581 mike 1.22 class PEGASUS_COMMON_LINKAGE QueueUnderflow : public Exception
582 {
583 public:
584
585 static const char MSG[];
586
587 QueueUnderflow() : Exception(MSG) { }
588 };
589
590
591 class PEGASUS_COMMON_LINKAGE BadFormat : public Exception
592 {
593 public:
594
595 static const char MSG[];
596
597 BadFormat() : Exception(MSG) { }
598 };
599
600 class PEGASUS_COMMON_LINKAGE BadDateTimeFormat : public Exception
601 {
602 mike 1.22 public:
603
604 static const char MSG[];
605
606 BadDateTimeFormat() : Exception(MSG) { }
607 };
608
609 class PEGASUS_COMMON_LINKAGE IncompatibleTypes : public Exception
610 {
611 public:
612
613 static const char MSG[];
614
615 IncompatibleTypes() : Exception(MSG) { }
616 };
617
618 class PEGASUS_COMMON_LINKAGE BadlyFormedCGIQueryString : public Exception
619 {
620 public:
621
622 static const char MSG[];
623 mike 1.22
624 BadlyFormedCGIQueryString() : Exception(MSG) { }
625 };
626
627 class PEGASUS_COMMON_LINKAGE IllformedObjectName : public Exception
628 {
629 public:
630
631 static const char MSG[];
632
633 IllformedObjectName(const String& instanceName)
634 : Exception(MSG + instanceName) { }
635 };
636
637 class PEGASUS_COMMON_LINKAGE DynamicLoadFailed : public Exception
638 {
639 public:
640
641 static const char MSG[];
642
643 DynamicLoadFailed(const String& libraryName)
644 mike 1.22 : Exception(MSG + libraryName) { }
645 };
646
647 class PEGASUS_COMMON_LINKAGE DynamicLookupFailed : public Exception
648 {
649 public:
650
651 static const char MSG[];
652
653 DynamicLookupFailed(const String& symbolName)
654 : Exception(MSG + symbolName) { }
655 };
656
657 class PEGASUS_COMMON_LINKAGE CannotOpenDirectory : public Exception
658 {
659 public:
660
661 static const char MSG[];
662
663 CannotOpenDirectory(const String& path) : Exception(MSG + path) { }
664 };
665 mike 1.22
666 class PEGASUS_COMMON_LINKAGE CorruptFile : public Exception
667 {
668 public:
669
670 static const char MSG[];
671
672 CorruptFile(const String& path) : Exception(MSG + path) { }
|
673 mike 1.23 };
674
675 class PEGASUS_COMMON_LINKAGE BindFailed : public Exception
676 {
677 public:
678
679 static const char MSG[];
680
681 BindFailed(const String& message) : Exception(MSG + message) { }
682 };
683
684 class PEGASUS_COMMON_LINKAGE InvalidLocator : public Exception
685 {
686 public:
687
688 static const char MSG[];
689
690 InvalidLocator(const String& locator) : Exception(MSG + locator) { }
691 };
692
693 class PEGASUS_COMMON_LINKAGE CannotCreateSocket : public Exception
694 mike 1.23 {
695 public:
696
697 static const char MSG[];
698
699 CannotCreateSocket() : Exception(MSG) { }
700 };
701
702 class PEGASUS_COMMON_LINKAGE CannotConnect : public Exception
703 {
704 public:
705
706 static const char MSG[];
707
708 CannotConnect(const String& locator) : Exception(MSG + locator) { }
709 };
710
711 class PEGASUS_COMMON_LINKAGE UnexpectedFailure : public Exception
712 {
713 public:
714
715 mike 1.23 static const char MSG[];
716
717 UnexpectedFailure() : Exception(MSG) { }
718 };
719
720 class PEGASUS_COMMON_LINKAGE AlreadyConnected: public Exception
721 {
722 public:
723
724 static const char MSG[];
725
726 AlreadyConnected() : Exception(MSG) { }
727 };
728
729 class PEGASUS_COMMON_LINKAGE NotConnected: public Exception
730 {
731 public:
732
733 static const char MSG[];
734
735 NotConnected() : Exception(MSG) { }
736 mike 1.23 };
737
738 class PEGASUS_COMMON_LINKAGE TimedOut: public Exception
739 {
740 public:
741
742 static const char MSG[];
743
744 TimedOut() : Exception(MSG) { }
745 };
746
747 class PEGASUS_COMMON_LINKAGE ParseError : public Exception
748 {
749 public:
750
751 static const char MSG[];
752
753 ParseError(const String& message) : Exception(MSG + message) { }
754 };
755
756 class PEGASUS_COMMON_LINKAGE MissingNullTerminator : public Exception
757 mike 1.23 {
758 public:
759
760 static const char MSG[];
761
762 MissingNullTerminator() : Exception(MSG) { }
763 };
764
765 class PEGASUS_COMMON_LINKAGE SSL_Exception: public Exception
766 {
767 public:
768
769 static const char MSG[];
770
771 SSL_Exception(const String& message)
772 : Exception(MSG + message) { }
|
773 mike 1.22 };
774
|
775 kumpf 1.27 class PEGASUS_COMMON_LINKAGE InvalidAuthHeader: public Exception
776 {
777 public:
778
779 static const char MSG[];
780
781 InvalidAuthHeader() : Exception(MSG) { }
782 };
783
|
784 kumpf 1.41 class PEGASUS_COMMON_LINKAGE UnauthorizedAccess: public Exception
785 {
786 public:
787
788 static const char MSG[];
789
790 UnauthorizedAccess() : Exception(MSG) { }
791 };
792
|
793 kumpf 1.39 PEGASUS_COMMON_LINKAGE void ThrowUninitializedHandle();
|
794 mike 1.22
795 PEGASUS_NAMESPACE_END
796
797 #endif /* Pegasus_Exception_h */
|