cimoperationresponsedecoder.cpp
来自「Pegasus is an open-source implementation」· C++ 代码 · 共 1,785 行 · 第 1/4 页
CPP
1,785 行
if (XmlReader::getErrorElement(parser, cimException)) { return new CIMEnumerateClassNamesResponseMessage( messageId, cimException, QueueIdStack(), Array<CIMName>()); } if (XmlReader::testStartTagOrEmptyTag(parser, entry, "IRETURNVALUE")) { if (entry.type != XmlEntry::EMPTY_TAG) { CIMName className; while (XmlReader::getClassNameElement(parser, className, false)) classNames.append(className); XmlReader::expectEndTag(parser, "IRETURNVALUE"); } } } return new CIMEnumerateClassNamesResponseMessage( messageId, cimException, QueueIdStack(), classNames);}CIMEnumerateClassesResponseMessage* CIMOperationResponseDecoder::_decodeEnumerateClassesResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag){ XmlEntry entry; CIMException cimException; Array<CIMClass> cimClasses; if (!isEmptyImethodresponseTag) { if (XmlReader::getErrorElement(parser, cimException)) { return new CIMEnumerateClassesResponseMessage( messageId, cimException, QueueIdStack(), Array<CIMClass>()); } if (XmlReader::testStartTagOrEmptyTag(parser, entry, "IRETURNVALUE")) { if (entry.type != XmlEntry::EMPTY_TAG) { CIMClass cimClass; while (XmlReader::getClassElement(parser, cimClass)) cimClasses.append(cimClass); XmlReader::expectEndTag(parser, "IRETURNVALUE"); } } } return new CIMEnumerateClassesResponseMessage( messageId, cimException, QueueIdStack(), cimClasses);}CIMDeleteClassResponseMessage* CIMOperationResponseDecoder::_decodeDeleteClassResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag){ XmlEntry entry; CIMException cimException; if (!isEmptyImethodresponseTag) { if (XmlReader::getErrorElement(parser, cimException)) { return new CIMDeleteClassResponseMessage( messageId, cimException, QueueIdStack()); } if (XmlReader::testStartTagOrEmptyTag(parser, entry, "IRETURNVALUE")) { if (entry.type != XmlEntry::EMPTY_TAG) { XmlReader::expectEndTag(parser, "IRETURNVALUE"); } } } return new CIMDeleteClassResponseMessage( messageId, cimException, QueueIdStack());}CIMCreateInstanceResponseMessage* CIMOperationResponseDecoder::_decodeCreateInstanceResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag){ XmlEntry entry; CIMException cimException; if (isEmptyImethodresponseTag) { MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_OPEN", "Expected open of $0 element", "IMETHODRESPONSE"); throw XmlValidationError(parser.getLine(), mlParms); } else if (XmlReader::getErrorElement(parser, cimException)) { return new CIMCreateInstanceResponseMessage( messageId, cimException, QueueIdStack(), CIMObjectPath()); } else if (XmlReader::testStartTag(parser, entry, "IRETURNVALUE")) { CIMObjectPath instanceName; XmlReader::getInstanceNameElement(parser, instanceName); XmlReader::expectEndTag(parser, "IRETURNVALUE"); return new CIMCreateInstanceResponseMessage( messageId, cimException, QueueIdStack(), instanceName); } else { MessageLoaderParms mlParms( "Client.CIMOperationResponseDecoder." "EXPECTED_ERROR_OR_IRETURNVALUE_ELEMENT", "expected ERROR or IRETURNVALUE element"); throw XmlValidationError(parser.getLine(), mlParms); }}CIMGetInstanceResponseMessage* CIMOperationResponseDecoder::_decodeGetInstanceResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag){ XmlEntry entry; CIMException cimException; if (isEmptyImethodresponseTag) { MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_OPEN", "Expected open of $0 element", "IMETHODRESPONSE"); throw XmlValidationError(parser.getLine(), mlParms); } else if (XmlReader::getErrorElement(parser, cimException)) { return new CIMGetInstanceResponseMessage( messageId, cimException, QueueIdStack(), CIMInstance()); } else if (XmlReader::testStartTagOrEmptyTag(parser, entry, "IRETURNVALUE")) { CIMInstance cimInstance; if ((entry.type == XmlEntry::EMPTY_TAG) || !XmlReader::getInstanceElement(parser, cimInstance)) { MessageLoaderParms mlParms( "Client.CIMOperationResponseDecoder.EXPECTED_INSTANCE_ELEMENT", "expected INSTANCE element"); throw XmlValidationError(parser.getLine(), mlParms); } XmlReader::expectEndTag(parser, "IRETURNVALUE"); return new CIMGetInstanceResponseMessage( messageId, cimException, QueueIdStack(), cimInstance); } else { MessageLoaderParms mlParms( "Client.CIMOperationResponseDecoder." "EXPECTED_ERROR_OR_IRETURNVALUE_ELEMENT", "expected ERROR or IRETURNVALUE element"); throw XmlValidationError(parser.getLine(), mlParms); }}CIMModifyInstanceResponseMessage* CIMOperationResponseDecoder::_decodeModifyInstanceResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag){ XmlEntry entry; CIMException cimException; if (!isEmptyImethodresponseTag) { if (XmlReader::getErrorElement(parser, cimException)) { return new CIMModifyInstanceResponseMessage( messageId, cimException, QueueIdStack()); } if (XmlReader::testStartTagOrEmptyTag(parser, entry, "IRETURNVALUE")) { if (entry.type != XmlEntry::EMPTY_TAG) { XmlReader::expectEndTag(parser, "IRETURNVALUE"); } } } return new CIMModifyInstanceResponseMessage( messageId, cimException, QueueIdStack());}CIMEnumerateInstanceNamesResponseMessage* CIMOperationResponseDecoder::_decodeEnumerateInstanceNamesResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag){ XmlEntry entry; CIMException cimException; Array<CIMObjectPath> instanceNames; if (!isEmptyImethodresponseTag) { if (XmlReader::getErrorElement(parser, cimException)) { return new CIMEnumerateInstanceNamesResponseMessage( messageId, cimException, QueueIdStack(), Array<CIMObjectPath>()); } if (XmlReader::testStartTagOrEmptyTag(parser, entry, "IRETURNVALUE")) { if (entry.type != XmlEntry::EMPTY_TAG) { String className; Array<CIMKeyBinding> keyBindings; while (XmlReader::getInstanceNameElement( parser, className, keyBindings)) { CIMObjectPath r( String::EMPTY, CIMNamespaceName(), className, keyBindings); instanceNames.append(r); } XmlReader::expectEndTag(parser, "IRETURNVALUE"); } } } return new CIMEnumerateInstanceNamesResponseMessage( messageId, cimException, QueueIdStack(), instanceNames);}CIMEnumerateInstancesResponseMessage* CIMOperationResponseDecoder::_decodeEnumerateInstancesResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag){ XmlEntry entry; CIMException cimException; Array<CIMInstance> namedInstances; if (!isEmptyImethodresponseTag) { if (XmlReader::getErrorElement(parser, cimException)) { return new CIMEnumerateInstancesResponseMessage( messageId, cimException, QueueIdStack(), Array<CIMInstance>()); } if (XmlReader::testStartTagOrEmptyTag(parser, entry, "IRETURNVALUE")) { if (entry.type != XmlEntry::EMPTY_TAG) { CIMInstance namedInstance; while (XmlReader::getNamedInstanceElement( parser, namedInstance)) { namedInstances.append(namedInstance); } XmlReader::expectEndTag(parser, "IRETURNVALUE"); } } } return new CIMEnumerateInstancesResponseMessage( messageId, cimException, QueueIdStack(), namedInstances);}CIMDeleteInstanceResponseMessage* CIMOperationResponseDecoder::_decodeDeleteInstanceResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag){ XmlEntry entry; CIMException cimException; if (!isEmptyImethodresponseTag) { if (XmlReader::getErrorElement(parser, cimException)) { return new CIMDeleteInstanceResponseMessage( messageId, cimException, QueueIdStack()); } if (XmlReader::testStartTagOrEmptyTag(parser, entry, "IRETURNVALUE")) { if (entry.type != XmlEntry::EMPTY_TAG) { XmlReader::expectEndTag(parser, "IRETURNVALUE"); } } } return new CIMDeleteInstanceResponseMessage( messageId, cimException, QueueIdStack());}CIMGetPropertyResponseMessage* CIMOperationResponseDecoder::_decodeGetPropertyResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag){ XmlEntry entry; CIMException cimException; CIMValue cimValue(CIMTYPE_STRING, false); if (!isEmptyImethodresponseTag) { if (XmlReader::getErrorElement(parser, cimException)) { return new CIMGetPropertyResponseMessage( messageId, cimException, QueueIdStack(), CIMValue()); } if (XmlReader::testStartTagOrEmptyTag(parser, entry, "IRETURNVALUE")) { if (entry.type != XmlEntry::EMPTY_TAG) { if (!XmlReader::getPropertyValue(parser, cimValue)) { // No value given; just return a null String value } XmlReader::expectEndTag(parser, "IRETURNVALUE"); } } else { // No value given; just return a null String value } } return new CIMGetPropertyResponseMessage( messageId, cimException, QueueIdStack(), cimValue);}CIMSetPropertyResponseMessage* CIMOperationResponseDecoder::_decodeSetPropertyResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag){ XmlEntry entry; CIMException cimException; if (!isEmptyImethodresponseTag) { if (XmlReader::getErrorElement(parser, cimException)) { return new CIMSetPropertyResponseMessage( messageId, cimException, QueueIdStack()); } if (XmlReader::testStartTagOrEmptyTag(parser, entry, "IRETURNVALUE")) { if (entry.type != XmlEntry::EMPTY_TAG) { XmlReader::expectEndTag(parser, "IRETURNVALUE"); } } } return new CIMSetPropertyResponseMessage( messageId,
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?