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

📄 cimommessage.cpp

📁 Pegasus is an open-source implementationof the DMTF CIM and WBEM standards. It is designed to be por
💻 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 "CimomMessage.h"PEGASUS_NAMESPACE_BEGINconst Uint32 async_results::OK =                        0x00000000;const Uint32 async_results::PARAMETER_ERROR =           0x00000001;const Uint32 async_results::MODULE_ALREADY_REGISTERED = 0x00000002;const Uint32 async_results::MODULE_NOT_FOUND =          0x00000003;const Uint32 async_results::INTERNAL_ERROR =            0x00000004;const Uint32 async_results::ASYNC_STARTED =             0x00000005;const Uint32 async_results::ASYNC_PROCESSING =          0x00000006;const Uint32 async_results::ASYNC_COMPLETE =            0x00000007;const Uint32 async_results::ASYNC_CANCELLED =           0x00000008;const Uint32 async_results::ASYNC_PAUSED =              0x00000009;const Uint32 async_results::ASYNC_RESUMED =             0x0000000a;const Uint32 async_results::CIM_SERVICE_STARTED =       0x0000000b;const Uint32 async_results::CIM_SERVICE_STOPPED  =      0x0000000c;const Uint32 async_results::CIM_SERVICE_PAUSED  =       0x0000000d;const Uint32 async_results::CIM_SERVICE_RESUMED =       0x0000000e;const Uint32 async_results::CIM_NAK =                   0x0000000f;const Uint32 async_results::ASYNC_PHASE_COMPLETE =      0x00000010;const Uint32 async_results::ASYNC_CHILD_COMPLETE =      0x00000011;const Uint32 async_results::ASYNC_PHASE_STARTED =       0x00000012;const Uint32 async_results::ASYNC_CHILD_STARTED =       0x00000013;const Uint32 async_results::CIM_PAUSED =                0x00000014;const Uint32 async_results::CIM_STOPPED =               0x00000015;const Uint32 async_messages::HEARTBEAT =                DUMMY_MESSAGE;const Uint32 async_messages::REPLY =                    DUMMY_MESSAGE;const Uint32 async_messages::REGISTER_CIM_SERVICE =    ASYNC_REGISTER_CIM_SERVICE;const Uint32 async_messages::DEREGISTER_CIM_SERVICE =    ASYNC_DEREGISTER_CIM_SERVICE;const Uint32 async_messages::UPDATE_CIM_SERVICE =    ASYNC_UPDATE_CIM_SERVICE;const Uint32 async_messages::IOCTL =                    ASYNC_IOCTL;const Uint32 async_messages::CIMSERVICE_START =         ASYNC_CIMSERVICE_START;const Uint32 async_messages::CIMSERVICE_STOP =          ASYNC_CIMSERVICE_STOP;const Uint32 async_messages::CIMSERVICE_PAUSE =         ASYNC_CIMSERVICE_PAUSE;const Uint32 async_messages::CIMSERVICE_RESUME =        ASYNC_CIMSERVICE_RESUME;const Uint32 async_messages::ASYNC_OP_START =           ASYNC_ASYNC_OP_START;const Uint32 async_messages::ASYNC_OP_RESULT =          ASYNC_ASYNC_OP_RESULT;const Uint32 async_messages::ASYNC_LEGACY_OP_START =    ASYNC_ASYNC_LEGACY_OP_START;const Uint32 async_messages::ASYNC_LEGACY_OP_RESULT =    ASYNC_ASYNC_LEGACY_OP_RESULT;const Uint32 async_messages::FIND_SERVICE_Q =    ASYNC_FIND_SERVICE_Q;const Uint32 async_messages::FIND_SERVICE_Q_RESULT =    ASYNC_FIND_SERVICE_Q_RESULT;const Uint32 async_messages::ENUMERATE_SERVICE =    ASYNC_ENUMERATE_SERVICE;const Uint32 async_messages::ENUMERATE_SERVICE_RESULT =    ASYNC_ENUMERATE_SERVICE_RESULT;const Uint32 async_messages::REGISTERED_MODULE =    ASYNC_REGISTERED_MODULE;const Uint32 async_messages::DEREGISTERED_MODULE =    ASYNC_DEREGISTERED_MODULE;const Uint32 async_messages::FIND_MODULE_IN_SERVICE =    ASYNC_FIND_MODULE_IN_SERVICE;const Uint32 async_messages::FIND_MODULE_IN_SERVICE_RESPONSE =    ASYNC_FIND_MODULE_IN_SERVICE_RESPONSE;const Uint32 async_messages::ASYNC_MODULE_OP_START =    ASYNC_ASYNC_MODULE_OP_START;const Uint32 async_messages::ASYNC_MODULE_OP_RESULT  =    ASYNC_ASYNC_MODULE_OP_RESULT;AsyncMessage::AsyncMessage(    Uint32 type,    Uint32 destination,    Uint32 mask,    AsyncOpNode* operation)    : Message(type, destination, mask | MessageMask::ha_async),      op(operation){}AsyncRequest::AsyncRequest(    Uint32 type,    Uint32 mask,    AsyncOpNode* operation,    Uint32 destination,    Uint32 response,    Boolean blocking)    : AsyncMessage(          type, destination, mask | MessageMask::ha_request, operation),      resp(response),      block(blocking){    if (op != 0)        op->setRequest(this);}AsyncReply::AsyncReply(    Uint32 type,    Uint32 mask,    AsyncOpNode* operation,    Uint32 resultCode,    Uint32 destination,    Boolean blocking)    : AsyncMessage(          type, destination, mask | MessageMask::ha_reply, operation),      result(resultCode),      block(blocking){    if (op != 0)        op->setResponse(this);}RegisterCimService::RegisterCimService(    AsyncOpNode* operation,    Boolean blocking,    const String& serviceName,    Uint32 serviceCapabilities,    Uint32 serviceMask,    Uint32 serviceQueue)    : AsyncRequest(          async_messages::REGISTER_CIM_SERVICE,          0, operation, CIMOM_Q_ID,          serviceQueue, blocking),      name(serviceName),      capabilities(serviceCapabilities),      mask(serviceMask),      queue(serviceQueue){}DeRegisterCimService::DeRegisterCimService(    AsyncOpNode* operation,    Boolean blocking,    Uint32 serviceQueue)    : AsyncRequest(          async_messages::DEREGISTER_CIM_SERVICE,          0, operation, CIMOM_Q_ID,          serviceQueue, blocking),      queue(serviceQueue){}UpdateCimService::UpdateCimService(    AsyncOpNode* operation,    Boolean blocking,    Uint32 serviceQueue,    Uint32 serviceCapabilities,    Uint32 serviceMask)    : AsyncRequest(          async_messages::UPDATE_CIM_SERVICE,          0, operation, CIMOM_Q_ID,          serviceQueue, blocking),      queue(serviceQueue),      capabilities(serviceCapabilities),      mask(serviceMask){}RegisteredModule::RegisteredModule(    AsyncOpNode* operation,    Boolean blocking,    Uint32 serviceQueue,    const String& newModule)    : AsyncRequest(          async_messages::REGISTERED_MODULE,          0,          operation,          CIMOM_Q_ID,          serviceQueue,          blocking),      _module(newModule){}DeRegisteredModule::DeRegisteredModule(    AsyncOpNode* operation,    Boolean blocking,    Uint32 serviceQueue,    const String& removedModule)    : AsyncRequest(          async_messages::DEREGISTERED_MODULE,          0,          operation,          CIMOM_Q_ID,          serviceQueue,          blocking),      _module(removedModule){}FindModuleInService::FindModuleInService(    AsyncOpNode* operation,    Boolean blocking,    Uint32 responseQueue,    const String& module)    : AsyncRequest(          async_messages::FIND_MODULE_IN_SERVICE,          0,          operation,          CIMOM_Q_ID,          responseQueue,          blocking),      _module(module){}FindModuleInServiceResponse::FindModuleInServiceResponse(    AsyncOpNode* operation,    Uint32 resultCode,    Uint32 destination,    Boolean blocking,    Uint32 moduleServiceQueue)    : AsyncReply(          async_messages::FIND_MODULE_IN_SERVICE_RESPONSE,          0,          operation,          resultCode,          destination,          blocking),      _module_service_queue(moduleServiceQueue){}AsyncIoctl::AsyncIoctl(    AsyncOpNode* operation,    Uint32 destination,    Uint32 response,    Boolean blocking,    Uint32 code,    Uint32 intParam,    void* pParam)    : AsyncRequest(          async_messages::IOCTL,          0, operation,          destination, response, blocking),      ctl(code),      intp(intParam),      voidp(pParam){}CimServiceStart::CimServiceStart(    AsyncOpNode* operation,    Uint32 destination,    Uint32 response,    Boolean blocking)    : AsyncRequest(          async_messages::CIMSERVICE_START,          0, operation, destination,          response, blocking){}CimServiceStop::CimServiceStop(    AsyncOpNode* operation,    Uint32 destination,    Uint32 response,    Boolean blocking)    : AsyncRequest(          async_messages::CIMSERVICE_STOP,          0, operation, destination,          response, blocking){}CimServicePause::CimServicePause(    AsyncOpNode* operation,    Uint32 destination,    Uint32 response,    Boolean blocking)    : AsyncRequest(          async_messages::CIMSERVICE_PAUSE,          0, operation, destination,          response, blocking){}CimServiceResume::CimServiceResume(    AsyncOpNode* operation,    Uint32 destination,    Uint32 response,    Boolean blocking)    : AsyncRequest(          async_messages::CIMSERVICE_RESUME,          0, operation, destination,          response, blocking){}AsyncOperationStart::AsyncOperationStart(    AsyncOpNode* operation,    Uint32 destination,    Uint32 response,    Boolean blocking,    Message* action)    : AsyncRequest(          async_messages::ASYNC_OP_START,          0,          operation,          destination, response, blocking),      _act(action){}Message* AsyncOperationStart::get_action(){    Message* ret = _act;    _act = 0;    ret->put_async(0);    return ret;}AsyncOperationResult::AsyncOperationResult(    AsyncOpNode* operation,    Uint32 resultCode,    Uint32 destination,    Boolean blocking)    : AsyncReply(          async_messages::ASYNC_OP_RESULT,          0,          operation,          resultCode,          destination,          blocking){}AsyncModuleOperationStart::AsyncModuleOperationStart(    AsyncOpNode* operation,    Uint32 destination,    Uint32 response,    Boolean blocking,    const String& targetModule,    Message* action)    : AsyncRequest(          async_messages::ASYNC_MODULE_OP_START,          0,          operation,          destination,          response,          blocking),      _target_module(targetModule),      _act(action){    _act->put_async(this);}Message* AsyncModuleOperationStart::get_action(){    Message* ret = _act;    _act = 0;    ret->put_async(0);    return ret;}AsyncModuleOperationResult::AsyncModuleOperationResult(    AsyncOpNode* operation,    Uint32 resultCode,    Uint32 destination,    Boolean blocking,    const String& targetModule,    Message* result)    : AsyncReply(          async_messages::ASYNC_MODULE_OP_RESULT,          0,          operation, resultCode, destination,          blocking),      _targetModule(targetModule),      _res(result){    _res->put_async(this);}Message* AsyncModuleOperationResult::get_result(){    Message* ret = _res;    _res = 0;    ret->put_async(0);    return ret;}AsyncLegacyOperationStart::AsyncLegacyOperationStart(    AsyncOpNode* operation,    Uint32 destination,    Message* action,    Uint32 actionDestination)    : AsyncRequest(          async_messages::ASYNC_LEGACY_OP_START,          0,          operation, destination, CIMOM_Q_ID, false),      _act(action),      _legacy_destination(actionDestination){    _act->put_async(this);}Message* AsyncLegacyOperationStart::get_action(){    Message* ret = _act;    _act = 0;//    ret->put_async(0);    return ret;}AsyncLegacyOperationResult::AsyncLegacyOperationResult(    AsyncOpNode* operation,    Message* result)    : AsyncReply(          async_messages::ASYNC_LEGACY_OP_RESULT,          0, operation,          0, CIMOM_Q_ID, false),      _res(result){    _res->put_async(this);}Message* AsyncLegacyOperationResult::get_result(){    Message* ret = _res;    _res = 0;//    ret->put_async(0);    return ret;}FindServiceQueue::FindServiceQueue(    AsyncOpNode* operation,    Uint32 response,    Boolean blocking,    const String& serviceName,    Uint32 serviceCapabilities,    Uint32 serviceMask)    : AsyncRequest(          async_messages::FIND_SERVICE_Q,          0, operation,          CIMOM_Q_ID,          response,          blocking),      name(serviceName),      capabilities(serviceCapabilities),      mask(serviceMask){}FindServiceQueueResult::FindServiceQueueResult(    AsyncOpNode* operation,    Uint32 resultCode,    Uint32 destination,    Boolean blocking,    Array<Uint32> queueIds)    : AsyncReply(          async_messages::FIND_SERVICE_Q_RESULT,          0, operation,          resultCode, destination, blocking),      qids(queueIds){}EnumerateService::EnumerateService(    AsyncOpNode* operation,    Uint32 response,    Boolean blocking,    Uint32 queueId)    : AsyncRequest(          async_messages::ENUMERATE_SERVICE,          0,          operation,          CIMOM_Q_ID,          response,          blocking),      qid(queueId){}EnumerateServiceResponse::EnumerateServiceResponse(    AsyncOpNode* operation,    Uint32 resultCode,    Uint32 response,    Boolean blocking,    const String& serviceName,    Uint32 serviceCapabilities,    Uint32 serviceMask,    Uint32 serviceQid)    : AsyncReply(          async_messages::ENUMERATE_SERVICE_RESULT,          0,          operation,          resultCode,          response,          blocking),      name(serviceName),      capabilities(serviceCapabilities),      mask(serviceMask),      qid(serviceQid){}AsyncMessage::~AsyncMessage(){}AsyncRequest::~AsyncRequest(){}PEGASUS_NAMESPACE_END

⌨️ 快捷键说明

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