(file) Return to Exception.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

  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 */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2