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