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

📄 providermessagehandler.cpp

📁 Pegasus is an open-source implementationof the DMTF CIM and WBEM standards. It is designed to be por
💻 CPP
📖 第 1 页 / 共 4 页
字号:
        CIMRequestMessage* message){    PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,        "ProviderMessageHandler::_handleEnumerateInstanceNamesRequest");    CIMEnumerateInstanceNamesRequestMessage* request =        dynamic_cast<CIMEnumerateInstanceNamesRequestMessage*>(message);    PEGASUS_ASSERT(request != 0);    AutoPtr<CIMEnumerateInstanceNamesResponseMessage> response(        dynamic_cast<CIMEnumerateInstanceNamesResponseMessage*>(            request->buildResponse()));    PEGASUS_ASSERT(response.get() != 0);    // create a handler for this request    EnumerateInstanceNamesResponseHandler handler(        request, response.get(), _responseChunkCallback);    // make target object path    CIMObjectPath objectPath(        System::getHostName(),        request->nameSpace,        request->className);    PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,        "ProviderMessageHandler::_handleEnumerateInstanceNamesRequest - "            "Object path: $0",        objectPath.toString()));    OperationContext providerContext(        _createProviderOperationContext(request->operationContext));    AutoPThreadSecurity threadLevelSecurity(providerContext);    CIMInstanceProvider* provider =        getProviderInterface<CIMInstanceProvider>(_provider);    PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,        "Calling provider.enumerateInstanceNames: " + _name);    StatProviderTimeMeasurement providerTime(response.get());    HANDLE_PROVIDER_EXCEPTION(        provider->enumerateInstanceNames(            providerContext,            objectPath,            handler),        handler)    PEG_METHOD_EXIT();    return response.release();}CIMResponseMessage* ProviderMessageHandler::_handleCreateInstanceRequest(    CIMRequestMessage* message){    PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,        "ProviderMessageHandler::_handleCreateInstanceRequest");    CIMCreateInstanceRequestMessage* request =        dynamic_cast<CIMCreateInstanceRequestMessage*>(message);    PEGASUS_ASSERT(request != 0);    AutoPtr<CIMCreateInstanceResponseMessage> response(        dynamic_cast<CIMCreateInstanceResponseMessage*>(            request->buildResponse()));    PEGASUS_ASSERT(response.get() != 0);    // create a handler for this request    CreateInstanceResponseHandler handler(        request, response.get(), _responseChunkCallback);    // make target object path    CIMObjectPath objectPath(        System::getHostName(),        request->nameSpace,        request->newInstance.getPath().getClassName(),        request->newInstance.getPath().getKeyBindings());    PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,        "ProviderMessageHandler::_handleCreateInstanceRequest - "            "Object path: $0",        objectPath.toString()));    OperationContext providerContext(        _createProviderOperationContext(request->operationContext));    AutoPThreadSecurity threadLevelSecurity(providerContext);    CIMInstanceProvider* provider =        getProviderInterface<CIMInstanceProvider>(_provider);    PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,        "Calling provider.createInstance: " + _name);    StatProviderTimeMeasurement providerTime(response.get());    HANDLE_PROVIDER_EXCEPTION(        provider->createInstance(            providerContext,            objectPath,            request->newInstance,            handler),        handler)    PEG_METHOD_EXIT();    return response.release();}CIMResponseMessage* ProviderMessageHandler::_handleModifyInstanceRequest(    CIMRequestMessage* message){    PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,        "ProviderMessageHandler::_handleModifyInstanceRequest");    CIMModifyInstanceRequestMessage* request =        dynamic_cast<CIMModifyInstanceRequestMessage*>(message);    PEGASUS_ASSERT(request != 0);    AutoPtr<CIMModifyInstanceResponseMessage> response(        dynamic_cast<CIMModifyInstanceResponseMessage*>(            request->buildResponse()));    PEGASUS_ASSERT(response.get() != 0);    // create a handler for this request    ModifyInstanceResponseHandler handler(        request, response.get(), _responseChunkCallback);    // make target object path    CIMObjectPath objectPath(        System::getHostName(),        request->nameSpace,        request->modifiedInstance.getPath().getClassName(),        request->modifiedInstance.getPath().getKeyBindings());    PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,        "ProviderMessageHandler::_handleModifyInstanceRequest - "            "Object path: $0",        objectPath.toString()));    OperationContext providerContext(        _createProviderOperationContext(request->operationContext));    AutoPThreadSecurity threadLevelSecurity(providerContext);    CIMInstanceProvider* provider =        getProviderInterface<CIMInstanceProvider>(_provider);    PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,        "Calling provider.modifyInstance: " + _name);    StatProviderTimeMeasurement providerTime(response.get());    HANDLE_PROVIDER_EXCEPTION(        provider->modifyInstance(            providerContext,            objectPath,            request->modifiedInstance,            request->includeQualifiers,            request->propertyList,            handler),        handler)    PEG_METHOD_EXIT();    return response.release();}CIMResponseMessage* ProviderMessageHandler::_handleDeleteInstanceRequest(    CIMRequestMessage* message){    PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,        "ProviderMessageHandler::_handleDeleteInstanceRequest");    CIMDeleteInstanceRequestMessage* request =        dynamic_cast<CIMDeleteInstanceRequestMessage*>(message);    PEGASUS_ASSERT(request != 0);    AutoPtr<CIMDeleteInstanceResponseMessage> response(        dynamic_cast<CIMDeleteInstanceResponseMessage*>(            request->buildResponse()));    PEGASUS_ASSERT(response.get() != 0);    // create a handler for this request    DeleteInstanceResponseHandler handler(        request, response.get(), _responseChunkCallback);    // make target object path    CIMObjectPath objectPath(        System::getHostName(),        request->nameSpace,        request->instanceName.getClassName(),        request->instanceName.getKeyBindings());    PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,        "ProviderMessageHandler::_handleDeleteInstanceRequest - "            "Object path: $0",        objectPath.toString()));    OperationContext providerContext(        _createProviderOperationContext(request->operationContext));    AutoPThreadSecurity threadLevelSecurity(providerContext);    CIMInstanceProvider* provider =        getProviderInterface<CIMInstanceProvider>(_provider);    PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,        "Calling provider.deleteInstance: " + _name);    StatProviderTimeMeasurement providerTime(response.get());    HANDLE_PROVIDER_EXCEPTION(        provider->deleteInstance(            providerContext,            objectPath,            handler),        handler)    PEG_METHOD_EXIT();    return response.release();}CIMResponseMessage* ProviderMessageHandler::_handleExecQueryRequest(    CIMRequestMessage* message){    PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,        "ProviderMessageHandler::_handleExecQueryRequest");    CIMExecQueryRequestMessage* request =        dynamic_cast<CIMExecQueryRequestMessage*>(message);    PEGASUS_ASSERT(request != 0);    AutoPtr<CIMExecQueryResponseMessage> response(        dynamic_cast<CIMExecQueryResponseMessage*>(            request->buildResponse()));    PEGASUS_ASSERT(response.get() != 0);    // create a handler for this request    ExecQueryResponseHandler handler(        request, response.get(), _responseChunkCallback);    // make target object path    CIMObjectPath objectPath(        System::getHostName(),        request->nameSpace,        request->className);    PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,        "ProviderMessageHandler::_handleExecQueryRequest - "            "Object path: $0",        objectPath.toString()));    QueryExpression qx(request->queryLanguage,request->query);    OperationContext providerContext(        _createProviderOperationContext(request->operationContext));    AutoPThreadSecurity threadLevelSecurity(providerContext);    CIMInstanceQueryProvider* provider =        getProviderInterface<CIMInstanceQueryProvider>(_provider);    PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,        "Calling provider.execQuery: " + _name);    StatProviderTimeMeasurement providerTime(response.get());    HANDLE_PROVIDER_EXCEPTION(        provider->execQuery(            providerContext,            objectPath,            qx,            handler),        handler)    PEG_METHOD_EXIT();    return response.release();}CIMResponseMessage* ProviderMessageHandler::_handleAssociatorsRequest(    CIMRequestMessage* message){    PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,        "ProviderMessageHandler::_handleAssociatorsRequest");    CIMAssociatorsRequestMessage* request =        dynamic_cast<CIMAssociatorsRequestMessage*>(message);    PEGASUS_ASSERT(request != 0);    AutoPtr<CIMAssociatorsResponseMessage> response(        dynamic_cast<CIMAssociatorsResponseMessage*>(            request->buildResponse()));    PEGASUS_ASSERT(response.get() != 0);    // create a handler for this request    AssociatorsResponseHandler handler(        request, response.get(), _responseChunkCallback);    // make target object path    CIMObjectPath objectPath(        System::getHostName(),        request->nameSpace,        request->objectName.getClassName());    objectPath.setKeyBindings(request->objectName.getKeyBindings());    PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,        "ProviderMessageHandler::_handleAssociatorsRequest - "            "Object path: $0",        objectPath.toString()));    CIMObjectPath assocPath(        System::getHostName(),        request->nameSpace,        request->assocClass.getString());    OperationContext providerContext(        _createProviderOperationContext(request->operationContext));    AutoPThreadSecurity threadLevelSecurity(providerContext);    CIMAssociationProvider* provider =        getProviderInterface<CIMAssociationProvider>(_provider);    PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,        "Calling provider.associators: " + _name);    StatProviderTimeMeasurement providerTime(response.get());    HANDLE_PROVIDER_EXCEPTION(        provider->associators(            providerContext,            objectPath,            request->assocClass,            request->resultClass,            request->role,            request->resultRole,            request->includeQualifiers,            request->includeClassOrigin,            request->propertyList,            handler),        handler)    PEG_METHOD_EXIT();    return response.release();}CIMResponseMessage* ProviderMessageHandler::_handleAssociatorNamesRequest(    CIMRequestMessage* message){    PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,        "ProviderMessageHandler::_handleAssociatorNamesRequest");    CIMAssociatorNamesRequestMessage* request =        dynamic_cast<CIMAssociatorNamesRequestMessage*>(message);    PEGASUS_ASSERT(request != 0);    AutoPtr<CIMAssociatorNamesResponseMessage> response(        dynamic_cast<CIMAssociatorNamesResponseMessage*>(            request->buildResponse()));    PEGASUS_ASSERT(response.get() != 0);    // create a handler for this request    AssociatorNamesResponseHandler handler(        request, response.get(), _responseChunkCallback);    // make target object path    CIMObjectPath objectPath(        System::getHostName(),        request->nameSpace,        request->objectName.getClassName());    objectPath.setKeyBindings(request->objectName.getKeyBindings());    PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,        "ProviderMessageHandler::_handleAssociationNamesRequest - "            "Object path: $0",        objectPath.toString()));    CIMObjectPath assocPath(        System::getHostName(),        request->nameSpace,        request->assocClass.getString());    OperationContext providerContext(        _createProviderOperationContext(request->operationContext));    AutoPThreadSecurity threadLevelSecurity(providerContext);    CIMAssociationProvider* provider =        getProviderInterface<CIMAssociationProvider>(_provider);    PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,        "Calling provider.associatorNames: " + _name);    StatProviderTimeMeasurement providerTime(response.get());    HANDLE_PROVIDER_EXCEPTION(        provider->associatorNames(            providerContext,            objectPath,            request->assocClass,            request->resultClass,            request->role,            request->resultRole,            handler),        handler)    PEG_METHOD_EXIT();    return response.release();}CIMResponseMessage* ProviderMessageHandler::_handleReferencesRequest(    CIMRequestMessage* message){

⌨️ 快捷键说明

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