📄 cimerror.cpp
字号:
//%2006//////////////////////////////////////////////////////////////////////////// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;// IBM Corp.; EMC Corporation, The Open Group.// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;// EMC Corporation; VERITAS Software Corporation; The Open Group.// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;// EMC Corporation; Symantec Corporation; The Open Group.//// Permission is hereby granted, free of charge, to any person obtaining a copy// of this software and associated documentation files (the "Software"), to// deal in the Software without restriction, including without limitation the// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or// sell copies of the Software, and to permit persons to whom the Software is// furnished to do so, subject to the following conditions:// // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.////==============================================================================////%/////////////////////////////////////////////////////////////////////////////#include <Pegasus/Common/MofWriter.h>#include "CIMError.h"#include "PropertyAccessor.h"PEGASUS_USING_STD;PEGASUS_NAMESPACE_BEGIN// Required property list.static const char* _requiredProperties[] ={ "OwningEntity", "MessageID", "Message", "PerceivedSeverity", "ProbableCause", "CIMStatusCode",};static const size_t _numRequiredProperties = sizeof(_requiredProperties) / sizeof(_requiredProperties[0]);/* Uint16 ErrorType; String OtherErrorType; String OwningEntity; String MessageID; String Message; Array<String> MessageArguments; Uint16 PerceivedSeverity; Uint16 ProbableCause; String ProbableCauseDescription; Array<String> RecommendedActions; String ErrorSource; Uint16 ErrorSourceFormat; String OtherErrorSourceFormat; Uint32 CIMStatusCode; String CIMStatusCodeDescription;*/struct TableEntry{ int enumTag; const char* keyword;};static TableEntry _ErrorTypeTable[] ={ { 0, "Unknown" }, { 1, "Other" }, { 2, "Communications Error" }, { 3, "Quality of Service Error" }, { 4, "Software Error" }, { 5, "Hardware Error" }, { 6, "Environmental Error" }, { 7, "Security Error" }, { 8, "Oversubscription Error" }, { 9, "Unavailable Resource Error" }, { 10, "Unsupported Operation Error" }};static TableEntry _PerceivedSeverityTable[] ={ { 0, "Unknown" }, { 1, "Unused 1" }, { 2, "Low" }, { 3, "Medium" }, { 4, "High" }, { 5, "Fatal" }};static TableEntry _ProbableCauseTable[] ={ { 0, "Unknown" }, { 1, "Other" }, { 2, "Adapter/Card Error" }, { 3, "Application Subsystem Failure" }, { 4, "Bandwidth Reduced" }, { 5, "Connection Establishment Error" }, { 6, "Communications Protocol Error" }, { 7, "Communications Subsystem Failure" }, { 8, "Configuration/Customization Error" }, { 9, "Congestion" }, { 10, "Corrupt Data" }, { 11, "CPU Cycles Limit Exceeded" }, { 12, "Dataset/Modem Error" }, { 13, "Degraded Signal" }, { 14, "DTE-DCE Interface Error" }, { 15, "Enclosure Door Open" }, { 16, "Equipment Malfunction" }, { 17, "Excessive Vibration" }, { 18, "File Format Error" }, { 19, "Fire Detected" }, { 20, "Flood Detected" }, { 21, "Framing Error" }, { 22, "HVAC Problem" }, { 23, "Humidity Unacceptable" }, { 24, "I/O Device Error" }, { 25, "Input Device Error" }, { 26, "LAN Error" }, { 27, "Non-Toxic Leak Detected" }, { 28, "Local Node Transmission Error" }, { 29, "Loss of Frame" }, { 30, "Loss of Signal" }, { 31, "Material Supply Exhausted" }, { 32, "Multiplexer Problem" }, { 33, "Out of Memory" }, { 34, "Output Device Error" }, { 35, "Performance Degraded" }, { 36, "Power Problem" }, { 37, "Pressure Unacceptable" }, { 38, "Processor Problem (Internal Machine Error)" }, { 39, "Pump Failure" }, { 40, "Queue Size Exceeded" }, { 41, "Receive Failure" }, { 42, "Receiver Failure" }, { 43, "Remote Node Transmission Error" }, { 44, "Resource at or Nearing Capacity" }, { 45, "Response Time Excessive" }, { 46, "Retransmission Rate Excessive" }, { 47, "Software Error" }, { 48, "Software Program Abnormally Terminated" }, { 49, "Software Program Error (Incorrect Results)" }, { 50, "Storage Capacity Problem" }, { 51, "Temperature Unacceptable" }, { 52, "Threshold Crossed" }, { 53, "Timing Problem" }, { 54, "Toxic Leak Detected" }, { 55, "Transmit Failure" }, { 56, "Transmitter Failure" }, { 57, "Underlying Resource Unavailable" }, { 58, "Version Mismatch" }, { 59, "Previous Alert Cleared" }, { 60, "Login Attempts Failed" }, { 61, "Software Virus Detected" }, { 62, "Hardware Security Breached" }, { 63, "Denial of Service Detected" }, { 64, "Security Credential Mismatch" }, { 65, "Unauthorized Access" }, { 66, "Alarm Received" }, { 67, "Loss of Pointer" }, { 68, "Payload Mismatch" }, { 69, "Transmission Error" }, { 70, "Excessive Error Rate" }, { 71, "Trace Problem" }, { 72, "Element Unavailable" }, { 73, "Element Missing" }, { 74, "Loss of Multi Frame" }, { 75, "Broadcast Channel Failure" }, { 76, "Invalid Message Received" }, { 77, "Routing Failure" }, { 78, "Backplane Failure" }, { 79, "Identifier Duplication" }, { 80, "Protection Path Failure" }, { 81, "Sync Loss or Mismatch" }, { 82, "Terminal Problem" }, { 83, "Real Time Clock Failure" }, { 84, "Antenna Failure" }, { 85, "Battery Charging Failure" }, { 86, "Disk Failure" }, { 87, "Frequency Hopping Failure" }, { 88, "Loss of Redundancy" }, { 89, "Power Supply Failure" }, { 90, "Signal Quality Problem" }, { 91, "Battery Discharging" }, { 92, "Battery Failure" }, { 93, "Commercial Power Problem" }, { 94, "Fan Failure" }, { 95, "Engine Failure" }, { 96, "Sensor Failure" }, { 97, "Fuse Failure" }, { 98, "Generator Failure" }, { 99, "Low Battery" }, { 100, "Low Fuel" }, { 101, "Low Water" }, { 102, "Explosive Gas" }, { 103, "High Winds" }, { 104, "Ice Buildup" }, { 105, "Smoke" }, { 106, "Memory Mismatch" }, { 107, "Out of CPU Cycles" }, { 108, "Software Environment Problem" }, { 109, "Software Download Failure" }, { 110, "Element Reinitialized" }, { 111, "Timeout" }, { 112, "Logging Problems" }, { 113, "Leak Detected" }, { 114, "Protection Mechanism Failure" }, { 115, "Protecting Resource Failure" }, { 116, "Database Inconsistency" }, { 117, "Authentication Failure" }, { 118, "Breach of Confidentiality" }, { 119, "Cable Tamper" }, { 120, "Delayed Information" }, { 121, "Duplicate Information" }, { 122, "Information Missing" }, { 123, "Information Modification" }, { 124, "Information Out of Sequence" }, { 125, "Key Expired" }, { 126, "Non-Repudiation Failure" }, { 127, "Out of Hours Activity" }, { 128, "Out of Service" }, { 129, "Procedural Error" }, { 130, "Unexpected Information" },};static TableEntry _ErrorSourceFormatTable[] ={ { 0, "Unknown" }, { 1, "Other" }, { 2, "CIMObjectHandle" },};static TableEntry _CIMStatusCodeTable[] ={ { 1, "CIM_ERR_FAILED" }, { 2, "CIM_ERR_ACCESS_DENIED" }, { 3, "CIM_ERR_INVALID_NAMESPACE" }, { 4, "CIM_ERR_INVALID_PARAMETER" }, { 5, "CIM_ERR_INVALID_CLASS" }, { 6, "CIM_ERR_NOT_FOUND" }, { 7, "CIM_ERR_NOT_SUPPORTED" }, { 8, "CIM_ERR_CLASS_HAS_CHILDREN" }, { 9, "CIM_ERR_CLASS_HAS_INSTANCES" }, { 10, "CIM_ERR_INVALID_SUPERCLASS" }, { 11, "CIM_ERR_ALREADY_EXISTS" }, { 12, "CIM_ERR_NO_SUCH_PROPERTY" }, { 13, "CIM_ERR_TYPE_MISMATCH" }, { 14, "CIM_ERR_QUERY_LANGUAGE_NOT_SUPPORTED" }, { 15, "CIM_ERR_INVALID_QUERY" }, { 16, "CIM_ERR_METHOD_NOT_AVAILABLE" }, { 17, "CIM_ERR_METHOD_NOT_FOUND" }, { 18, "CIM_ERR_UNEXPECTED_RESPONSE" }, { 19, "CIM_ERR_INVALID_RESPONSE_DESTINATION" }, { 20, "CIM_ERR_NAMESPACE_NOT_EMPTY" },};CIMError::CIMError() : _inst("CIM_Error"){ _inst.addProperty(CIMProperty( "ErrorType", CIMValue(CIMTYPE_UINT16, false))); _inst.addProperty(CIMProperty( "OtherErrorType", CIMValue(CIMTYPE_STRING, false))); _inst.addProperty(CIMProperty( "OwningEntity", CIMValue(CIMTYPE_STRING, false))); _inst.addProperty(CIMProperty( "MessageID", CIMValue(CIMTYPE_STRING, false))); _inst.addProperty(CIMProperty( "Message", CIMValue(CIMTYPE_STRING, false))); _inst.addProperty(CIMProperty( "MessageArguments", CIMValue(CIMTYPE_STRING, true))); _inst.addProperty(CIMProperty( "PerceivedSeverity", CIMValue(CIMTYPE_UINT16, false))); _inst.addProperty(CIMProperty( "ProbableCause", CIMValue(CIMTYPE_UINT16, false))); _inst.addProperty(CIMProperty( "ProbableCauseDescription", CIMValue(CIMTYPE_STRING, false))); _inst.addProperty(CIMProperty( "RecommendedActions", CIMValue(CIMTYPE_STRING, true))); _inst.addProperty(CIMProperty( "ErrorSource", CIMValue(CIMTYPE_STRING, false))); _inst.addProperty(CIMProperty( "ErrorSourceFormat", CIMValue(CIMTYPE_UINT16, false))); _inst.addProperty(CIMProperty( "OtherErrorSourceFormat", CIMValue(CIMTYPE_STRING, false)));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -