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

  1 karl  1.2 //%2006////////////////////////////////////////////////////////////////////////
  2           //
  3           // 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           // IBM Corp.; EMC Corporation, The Open Group.
  7           // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
  8           // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
  9           // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 10           // EMC Corporation; VERITAS Software Corporation; The Open Group.
 11           // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 12           // EMC Corporation; Symantec Corporation; The Open Group.
 13           //
 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 karl  1.2 // 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           //%/////////////////////////////////////////////////////////////////////////////
 33           
 34           #ifndef Pegasus_CIMError_h
 35           #define Pegasus_CIMError_h
 36           
 37           #include <Pegasus/Common/String.h>
 38           #include <Pegasus/Common/Array.h>
 39           #include <Pegasus/Common/CIMInstance.h>
 40           
 41           PEGASUS_NAMESPACE_BEGIN
 42           
 43 karl  1.2 /** CIMError is a specialized class that contains information about the
 44               severity, cause, recommended actions and other data related to the failure
 45               of a CIM Operation.  This class is defined in the DMTF Interop schema.
 46               Instances of this type MAY be included by a CIMServer as part of the
 47               response to a CIM Operation as part of an ERROR entity.  CIMErrors like
 48               CIM_Indications do not persist, and therefore do not have keys.
 49               Currently, this is only allowed by defining a concrete class with the
 50               Indication qualifier.  Until the CIM Specification is modified to allow
 51               other concrete classes without keys, the CIMError class MUST be qualified
 52               by both Indication and Exception.  After this, the Indication qualifier
 53               can be removed.  This class is implemented as a Pegasus CIMInstance but
 54               becasue of the special nature of the usage of CIMError this class provides
 55               specific accessors and modifiersfor each property in the class.
 56           
 57               Because CIMError is implemented as a facade for a CIMInstance it
 58               uses a shared representation model for the data. More information about
 59 kumpf 1.4     the effects of using this model are in the CIMInstance documentation.
 60 karl  1.2 
 61               NOTE: In the  only a single public constructor is provided that
 62               requires setting all of the required properties in any constructed
 63               CIMError class.  This class also provides specific enumerations for
 64               those properties in the CIM_Error class that are mof enumerations
 65               (values and valuemaps).
 66           */
 67           
 68           class PEGASUS_COMMON_LINKAGE CIMError { public:
 69           
 70               /** Enumeration of the possible values in the
 71                   ErrorType Property of the CIM_Error Class
 72               */
 73               enum ErrorTypeEnum
 74               {
 75 kumpf 1.4         ERROR_TYPE_UNKNOWN = 0,
 76                   ERROR_TYPE_OTHER = 1,
 77                   ERROR_TYPE_COMMUNICATIONS_ERROR = 2,
 78                   ERROR_TYPE_QUALITY_OF_SERVICE_ERROR = 3,
 79                   ERROR_TYPE_SOFTWARE_ERROR = 4,
 80                   ERROR_TYPE_HARDWARE_ERROR = 5,
 81                   ERROR_TYPE_ENVIRONMENTAL_ERROR = 6,
 82                   ERROR_TYPE_SECURITY_ERROR = 7,
 83                   ERROR_TYPE_OVERSUBSCRIPTION_ERROR = 8,
 84                   ERROR_TYPE_UNAVAILABLE_RESOURCE_ERROR = 9,
 85                   ERROR_TYPE_UNSUPPORTED_OPERATION_ERROR = 10
 86 karl  1.2     };
 87           
 88               /** Enumeration of the possiblle values in the
 89                   Perceived Severity Property of the CIM_Error Class
 90               */
 91               enum PerceivedSeverityEnum
 92               {
 93 kumpf 1.4         PERCEIVED_SEVERITY_UNKNOWN = 0,
 94                   PERCEIVED_SEVERITY_UNUSED_1 = 1,
 95                   PERCEIVED_SEVERITY_LOW = 2,
 96                   PERCEIVED_SEVERITY_MEDIUM = 3,
 97                   PERCEIVED_SEVERITY_HIGH = 4,
 98                   PERCEIVED_SEVERITY_FATAL = 5
 99 karl  1.2     };
100           
101 kumpf 1.4     /**  Enumeration of the possible values in the
102 karl  1.2          ProbableCause Property of hte CIM_Error Class
103               */
104               enum ProbableCauseEnum
105               {
106 kumpf 1.4         PROBABLE_CAUSE_UNKNOWN = 0,
107                   PROBABLE_CAUSE_OTHER = 1,
108                   PROBABLE_CAUSE_ADAPTER_CARD_ERROR = 2,
109                   PROBABLE_CAUSE_APPLICATION_SUBSYSTEM_FAILURE = 3,
110                   PROBABLE_CAUSE_BANDWIDTH_REDUCED = 4,
111                   PROBABLE_CAUSE_CONNECTION_ESTABLISHMENT_ERROR = 5,
112                   PROBABLE_CAUSE_COMMUNICATIONS_PROTOCOL_ERROR = 6,
113                   PROBABLE_CAUSE_COMMUNICATIONS_SUBSYSTEM_FAILURE = 7,
114                   PROBABLE_CAUSE_CONFIGURATION_CUSTOMIZATION_ERROR = 8,
115                   PROBABLE_CAUSE_CONGESTION = 9,
116                   PROBABLE_CAUSE_CORRUPT_DATA = 10,
117                   PROBABLE_CAUSE_CPU_CYCLES_LIMIT_EXCEEDED = 11,
118                   PROBABLE_CAUSE_DATASET_MODEM_ERROR = 12,
119                   PROBABLE_CAUSE_DEGRADED_SIGNAL = 13,
120                   PROBABLE_CAUSE_DTE_DCE_INTERFACE_ERROR = 14,
121                   PROBABLE_CAUSE_ENCLOSURE_DOOR_OPEN = 15,
122                   PROBABLE_CAUSE_EQUIPMENT_MALFUNCTION = 16,
123                   PROBABLE_CAUSE_EXCESSIVE_VIBRATION = 17,
124                   PROBABLE_CAUSE_FILE_FORMAT_ERROR = 18,
125                   PROBABLE_CAUSE_FIRE_DETECTED = 19,
126                   PROBABLE_CAUSE_FLOOD_DETECTED = 20,
127 kumpf 1.4         PROBABLE_CAUSE_FRAMING_ERROR = 21,
128                   PROBABLE_CAUSE_HVAC_PROBLEM = 22,
129                   PROBABLE_CAUSE_HUMIDITY_UNACCEPTABLE = 23,
130                   PROBABLE_CAUSE_I_O_DEVICE_ERROR = 24,
131                   PROBABLE_CAUSE_INPUT_DEVICE_ERROR = 25,
132                   PROBABLE_CAUSE_LAN_ERROR = 26,
133                   PROBABLE_CAUSE_NON_TOXIC_LEAK_DETECTED = 27,
134                   PROBABLE_CAUSE_LOCAL_NODE_TRANSMISSION_ERROR = 28,
135                   PROBABLE_CAUSE_LOSS_OF_FRAME = 29,
136                   PROBABLE_CAUSE_LOSS_OF_SIGNAL = 30,
137                   PROBABLE_CAUSE_MATERIAL_SUPPLY_EXHAUSTED = 31,
138                   PROBABLE_CAUSE_MULTIPLEXER_PROBLEM = 32,
139                   PROBABLE_CAUSE_OUT_OF_MEMORY = 33,
140                   PROBABLE_CAUSE_OUTPUT_DEVICE_ERROR = 34,
141                   PROBABLE_CAUSE_PERFORMANCE_DEGRADED = 35,
142                   PROBABLE_CAUSE_POWER_PROBLEM = 36,
143                   PROBABLE_CAUSE_PRESSURE_UNACCEPTABLE = 37,
144                   PROBABLE_CAUSE_PROCESSOR_PROBLEM__INTERNAL_MACHINE_ERROR_ = 38,
145                   PROBABLE_CAUSE_PUMP_FAILURE = 39,
146                   PROBABLE_CAUSE_QUEUE_SIZE_EXCEEDED = 40,
147                   PROBABLE_CAUSE_RECEIVE_FAILURE = 41,
148 kumpf 1.4         PROBABLE_CAUSE_RECEIVER_FAILURE = 42,
149                   PROBABLE_CAUSE_REMOTE_NODE_TRANSMISSION_ERROR = 43,
150                   PROBABLE_CAUSE_RESOURCE_AT_OR_NEARING_CAPACITY = 44,
151                   PROBABLE_CAUSE_RESPONSE_TIME_EXCESSIVE = 45,
152                   PROBABLE_CAUSE_RETRANSMISSION_RATE_EXCESSIVE = 46,
153                   PROBABLE_CAUSE_SOFTWARE_ERROR = 47,
154                   PROBABLE_CAUSE_SOFTWARE_PROGRAM_ABNORMALLY_TERMINATED = 48,
155                   PROBABLE_CAUSE_SOFTWARE_PROGRAM_ERROR__INCORRECT_RESULTS_ = 49,
156                   PROBABLE_CAUSE_STORAGE_CAPACITY_PROBLEM = 50,
157                   PROBABLE_CAUSE_TEMPERATURE_UNACCEPTABLE = 51,
158                   PROBABLE_CAUSE_THRESHOLD_CROSSED = 52,
159                   PROBABLE_CAUSE_TIMING_PROBLEM = 53,
160                   PROBABLE_CAUSE_TOXIC_LEAK_DETECTED = 54,
161                   PROBABLE_CAUSE_TRANSMIT_FAILURE = 55,
162                   PROBABLE_CAUSE_TRANSMITTER_FAILURE = 56,
163                   PROBABLE_CAUSE_UNDERLYING_RESOURCE_UNAVAILABLE = 57,
164                   PROBABLE_CAUSE_VERSION_MISMATCH = 58,
165                   PROBABLE_CAUSE_PREVIOUS_ALERT_CLEARED = 59,
166                   PROBABLE_CAUSE_LOGIN_ATTEMPTS_FAILED = 60,
167                   PROBABLE_CAUSE_SOFTWARE_VIRUS_DETECTED = 61,
168                   PROBABLE_CAUSE_HARDWARE_SECURITY_BREACHED = 62,
169 kumpf 1.4         PROBABLE_CAUSE_DENIAL_OF_SERVICE_DETECTED = 63,
170                   PROBABLE_CAUSE_SECURITY_CREDENTIAL_MISMATCH = 64,
171                   PROBABLE_CAUSE_UNAUTHORIZED_ACCESS = 65,
172                   PROBABLE_CAUSE_ALARM_RECEIVED = 66,
173                   PROBABLE_CAUSE_LOSS_OF_POINTER = 67,
174                   PROBABLE_CAUSE_PAYLOAD_MISMATCH = 68,
175                   PROBABLE_CAUSE_TRANSMISSION_ERROR = 69,
176                   PROBABLE_CAUSE_EXCESSIVE_ERROR_RATE = 70,
177                   PROBABLE_CAUSE_TRACE_PROBLEM = 71,
178                   PROBABLE_CAUSE_ELEMENT_UNAVAILABLE = 72,
179                   PROBABLE_CAUSE_ELEMENT_MISSING = 73,
180                   PROBABLE_CAUSE_LOSS_OF_MULTI_FRAME = 74,
181                   PROBABLE_CAUSE_BROADCAST_CHANNEL_FAILURE = 75,
182                   PROBABLE_CAUSE_INVALID_MESSAGE_RECEIVED = 76,
183                   PROBABLE_CAUSE_ROUTING_FAILURE = 77,
184                   PROBABLE_CAUSE_BACKPLANE_FAILURE = 78,
185                   PROBABLE_CAUSE_IDENTIFIER_DUPLICATION = 79,
186                   PROBABLE_CAUSE_PROTECTION_PATH_FAILURE = 80,
187                   PROBABLE_CAUSE_SYNC_LOSS_OR_MISMATCH = 81,
188                   PROBABLE_CAUSE_TERMINAL_PROBLEM = 82,
189                   PROBABLE_CAUSE_REAL_TIME_CLOCK_FAILURE = 83,
190 kumpf 1.4         PROBABLE_CAUSE_ANTENNA_FAILURE = 84,
191                   PROBABLE_CAUSE_BATTERY_CHARGING_FAILURE = 85,
192                   PROBABLE_CAUSE_DISK_FAILURE = 86,
193                   PROBABLE_CAUSE_FREQUENCY_HOPPING_FAILURE = 87,
194                   PROBABLE_CAUSE_LOSS_OF_REDUNDANCY = 88,
195                   PROBABLE_CAUSE_POWER_SUPPLY_FAILURE = 89,
196                   PROBABLE_CAUSE_SIGNAL_QUALITY_PROBLEM = 90,
197                   PROBABLE_CAUSE_BATTERY_DISCHARGING = 91,
198                   PROBABLE_CAUSE_BATTERY_FAILURE = 92,
199                   PROBABLE_CAUSE_COMMERCIAL_POWER_PROBLEM = 93,
200                   PROBABLE_CAUSE_FAN_FAILURE = 94,
201                   PROBABLE_CAUSE_ENGINE_FAILURE = 95,
202                   PROBABLE_CAUSE_SENSOR_FAILURE = 96,
203                   PROBABLE_CAUSE_FUSE_FAILURE = 97,
204                   PROBABLE_CAUSE_GENERATOR_FAILURE = 98,
205                   PROBABLE_CAUSE_LOW_BATTERY = 99,
206                   PROBABLE_CAUSE_LOW_FUEL = 100,
207                   PROBABLE_CAUSE_LOW_WATER = 101,
208                   PROBABLE_CAUSE_EXPLOSIVE_GAS = 102,
209                   PROBABLE_CAUSE_HIGH_WINDS = 103,
210                   PROBABLE_CAUSE_ICE_BUILDUP = 104,
211 kumpf 1.4         PROBABLE_CAUSE_SMOKE = 105,
212                   PROBABLE_CAUSE_MEMORY_MISMATCH = 106,
213                   PROBABLE_CAUSE_OUT_OF_CPU_CYCLES = 107,
214                   PROBABLE_CAUSE_SOFTWARE_ENVIRONMENT_PROBLEM = 108,
215                   PROBABLE_CAUSE_SOFTWARE_DOWNLOAD_FAILURE = 109,
216                   PROBABLE_CAUSE_ELEMENT_REINITIALIZED = 110,
217                   PROBABLE_CAUSE_TIMEOUT = 111,
218                   PROBABLE_CAUSE_LOGGING_PROBLEMS = 112,
219                   PROBABLE_CAUSE_LEAK_DETECTED = 113,
220                   PROBABLE_CAUSE_PROTECTION_MECHANISM_FAILURE = 114,
221                   PROBABLE_CAUSE_PROTECTING_RESOURCE_FAILURE = 115,
222                   PROBABLE_CAUSE_DATABASE_INCONSISTENCY = 116,
223                   PROBABLE_CAUSE_AUTHENTICATION_FAILURE = 117,
224                   PROBABLE_CAUSE_BREACH_OF_CONFIDENTIALITY = 118,
225                   PROBABLE_CAUSE_CABLE_TAMPER = 119,
226                   PROBABLE_CAUSE_DELAYED_INFORMATION = 120,
227                   PROBABLE_CAUSE_DUPLICATE_INFORMATION = 121,
228                   PROBABLE_CAUSE_INFORMATION_MISSING = 122,
229                   PROBABLE_CAUSE_INFORMATION_MODIFICATION = 123,
230                   PROBABLE_CAUSE_INFORMATION_OUT_OF_SEQUENCE = 124,
231                   PROBABLE_CAUSE_KEY_EXPIRED = 125,
232 kumpf 1.4         PROBABLE_CAUSE_NON_REPUDIATION_FAILURE = 126,
233                   PROBABLE_CAUSE_OUT_OF_HOURS_ACTIVITY = 127,
234                   PROBABLE_CAUSE_OUT_OF_SERVICE = 128,
235                   PROBABLE_CAUSE_PROCEDURAL_ERROR = 129,
236                   PROBABLE_CAUSE_UNEXPECTED_INFORMATION = 130
237 karl  1.2     };
238           
239               /** Enumeration of the possible values for the
240                   ErrorSourceFormat Property of the CIM_Error Class
241               */
242               enum ErrorSourceFormatEnum
243               {
244 kumpf 1.4         ERROR_SOURCE_FORMAT_UNKNOWN = 0,
245                   ERROR_SOURCE_FORMAT_OTHER = 1,
246                   ERROR_SOURCE_FORMAT_CIM_OBJECT_HANDLE = 2
247 karl  1.2     };
248           
249               /** Enumeration of possible values for the
250                   CIMStatus Code Property of the CIM_Error Class
251               */
252               enum CIMStatusCodeEnum
253               {
254 kumpf 1.4         CIM_STATUS_CODE_CIM_ERR_FAILED = 1,
255                   CIM_STATUS_CODE_CIM_ERR_ACCESS_DENIED = 2,
256                   CIM_STATUS_CODE_CIM_ERR_INVALID_NAMESPACE = 3,
257                   CIM_STATUS_CODE_CIM_ERR_INVALID_PARAMETER = 4,
258                   CIM_STATUS_CODE_CIM_ERR_INVALID_CLASS = 5,
259                   CIM_STATUS_CODE_CIM_ERR_NOT_FOUND = 6,
260                   CIM_STATUS_CODE_CIM_ERR_NOT_SUPPORTED = 7,
261                   CIM_STATUS_CODE_CIM_ERR_CLASS_HAS_CHILDREN = 8,
262                   CIM_STATUS_CODE_CIM_ERR_CLASS_HAS_INSTANCES = 9,
263                   CIM_STATUS_CODE_CIM_ERR_INVALID_SUPERCLASS = 10,
264                   CIM_STATUS_CODE_CIM_ERR_ALREADY_EXISTS = 11,
265                   CIM_STATUS_CODE_CIM_ERR_NO_SUCH_PROPERTY = 12,
266                   CIM_STATUS_CODE_CIM_ERR_TYPE_MISMATCH = 13,
267                   CIM_STATUS_CODE_CIM_ERR_QUERY_LANGUAGE_NOT_SUPPORTED = 14,
268                   CIM_STATUS_CODE_CIM_ERR_INVALID_QUERY = 15,
269                   CIM_STATUS_CODE_CIM_ERR_METHOD_NOT_AVAILABLE = 16,
270                   CIM_STATUS_CODE_CIM_ERR_METHOD_NOT_FOUND = 17,
271                   CIM_STATUS_CODE_CIM_ERR_UNEXPECTED_RESPONSE = 18,
272                   CIM_STATUS_CODE_CIM_ERR_INVALID_RESPONSE_DESTINATION = 19,
273                   CIM_STATUS_CODE_CIM_ERR_NAMESPACE_NOT_EMPTY = 20
274 karl  1.2     };
275           
276               /** Default constructor creates a single CIMInstance representing the
277                   CIM_Error.  It builds in all of the properties in a CIM_Error and
278                   sets them to NULL.
279               */
280               CIMError();
281           
282               /** Constructor for minimum legal CIM_Error instance.  Requires input of
283                   all of the properties defined as required properties for CIM_Error.
284                   @param messageID String
285                   @param message String
286                   @param perceivedSeverity PerceivedSeverityEnum
287                   @param probableCause ProbableCauseEnum
288                   @param cimStatusCode CIMStatusCodeEnum
289                   @exceptions TBD
290                   <p><b>example</b>
291                   CIMError err1(PegasusOwningEntityName,
292                             "MessageIDString",
293                             "Text Of Message",
294                             CIMError::PERCEIVED_SEVERITY_LOW,
295 karl  1.2                   CIMError::PROBABLE_CAUSE_UNEXPECTED_INFORMATION,
296                             CIMError::CIM_STATUS_CODE_CIM_ERR_FAILED);
297               */
298               CIMError(const String& owningEntity,
299                        const String& messageID,
300                        const String& message,
301                        const PerceivedSeverityEnum& perceivedSeverity,
302                        const ProbableCauseEnum& probableCause,
303                        const CIMStatusCodeEnum& cimStatusCode);
304           
305               /** Copy constructor.
306               */
307               CIMError(const CIMError& x);
308           
309               /** Destructor.
310               */
311               ~CIMError();
312           
313               /** Accessor for the ErrorType property value in a CIM_Error
314                   Instance.
315                   @param value ErrorTypeEnum that is the current value of
316 karl  1.2         the Property in the CIM_Error Instance.
317                   @return bool returns true if the property is NOT Null.
318                   returns false the value of the property is Null.
319                   This value should be tested before accessing the returned
320                   value because the returned value will be invalid if
321                   the variable is null.
322                   @exception Generates CIM_ERR_TYPE_MISMATCH exception
323                   if property missing
324                   */
325               bool getErrorType(ErrorTypeEnum& value) const;
326           
327               /** Modify the ErrorType property value for the CIM_Error
328                   instance.
329                   @ param value ErrorTypeEnum representing the value to be
330                   set in the property.  if the null property equals true,
331                   this value is ignored.
332                   @param null boolean that is defaulted to false. If set
333                   true, this causes the property to be set to NULL, overriding
334                   any value in the property.
335                   @exception Generates exceptions if missing
336               */
337 karl  1.2     void setErrorType(ErrorTypeEnum value, bool null = false);
338           
339               /** Accessor for the OwningEntity property value in a CIM_Error
340                   Instance.
341                   @param value String that is the current value of
342                   the ErrorType Property in the CIM_Error Instance.
343                   @return bool returns true if the property is NOT Null.
344                   returns false the value of the property is Null.
345                   This value should be tested before accessing the returned
346                   value because the returned value will be invalid if
347                   the variable is null.
348                   @exception Generates CIM_ERR_TYPE_MISMATCH exception
349                   if property missing
350                */
351               bool getOwningEntity(String& value) const;
352           
353               /** Modify the OwningEntity property value for the CIM_Error
354                   instance.
355                   @ param value String representing the value to be
356                   set in the property.  If the null property equals true,
357                   this value is ignored.
358 karl  1.2         @param null boolean that is defaulted to zero. If set
359                   true, this causes the property to be set to NULL, overriding
360                   any value in the property.
361                   @exception Generates exceptions if TBD
362               */
363               void setOwningEntity(const String& value, bool null = false);
364           
365               /** Accessor for the OtherErrorType property value in a CIM_Error
366                   Instance.
367                   @param value String that is the current value of
368                   the OtherErrorType Property in the CIM_Error Instance.
369                   @return bool returns true if the property is NOT Null.
370                   returns false the value of the property is Null.
371                   This value should be tested before accessing the returned
372                   value because the returned value will be invalid if
373                   the variable is null.
374                   @exception Generates CIM_ERR_TYPE_MISMATCH exception
375                   if property missing
376                */
377               bool getOtherErrorType(String& value) const;
378           
379 karl  1.2     /** Modify the OtherErrorType property value for the CIM_Error
380                   instance.
381                   @param value String representing the value to be
382                   set in the property.  If the null property equals true,
383                   this value is ignored.
384                   @param null bool Sets the property to null if this parameter
385                   is true, overriding any property value setting.
386                   @exception Generates exceptions if TBD
387               */
388               void setOtherErrorType(const String& value, bool null = false);
389           
390               /** Accessor for the MessageID property value in a CIM_Error
391                   Instance.
392                   @param value String that is the current value of
393                   the MessageID Property in the CIM_Error Instance.
394                   @return bool returns true if the property has a legitimate value
395                   (is NOT Null).
396                   It returns false if the value of the property is Null.
397                   This value should be tested before accessing the returned
398                   value because the returned value will be invalid if
399                   the variable is null.
400 karl  1.2         @exception Generates CIM_ERR_TYPE_MISMATCH exception
401                   if property missing
402                */
403               bool getMessageID(String& value) const;
404           
405               /** Modify the MessageID property value for the CIM_Error
406                   instance.
407                   @ param value String representing the value to be
408                   set in the property.  If the null property equals true,
409                   this value is ignored.
410                   @param null boolean that is defaulted to zero. If set
411                   true, this causes the property to be set to NULL, overriding
412                   any value in the property.
413               */
414               void setMessageID(const String& value, bool null = false);
415           
416               /** Accessor for the Message property value in a CIM_Error
417                   Instance.
418                   @param value String that is the current value of
419                   the MessageID Property in the CIM_Error Instance.
420                   @return bool returns true if the property has a legitimate value
421 karl  1.2         (is NOT Null).
422                   It returns false if the value of the property is Null.
423                   This value should be tested before accessing the returned
424                   value because the returned value will be invalid if
425                   the variable is null.
426                   @exception Generates CIM_ERR_TYPE_MISMATCH exception
427                   if property missing
428                */
429               bool getMessage(String& value) const;
430           
431               /** Modify the Message property value for the CIM_Error
432                   instance.
433                   @ param value String representing the value to be
434                   set in the property.  If the null property equals true,
435                   this value is ignored.
436                   @param null boolean that is defaulted to zero. If set
437                   true, this causes the property to be set to NULL, overriding
438                   any value in the property.
439               */
440               void setMessage(const String& value, bool null = false);
441           
442 karl  1.2     /** Accessor for the MessageArguments property value in a CIM_Error
443                   Instance.
444                   @param value Array<String> that is the current value of
445                   the MessageArguments Array Property in the CIM_Error Instance.
446                   @return bool returns true if the property has a legitimate value
447                   (is NOT Null).
448                   It returns false if the value of the property is Null.
449                   This value should be tested before accessing the returned
450                   value because the returned value will be invalid if
451                   the variable is null.
452                   @exception Generates CIM_ERR_TYPE_MISMATCH exception
453                   if property missing
454                */
455               bool getMessageArguments(Array<String>&  value) const;
456           
457               /** Modify the MessageArguments property value for the CIM_Error
458                   instance.
459                   @ param value Array<String> representing the value to be
460                   set in the property.  If the null property equals true,
461                   this value is ignored.
462                   @param null boolean that is defaulted to zero. If set
463 karl  1.2         true, this causes the property to be set to NULL, overriding
464                   any value in the property.
465               */
466               void setMessageArguments(const Array<String>& value, bool null = false);
467           
468               /** Accessor for the PerceivedSeverity property value in a CIM_Error
469                   Instance.
470                   @param value PerceivedSeverityEnum that is the current value of
471                   the MessageArguments Array Property in the CIM_Error Instance.
472                   @return bool returns true if the property has a legitimate value
473                   (is NOT Null).
474                   It returns false if the value of the property is Null.
475                   This value should be tested before accessing the returned
476                   value because the returned value will be invalid if
477                   the variable is null.
478                   @exception Generates CIM_ERR_TYPE_MISMATCH exception
479                   if property missing
480                */
481               bool getPerceivedSeverity(PerceivedSeverityEnum& value) const;
482           
483               /** Modify the PerceivedSeverity property value for the CIM_Error
484 karl  1.2         instance.
485                   @ param value PerceivedSeverityEnum representing the value to be
486                   set in the property.  If the null property equals true,
487                   this value is ignored.
488                   @param null boolean that is defaulted to zero. If set
489                   true, this causes the property to be set to NULL, overriding
490                   any value in the property.
491               */
492               void setPerceivedSeverity(PerceivedSeverityEnum value, bool null = false);
493           
494               /** Accessor for the ProbableCause property value in a CIM_Error
495                   Instance.
496                   @param value ProbableCauseEnum that is the current value of
497                   the MessageArguments Array Property in the CIM_Error Instance.
498                   @return bool returns true if the property has a legitimate value
499                   (is NOT Null).
500                   It returns false if the value of the property is Null.
501                   This value should be tested before accessing the returned
502                   value because the returned value will be invalid if
503                   the variable is null.
504                   @exception Generates CIM_ERR_TYPE_MISMATCH exception
505 karl  1.2         if property missing
506                */
507               bool getProbableCause(ProbableCauseEnum& value) const;
508           
509               /** Modify the ProbableCause property value for the CIM_Error
510                   instance.
511                   @ param value ProbableCauseEnum representing the value to be
512                   set in the property.  If the null property equals true,
513                   this value is ignored.
514                   @param null boolean that is defaulted to zero. If set
515                   true, this causes the property to be set to NULL, overriding
516                   any value in the property.
517               */
518               void setProbableCause(ProbableCauseEnum value, bool null = false);
519           
520               /** Accessor for the ProbableCauseDescription property value in a
521                   CIM_Error Instance.
522                   @param value ProbableCauseEnumDescription that is the current value of
523                   the MessageArguments Array Property in the CIM_Error Instance.
524                   @return bool returns true if the property has a legitimate value
525                   (is NOT Null).
526 karl  1.2         It returns false if the value of the property is Null.
527                   This value should be tested before accessing the returned
528                   value because the returned value will be invalid if
529                   the variable is null.
530                   @exception Generates CIM_ERR_TYPE_MISMATCH exception
531                   if property missing
532                */
533               bool getProbableCauseDescription(String& value) const;
534           
535               /** Modify the ProbableCauseDescription property value for the CIM_Error
536                   instance.
537                   @ param value ProbableCauseEnumDescription representing the value to be
538                   set in the property.  If the null property equals true,
539                   this value is ignored.
540                   @param null boolean that is defaulted to zero. If set
541                   true, this causes the property to be set to NULL, overriding
542                   any value in the property.
543               */
544               void setProbableCauseDescription(const String& value, bool null = false);
545           
546               /** Accessor for the RecommendedActions property value in a
547 karl  1.2         CIM_Error Instance.
548                   @param value Array<String> that is the current value of
549                   the RecommendedActions Array Property in the CIM_Error Instance.
550                   @return bool returns true if the property has a legitimate value
551                   (is NOT Null).
552                   It returns false if the value of the property is Null.
553                   This value should be tested before accessing the returned
554                   value because the returned value will be invalid if
555                   the variable is null.
556                   @exception Generates CIM_ERR_TYPE_MISMATCH exception
557                   if property missing
558                */
559               bool getRecommendedActions(Array<String>& value) const;
560           
561               /** Modify the RecommendedActions property value for the CIM_Error
562                 String  instance.
563                   @ param value Array<String> representing the values to be
564                   set in the property.  If the null property equals true,
565                   this value is ignored.
566                   @param null boolean that is defaulted to zero. If set
567                   true, this causes the property to be set to NULL, overriding
568 karl  1.2         any value in the property.
569               */
570               void setRecommendedActions(const Array<String>& value, bool null = false);
571           
572               /** Accessor for the ErrorSource property value in a
573                   CIM_Error Instance.
574                   @param value String that is the current value of
575                   the RecommendedActions Array Property in the CIM_Error Instance.
576                   @return bool returns true if the property has a legitimate value
577                   (is NOT Null).
578                   It returns false if the value of the property is Null.
579                   This value should be tested before accessing the returned
580                   value because the returned value will be invalid if
581                   the variable is null.
582                   @exception Generates CIM_ERR_TYPE_MISMATCH exception
583                   if property missing
584                */
585               bool getErrorSource(String& value) const;
586           
587               /** Modify the ErrorSource property value for the CIM_Error
588                   instance.
589 karl  1.2         @ param value String representing the values to be
590                   set in the property.  If the null property equals true,
591                   this value is ignored.
592                   @param null boolean that is defaulted to zero. If set
593                   true, this causes the property to be set to NULL, overriding
594                   any value in the property.
595               */
596               void setErrorSource(const String& value, bool null = false);
597           
598               /** Accessor for the ErrorSourceFormat property value in a
599                   CIM_Error Instance.
600                   @param value ErrorSourceFormatEnum that is the current value of
601                   the RecommendedActions Array Property in the CIM_Error Instance.
602                   @return bool returns true if the property has a legitimate value
603                   (is NOT Null).
604                   It returns false if the value of the property is Null.
605                   This value should be tested before accessing the returned
606                   value because the returned value will be invalid if
607                   the variable is null.
608                   @exception Generates CIM_ERR_TYPE_MISMATCH exception
609                   if property missing
610 karl  1.2      */
611               bool getErrorSourceFormat(ErrorSourceFormatEnum& value) const;
612           
613               /** Modify the ErrorSourceFormat property value for the CIM_Error
614                   instance.
615                   @ param value String representing the values to be
616                   set in the property.  If the null property is true,
617                   this value should be ignored.
618                   @param null boolean that is defaulted to zero. If set
619                   true, this causes the property to be set to NULL, overriding
620                   any value in the property.
621               */
622               void setErrorSourceFormat(ErrorSourceFormatEnum value, bool null = false);
623           
624               /** Accessor for the OtherErrorSourceFormat property value in a
625                   CIM_Error Instance.
626                   @param value String that is the current value of
627                   the OtherErrorSourceFormat Property in the CIM_Error Instance.
628                   @return bool returns true if the property has a legitimate value
629                   (is NOT Null).
630                   It returns false if the value of the property is Null.
631 karl  1.2         This value should be tested before accessing the returned
632                   value because the returned value will be invalid if
633                   the variable is null.
634                   @exception Generates CIM_ERR_TYPE_MISMATCH exception
635                   if property missing
636                */
637               bool getOtherErrorSourceFormat(String& value) const;
638           
639               /** Modify the OtherErrorSourceFormat property value for the
640                   CIM_Error instance.
641                   @ param value String representing the values to be
642                   set in the property.  If the null property is true,
643                   this value should be ignored.
644                   @param null boolean that is defaulted to zero. If set
645                   true, this causes the property to be set to NULL, overriding
646                   any value in the property.
647               */
648               void setOtherErrorSourceFormat(const String& value, bool null = false);
649           
650               /** Accessor for the CIMStatusCode property value in a
651                   CIM_Error Instance.
652 karl  1.2         @param value CIMStatusCodeEnum that is the current value of
653                   the CIMStatusCode Property in the CIM_Error Instance.
654                   @return bool returns true if the property has a legitimate value
655                   (is NOT Null).
656                   It returns false if the value of the property is Null.
657                   This value should be tested before accessing the returned
658                   value because the returned value will be invalid if
659                   the variable is null.
660                   @exception Generates CIM_ERR_TYPE_MISMATCH exception
661                   if property missing
662                */
663               bool getCIMStatusCode(CIMStatusCodeEnum& value) const;
664           
665               /** Modify the CIMStatusCode property value for the
666                   CIM_Error instance.
667                   @ param value String representing the values to be
668                   set in the property.  If the null property is true,
669                   this value should be ignored.
670                   @param null boolean that is defaulted to zero. If set
671                   true, this causes the property to be set to NULL, overriding
672                   any value in the property.
673 karl  1.2     */
674               void setCIMStatusCode(CIMStatusCodeEnum value, bool null = false);
675           
676               /** Accessor for the CIMStatusCode property value in a
677                   CIM_Error Instance.
678                   @param value String that is the current value of
679                   the CIMStatusCode Property in the CIM_Error Instance.
680                   @return bool returns true if the property has a legitimate value
681                   (is NOT Null).
682                   It returns false if the value of the property is Null.
683                   This value should be tested before accessing the returned
684                   value because the returned value will be invalid if
685                   the variable is null.
686                   @exception Generates CIM_ERR_TYPE_MISMATCH exception
687                   if property missing
688                */
689               bool getCIMStatusCodeDescription(String& value) const;
690           
691               /** Modify the CIMStatusCodeDescription property value for the
692                   CIM_Error instance.
693                   @ param value String representing the values to be
694 karl  1.2         set in the property.  If the null property is true,
695                   this value should be ignored.
696                   @param null boolean that is defaulted to zero. If set
697                   true, this causes the property to be set to NULL, overriding
698                   any value in the property.
699               */
700               void setCIMStatusCodeDescription(const String& value, bool null = false);
701           
702               /** Get reference to internal CIMInstance.  This function tests the
703                   properties for validy and to assure that all properties that are
704                   required in the mof are in the CIMInstance
705                   @return CIMInstance with the target CIM_Error
706                   <p><b>example</b>
707                       CIM_Error err1;
708                       CIM_Error err2;
709                       err1.setProbableCause(PROBABLE_CAUSE_ADAPTER_CARD_ERROR);
710                       err2.setInstance(err1.getInstance());
711               */
712           
713               const CIMInstance& getInstance() const;
714           
715 karl  1.2     /** Set the internal instance (and throw an exception if instance
716                   argument has an incompatible property types). This function tests the
717                   properties for validy and to assure that all properties that are
718                   required in the mof are in the CIMInstance.
719                   @param instance CIMInstance which is the CIM_Error
720           
721                   @exception  CIMExceptions TypeMismatchException if there is a
722                   property type mismatch and NoSuchPropertyException
723                   if a required property is missing.
724                   <p><b>example</b>
725                       CIM_Error err1;
726                       CIMInstance instance1 err1.getInstance();
727               */
728 kumpf 1.5     void setInstance(const CIMInstance& instance);
729 karl  1.2 
730               /** Print this object to standard output. This is a diagnostic outut
731                   and the exact format of the output cannot be depended on.  It prints
732                   the name and value of each property in the CIM_Error instance.
733               */
734               void print() const;
735           
736           private:
737           
738               CIMInstance _inst;
739           };
740           
741           PEGASUS_NAMESPACE_END
742           
743           #endif /* Pegasus_CIMError_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2