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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2