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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2