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

📄 internalcimomhandlerep.cpp

📁 Pegasus is an open-source implementationof the DMTF CIM and WBEM standards. It is designed to be por
💻 CPP
📖 第 1 页 / 共 4 页
字号:
    AutoPtr<CIMEnumerateClassesResponseMessage> response;    try    {        response.reset(dynamic_cast<CIMEnumerateClassesResponseMessage*>(            do_request(request)));        if (response.get() == 0)        {            PEG_TRACE_STRING(                TRC_CIMOM_HANDLE,                Tracer::LEVEL2,                "Incorrect response type in CIMOMHandle");            throw CIMException(CIM_ERR_FAILED);        }    }    catch (CIMException &)    {        PEG_METHOD_EXIT();        throw;    }    catch (...)    {        PEG_TRACE_STRING(            TRC_CIMOM_HANDLE,            Tracer::LEVEL2,            "Exception caught in CIMOMHandle");        PEG_METHOD_EXIT();        throw CIMException(            CIM_ERR_FAILED,            MessageLoaderParms(                "Provider.CIMOMHandle.CAUGHT_EXCEPTION",                "Exception caught in CIMOMHandle"));    }    Array<CIMClass> cimClasses = response->cimClasses;    PEG_METHOD_EXIT();    return cimClasses;}Array<CIMName> InternalCIMOMHandleRep::enumerateClassNames(    const OperationContext & context,    const CIMNamespaceName &nameSpace,    const CIMName& className,    Boolean deepInheritance){    PEG_METHOD_ENTER(TRC_CIMOM_HANDLE,        "InternalCIMOMHandleRep::enumerateClassNames");#ifdef PEGASUS_OS_OS400    // If this is running in user-state, then run the request    // through the user-state layer    if (_chOS400.hasKey())    {        Array<CIMName> cimClassNames =            _chOS400.enumerateClassNames(                context,                nameSpace,                className,                deepInheritance);        PEG_METHOD_EXIT();        return cimClassNames;    }#endif    CIMEnumerateClassNamesRequestMessage* request =        new CIMEnumerateClassNamesRequestMessage(            XmlWriter::getNextMessageId(),            nameSpace,            className,            deepInheritance,            QueueIdStack());    // copy and adjust, as needed, the operation context    request->operationContext = _filterOperationContext(context);    AutoPtr<CIMEnumerateClassNamesResponseMessage> response;    try    {        response.reset(dynamic_cast<CIMEnumerateClassNamesResponseMessage*>(            do_request(request)));        if (response.get() == 0)        {            PEG_TRACE_STRING(                TRC_CIMOM_HANDLE,                Tracer::LEVEL2,                "Incorrect response type in CIMOMHandle");            throw CIMException(CIM_ERR_FAILED);        }    }    catch (CIMException &)    {        PEG_METHOD_EXIT();        throw;    }    catch (...)    {        PEG_TRACE_STRING(            TRC_CIMOM_HANDLE,            Tracer::LEVEL2,            "Exception caught in CIMOMHandle");        PEG_METHOD_EXIT();        throw CIMException(            CIM_ERR_FAILED,            MessageLoaderParms(                "Provider.CIMOMHandle.CAUGHT_EXCEPTION",                "Exception caught in CIMOMHandle"));    }    Array<CIMName> cimClassNames = response->classNames;    PEG_METHOD_EXIT();    return cimClassNames;}void InternalCIMOMHandleRep::createClass(    const OperationContext & context,    const CIMNamespaceName& nameSpace,    const CIMClass& newClass){    PEG_METHOD_ENTER(TRC_CIMOM_HANDLE, "InternalCIMOMHandleRep::createClass");#ifdef PEGASUS_OS_OS400    // If this is running in user-state, then run the request    // through the user-state layer    if (_chOS400.hasKey())    {        _chOS400.createClass(            context,            nameSpace,            newClass);        PEG_METHOD_EXIT();        return;    }#endif    CIMCreateClassRequestMessage* request =        new CIMCreateClassRequestMessage(            XmlWriter::getNextMessageId(),            nameSpace,            newClass,            QueueIdStack());    // copy and adjust, as needed, the operation context    request->operationContext = _filterOperationContext(context);    AutoPtr<CIMCreateClassResponseMessage> response;    try    {        response.reset(dynamic_cast<CIMCreateClassResponseMessage*>(            do_request(request)));        if (response.get() == 0)        {            PEG_TRACE_STRING(                TRC_CIMOM_HANDLE,                Tracer::LEVEL2,                "Incorrect response type in CIMOMHandle");            throw CIMException(CIM_ERR_FAILED);        }    }    catch (CIMException &)    {        PEG_METHOD_EXIT();        throw;    }    catch (...)    {        PEG_TRACE_STRING(            TRC_CIMOM_HANDLE,            Tracer::LEVEL2,            "Exception caught in CIMOMHandle");        PEG_METHOD_EXIT();        throw CIMException(            CIM_ERR_FAILED,            MessageLoaderParms(                "Provider.CIMOMHandle.CAUGHT_EXCEPTION",                "Exception caught in CIMOMHandle"));    }    PEG_METHOD_EXIT();    return;}void InternalCIMOMHandleRep::modifyClass(    const OperationContext & context,    const CIMNamespaceName &nameSpace,    const CIMClass& modifiedClass){    PEG_METHOD_ENTER(TRC_CIMOM_HANDLE, "InternalCIMOMHandleRep::modifyClass");#ifdef PEGASUS_OS_OS400    // If this is running in user-state, then run the request    // through the user-state layer    if (_chOS400.hasKey())    {        _chOS400.modifyClass(            context,            nameSpace,            modifiedClass);        PEG_METHOD_EXIT();        return;    }#endif    CIMModifyClassRequestMessage* request =        new CIMModifyClassRequestMessage(            XmlWriter::getNextMessageId(),            nameSpace,            modifiedClass,            QueueIdStack());    // copy and adjust, as needed, the operation context    request->operationContext = _filterOperationContext(context);    AutoPtr<CIMModifyClassResponseMessage> response;    try    {        response.reset(dynamic_cast<CIMModifyClassResponseMessage*>(            do_request(request)));        if (response.get() == 0)        {            PEG_TRACE_STRING(                TRC_CIMOM_HANDLE,                Tracer::LEVEL2,                "Incorrect response type in CIMOMHandle");            throw CIMException(CIM_ERR_FAILED);        }    }    catch (CIMException &)    {        PEG_METHOD_EXIT();        throw;    }    catch (...)    {        PEG_TRACE_STRING(            TRC_CIMOM_HANDLE,            Tracer::LEVEL2,            "Exception caught in CIMOMHandle");        PEG_METHOD_EXIT();        throw CIMException(            CIM_ERR_FAILED,            MessageLoaderParms(                "Provider.CIMOMHandle.CAUGHT_EXCEPTION",                "Exception caught in CIMOMHandle"));    }    PEG_METHOD_EXIT();    return;}void InternalCIMOMHandleRep::deleteClass(    const OperationContext & context,    const CIMNamespaceName &nameSpace,    const CIMName& className){    PEG_METHOD_ENTER(TRC_CIMOM_HANDLE, "InternalCIMOMHandleRep::deleteClass");#ifdef PEGASUS_OS_OS400    // If this is running in user-state, then run the request    // through the user-state layer    if (_chOS400.hasKey())    {        _chOS400.deleteClass(            context,            nameSpace,            className);        PEG_METHOD_EXIT();        return;    }#endif    // encode request    CIMDeleteClassRequestMessage* request =        new CIMDeleteClassRequestMessage(            XmlWriter::getNextMessageId(),            nameSpace,            className,            QueueIdStack());    // copy and adjust, as needed, the operation context    request->operationContext = _filterOperationContext(context);    AutoPtr<CIMDeleteClassResponseMessage> response;    try    {        response.reset(dynamic_cast<CIMDeleteClassResponseMessage*>(            do_request(request)));        if (response.get() == 0)        {            PEG_TRACE_STRING(                TRC_CIMOM_HANDLE,                Tracer::LEVEL2,                "Incorrect response type in CIMOMHandle");            throw CIMException(CIM_ERR_FAILED);        }    }    catch (CIMException &)    {        PEG_METHOD_EXIT();        throw;    }    catch (...)    {        PEG_TRACE_STRING(            TRC_CIMOM_HANDLE,            Tracer::LEVEL2,            "Exception caught in CIMOMHandle");        PEG_METHOD_EXIT();        throw CIMException(            CIM_ERR_FAILED,            MessageLoaderParms(                "Provider.CIMOMHandle.CAUGHT_EXCEPTION",                "Exception caught in CIMOMHandle"));    }    PEG_METHOD_EXIT();    return;}CIMInstance InternalCIMOMHandleRep::getInstance(    const OperationContext & context,    const CIMNamespaceName &nameSpace,    const CIMObjectPath& instanceName,    Boolean localOnly,    Boolean includeQualifiers,    Boolean includeClassOrigin,    const CIMPropertyList& propertyList){    PEG_METHOD_ENTER(TRC_CIMOM_HANDLE, "InternalCIMOMHandleRep::getInstance");#ifdef PEGASUS_OS_OS400    // If this is running in user-state, then run the request    // through the user-state layer    if (_chOS400.hasKey())    {        CIMInstance cimInstance =            _chOS400.getInstance(                context,                nameSpace,                instanceName,                localOnly,                includeQualifiers,                includeClassOrigin,                propertyList);        PEG_METHOD_EXIT();        return cimInstance;    }#endif    // encode request    CIMGetInstanceRequestMessage* request =        new CIMGetInstanceRequestMessage(            XmlWriter::getNextMessageId(),            nameSpace,            instanceName,            localOnly,            includeQualifiers,            includeClassOrigin,            propertyList,            QueueIdStack());    // copy and adjust, as needed, the operation context    request->operationContext = _filterOperationContext(context);    AutoPtr<CIMGetInstanceResponseMessage> response;    try    {        response.reset(dynamic_cast<CIMGetInstanceResponseMessage*>(            do_request(request)));        if (response.get() == 0)        {            PEG_TRACE_STRING(                TRC_CIMOM_HANDLE,                Tracer::LEVEL2,                "Incorrect response type in CIMOMHandle");            throw CIMException(CIM_ERR_FAILED);        }    }    catch (CIMException &)    {        PEG_METHOD_EXIT();        throw;    }    catch (...)    {        PEG_TRACE_STRING(            TRC_CIMOM_HANDLE,            Tracer::LEVEL2,            "Exception caught in CIMOMHandle");        PEG_METHOD_EXIT();        throw CIMException(            CIM_ERR_FAILED,            MessageLoaderParms(                "Provider.CIMOMHandle.CAUGHT_EXCEPTION",                "Exception caught in CIMOMHandle"));    }    CIMInstance cimInstance = response->cimInstance;    PEG_METHOD_EXIT();    return cimInstance;}Array<CIMInstance> InternalCIMOMHandleRep::enumerateInstances(    const OperationContext & context,    const CIMNamespaceName &nameSpace,    const CIMName& className,    Boolean deepInheritance,    Boolean localOnly,    Boolean includeQualifiers,    Boolean includeClassOrigin,    const CIMPropertyList& propertyList){    PEG_METHOD_ENTER(TRC_CIMOM_HANDLE,        "InternalCIMOMHandleRep::enumerateInstances");#ifdef PEGASUS_OS_OS400    // If this is running in user-state, then run the request    // through the user-state layer    if (_chOS400.hasKey())    {        Array<CIMInstance> cimInstances =            _chOS400.enumerateInstances(                context,                nameSpace,                className,                deepInheritance,                localOnly,                includeQualifiers,                includeClassOrigin,                propertyList);        PEG_METHOD_EXIT();        return cimInstances;    }#endif    // encode request    CIMEnumerateInstancesRequestMessage* request =        new CIMEnumerateInstancesRequestMessage(            XmlWriter::getNextMessageId(),            nameSpace,            className,            deepInheritance,            localOnly,            includeQualifiers,            includeClassOrigin,            propertyList,            QueueIdStack());    // copy and adjust, as needed, the operation context    request->operationContext = _filterOperationContext(context);    AutoPtr<CIMEnumerateInstancesResponseMessage> response;    try    {        response.reset(dynamic_cast<CIMEnumerateInstancesResponseMessage*>(            do_request(request)));        if (response.get() == 0)        {            PEG_TRACE_STRING(                TRC_CIMOM_HANDLE,                Tracer::LEVEL2,                "Incorrect response type in CIMOMHandle");            throw CIMException(CIM_ERR_FAILED);        }    }    catch (CIMException &)    {        PEG_METHOD_EXIT();        throw;    }    catch (...)    {        PEG_TRACE_STRING(            TRC_CIMOM_HANDLE,            Tracer::LEVEL2,            "Exception caught in CIMOMHandle");        PEG_METHOD_EXIT();        throw CIMException(            CIM_ERR_FAILED,            MessageLoaderParms(                "Provider.CIMOMHandle.CAUGHT_EXCEPTION",                "Exception caught in CIMOMHandle"));    }    Array<CIMInstance> cimInstances = response->cimNamedInstances;    PEG_METHOD_EXIT();    return cimInstances;}Array<CIMObjectPath> InternalCIMOMHandleRep::enumerateInstanceNames(    const OperationContext & context,    const CIMNamespaceName &nameSpace,

⌨️ 快捷键说明

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