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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2