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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2