⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 message.cpp

📁 Pegasus is an open-source implementationof the DMTF CIM and WBEM standards. It is designed to be por
💻 CPP
📖 第 1 页 / 共 2 页
字号:
//%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 "Message.h"#include <Pegasus/Common/StatisticalData.h>#include <Pegasus/Common/PegasusAssert.h>PEGASUS_USING_STD;PEGASUS_NAMESPACE_BEGINUint32 MessageMask::type_legacy =            0x00000000;Uint32 MessageMask::type_cimom =             0x00000001;Uint32 MessageMask::type_service =           0x00000002;Uint32 MessageMask::ha_request =             0x00100000;Uint32 MessageMask::ha_reply =               0x00200000;Uint32 MessageMask::ha_async =               0x00400000;Message::~Message(){}#ifdef PEGASUS_DEBUGvoid Message::print(ostream& os, Boolean printHeader) const{    if (printHeader)    {        os << "Message\n";        os << "{";    }    os << "    messageType: " << MessageTypeToString(_type) << endl;    if (printHeader)    {        os << "}";    }}#endifstatic const char* _MESSAGE_TYPE_STRINGS[] ={    "CIM_GET_CLASS_REQUEST_MESSAGE",    "CIM_GET_INSTANCE_REQUEST_MESSAGE",    "CIM_EXPORT_INDICATION_REQUEST_MESSAGE",    "CIM_DELETE_CLASS_REQUEST_MESSAGE",    "CIM_DELETE_INSTANCE_REQUEST_MESSAGE",    "CIM_CREATE_CLASS_REQUEST_MESSAGE",    "CIM_CREATE_INSTANCE_REQUEST_MESSAGE",    "CIM_MODIFY_CLASS_REQUEST_MESSAGE",    "CIM_MODIFY_INSTANCE_REQUEST_MESSAGE",    "CIM_ENUMERATE_CLASSES_REQUEST_MESSAGE",  // 10    "CIM_ENUMERATE_CLASS_NAMES_REQUEST_MESSAGE",    "CIM_ENUMERATE_INSTANCES_REQUEST_MESSAGE",    "CIM_ENUMERATE_INSTANCE_NAMES_REQUEST_MESSAGE",    "CIM_EXEC_QUERY_REQUEST_MESSAGE",    "CIM_ASSOCIATORS_REQUEST_MESSAGE",    "CIM_ASSOCIATOR_NAMES_REQUEST_MESSAGE",    "CIM_REFERENCES_REQUEST_MESSAGE",    "CIM_REFERENCE_NAMES_REQUEST_MESSAGE",    "CIM_GET_PROPERTY_REQUEST_MESSAGE",    "CIM_SET_PROPERTY_REQUEST_MESSAGE",  // 20    "CIM_GET_QUALIFIER_REQUEST_MESSAGE",    "CIM_SET_QUALIFIER_REQUEST_MESSAGE",    "CIM_DELETE_QUALIFIER_REQUEST_MESSAGE",    "CIM_ENUMERATE_QUALIFIERS_REQUEST_MESSAGE",    "CIM_INVOKE_METHOD_REQUEST_MESSAGE",    "CIM_PROCESS_INDICATION_REQUEST_MESSAGE",    "CIM_HANDLE_INDICATION_REQUEST_MESSAGE",    "CIM_NOTIFY_PROVIDER_REGISTRATION_REQUEST_MESSAGE",    "CIM_NOTIFY_PROVIDER_TERMINATION_REQUEST_MESSAGE",    "CIM_CREATE_SUBSCRIPTION_REQUEST_MESSAGE",  // 30    "CIM_MODIFY_SUBSCRIPTION_REQUEST_MESSAGE",    "CIM_DELETE_SUBSCRIPTION_REQUEST_MESSAGE",    "CIM_DISABLE_MODULE_REQUEST_MESSAGE",    "CIM_ENABLE_MODULE_REQUEST_MESSAGE",    "CIM_STOP_ALL_PROVIDERS_REQUEST_MESSAGE",    "CIM_GET_CLASS_RESPONSE_MESSAGE",    "CIM_GET_INSTANCE_RESPONSE_MESSAGE",    "CIM_EXPORT_INDICATION_RESPONSE_MESSAGE",    "CIM_DELETE_CLASS_RESPONSE_MESSAGE",    "CIM_DELETE_INSTANCE_RESPONSE_MESSAGE",  // 40    "CIM_CREATE_CLASS_RESPONSE_MESSAGE",    "CIM_CREATE_INSTANCE_RESPONSE_MESSAGE",    "CIM_MODIFY_CLASS_RESPONSE_MESSAGE",    "CIM_MODIFY_INSTANCE_RESPONSE_MESSAGE",    "CIM_ENUMERATE_CLASSES_RESPONSE_MESSAGE",    "CIM_ENUMERATE_CLASS_NAMES_RESPONSE_MESSAGE",    "CIM_ENUMERATE_INSTANCES_RESPONSE_MESSAGE",    "CIM_ENUMERATE_INSTANCE_NAMES_RESPONSE_MESSAGE",    "CIM_EXEC_QUERY_RESPONSE_MESSAGE",    "CIM_ASSOCIATORS_RESPONSE_MESSAGE",  // 50    "CIM_ASSOCIATOR_NAMES_RESPONSE_MESSAGE",    "CIM_REFERENCES_RESPONSE_MESSAGE",    "CIM_REFERENCE_NAMES_RESPONSE_MESSAGE",    "CIM_GET_PROPERTY_RESPONSE_MESSAGE",    "CIM_SET_PROPERTY_RESPONSE_MESSAGE",    "CIM_GET_QUALIFIER_RESPONSE_MESSAGE",    "CIM_SET_QUALIFIER_RESPONSE_MESSAGE",    "CIM_DELETE_QUALIFIER_RESPONSE_MESSAGE",    "CIM_ENUMERATE_QUALIFIERS_RESPONSE_MESSAGE",    "CIM_INVOKE_METHOD_RESPONSE_MESSAGE",  // 60    "CIM_PROCESS_INDICATION_RESPONSE_MESSAGE",    "CIM_NOTIFY_PROVIDER_REGISTRATION_RESPONSE_MESSAGE",    "CIM_NOTIFY_PROVIDER_TERMINATION_RESPONSE_MESSAGE",    "CIM_HANDLE_INDICATION_RESPONSE_MESSAGE",    "CIM_CREATE_SUBSCRIPTION_RESPONSE_MESSAGE",    "CIM_MODIFY_SUBSCRIPTION_RESPONSE_MESSAGE",    "CIM_DELETE_SUBSCRIPTION_RESPONSE_MESSAGE",    "CIM_DISABLE_MODULE_RESPONSE_MESSAGE",    "CIM_ENABLE_MODULE_RESPONSE_MESSAGE",    "CIM_STOP_ALL_PROVIDERS_RESPONSE_MESSAGE",  // 70    "SOCKET_MESSAGE",    "CLOSE_CONNECTION_MESSAGE",    "HTTP_MESSAGE",    "HTTP_ERROR_MESSAGE",    "CLIENT_EXCEPTION_MESSAGE",    "ASYNC::REGISTER_CIM_SERVICE", //            async_message::0x00000001;    "ASYNC::DEREGISTER_CIM_SERVICE", //          async_message::0x00000002;    "ASYNC::UPDATE_CIM_SERVICE", //              async_message::0x00000003;    "ASYNC::IOCTL", //                           async_message::0x00000004;    "ASYNC::CIMSERVICE_START", //  80            async_message::0x00000005;    "ASYNC::CIMSERVICE_STOP", //                 async_message::0x00000006;    "ASYNC::CIMSERVICE_PAUSE", //                async_message::0x00000007;    "ASYNC::CIMSERVICE_RESUME", //               async_message::0x00000008;    "ASYNC::ASYNC_OP_START", //                  async_message::0x00000009;    "ASYNC::ASYNC_OP_RESULT", //                 async_message::0x0000000a;    "ASYNC::ASYNC_LEGACY_OP_START", //           async_message::0x0000000b;    "ASYNC::ASYNC_LEGACY_OP_RESULT", //          async_message::0x0000000c;    "ASYNC::FIND_SERVICE_Q", //                  async_message::0x0000000d;    "ASYNC::FIND_SERVICE_Q_RESULT", //           async_message::0x0000000e;    "ASYNC::ENUMERATE_SERVICE", //  90           async_message::0x0000000f;    "ASYNC::ENUMERATE_SERVICE_RESULT", //        async_message::0x00000010;    "ASYNC::REGISTERED_MODULE", //               async_message::0x00000011;    "ASYNC::DEREGISTERED_MODULE", //             async_message::0x00000012;    "ASYNC::FIND_MODULE_IN_SERVICE", //          async_message::0x00000013;    "ASYNC::FIND_MODULE_IN_SERVICE_RESPONSE", // async_message::0x00000014;    "ASYNC::ASYNC_MODULE_OP_START", //           async_message::0x00000015;    "ASYNC::ASYNC_MODULE_OP_RESULT", //          async_message::0x00000016;    "CIM_NOTIFY_PROVIDER_ENABLE_REQUEST_MESSAGE",    "CIM_NOTIFY_PROVIDER_ENABLE_RESPONSE_MESSAGE",    "CIM_NOTIFY_PROVIDER_FAIL_REQUEST_MESSAGE", //  100    "CIM_NOTIFY_PROVIDER_FAIL_RESPONSE_MESSAGE",    "CIM_INITIALIZE_PROVIDER_REQUEST_MESSAGE",    "CIM_INITIALIZE_PROVIDER_RESPONSE_MESSAGE",    "CIM_INITIALIZE_PROVIDER_AGENT_REQUEST_MESSAGE",    "CIM_INITIALIZE_PROVIDER_AGENT_RESPONSE_MESSAGE",    "CIM_NOTIFY_CONFIG_CHANGE_REQUEST_MESSAGE",    "CIM_NOTIFY_CONFIG_CHANGE_RESPONSE_MESSAGE",    "CIM_SUBSCRIPTION_INIT_COMPLETE_REQUEST_MESSAGE",    "CIM_SUBSCRIPTION_INIT_COMPLETE_RESPONSE_MESSAGE"};char s[128];const char* MessageTypeToString(Uint32 messageType){    if (messageType > DUMMY_MESSAGE && messageType < NUMBER_OF_MESSAGES )        return _MESSAGE_TYPE_STRINGS[messageType - 1];    if (messageType == 0)        return "HEARTBEAT/REPLY";    sprintf(s, "Unknown message type ( %d ) ( 0x%04X )",        messageType, messageType);    return s;}CIMOperationType Message::convertMessageTypetoCIMOpType(Uint32 type){

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -