📄 xmlwriter.cpp
字号:
out << STRLIT("</VALUE.OBJECTWITHPATH>\n");}//------------------------------------------------------------------------------//// appendValueReferenceElement()//// <!ELEMENT VALUE.REFERENCE// (CLASSPATH|LOCALCLASSPATH|CLASSNAME|INSTANCEPATH|LOCALINSTANCEPATH|// INSTANCENAME)>////------------------------------------------------------------------------------void XmlWriter::appendValueReferenceElement( Buffer& out, const CIMObjectPath& reference, Boolean putValueWrapper){ if (putValueWrapper) out << STRLIT("<VALUE.REFERENCE>\n"); // See if it is a class or instance reference (instance references have // key-bindings; class references do not). // // ATTN-CAKG-P2-20020726: The following condition does not correctly // distinguish instanceNames from classNames in every case // The instanceName of a singleton instance of a keyless class has no // key bindings // const Array<CIMKeyBinding>& kbs = reference.getKeyBindings(); if (kbs.size()) { if (reference.getHost().size()) { appendInstancePathElement(out, reference); } else if (!reference.getNameSpace().isNull()) { appendLocalInstancePathElement(out, reference); } else { appendInstanceNameElement(out, reference); } } else { if (reference.getHost().size()) { appendClassPathElement(out, reference); } else if (!reference.getNameSpace().isNull()) { appendLocalClassPathElement(out, reference); } else { appendClassNameElement(out, reference.getClassName()); } } if (putValueWrapper) out << STRLIT("</VALUE.REFERENCE>\n");}void XmlWriter::printValueReferenceElement( const CIMObjectPath& reference, PEGASUS_STD(ostream)& os){ Buffer tmp; appendValueReferenceElement(tmp, reference, true); tmp.append('\0'); indentedPrint(os, tmp.getData());}//------------------------------------------------------------------------------//// appendValueNamedInstanceElement()//// <!ELEMENT VALUE.NAMEDINSTANCE (INSTANCENAME,INSTANCE)>////------------------------------------------------------------------------------void XmlWriter::appendValueNamedInstanceElement( Buffer& out, const CIMInstance& namedInstance){ out << STRLIT("<VALUE.NAMEDINSTANCE>\n"); appendInstanceNameElement(out, namedInstance.getPath ()); appendInstanceElement(out, namedInstance); out << STRLIT("</VALUE.NAMEDINSTANCE>\n");}//------------------------------------------------------------------------------//// appendClassElement()//// <!ELEMENT CLASS// (QUALIFIER*,(PROPERTY|PROPERTY.ARRAY|PROPERTY.REFERENCE)*,METHOD*)>// <!ATTLIST CLASS// %CIMName;// %SuperClass;>////------------------------------------------------------------------------------void XmlWriter::appendClassElement( Buffer& out, const CIMConstClass& cimclass){ cimclass._checkRep(); cimclass._rep->toXml(out);}void XmlWriter::printClassElement( const CIMConstClass& cimclass, PEGASUS_STD(ostream)& os){ Buffer tmp; appendClassElement(tmp, cimclass); tmp.append('\0'); indentedPrint(os, tmp.getData(), 4);}//------------------------------------------------------------------------------//// appendInstanceElement()//// <!ELEMENT INSTANCE// (QUALIFIER*,(PROPERTY|PROPERTY.ARRAY|PROPERTY.REFERENCE)*)>// <!ATTLIST INSTANCE// %ClassName;>////------------------------------------------------------------------------------void XmlWriter::appendInstanceElement( Buffer& out, const CIMConstInstance& instance){ instance._checkRep(); instance._rep->toXml(out);}void XmlWriter::printInstanceElement( const CIMConstInstance& instance, PEGASUS_STD(ostream)& os){ Buffer tmp; appendInstanceElement(tmp, instance); tmp.append('\0'); os << tmp.getData() << PEGASUS_STD(endl);}//------------------------------------------------------------------------------//// appendObjectElement()//// May refer to a CLASS or an INSTANCE////------------------------------------------------------------------------------void XmlWriter::appendObjectElement( Buffer& out, const CIMConstObject& object){ if (object.isClass()) { CIMConstClass c(object); appendClassElement(out, c); } else if (object.isInstance()) { CIMConstInstance i(object); appendInstanceElement(out, i); } // else PEGASUS_ASSERT(0);}//------------------------------------------------------------------------------//// appendPropertyElement()//// <!ELEMENT PROPERTY (QUALIFIER*,VALUE?)>// <!ATTLIST PROPERTY// %CIMName;// %CIMType; #REQUIRED// %ClassOrigin;// %Propagated;>//// <!ELEMENT PROPERTY.ARRAY (QUALIFIER*,VALUE.ARRAY?)>// <!ATTLIST PROPERTY.ARRAY// %CIMName;// %CIMType; #REQUIRED// %ArraySize;// %ClassOrigin;// %Propagated;>//// <!ELEMENT PROPERTY.REFERENCE (QUALIFIER*,VALUE.REFERENCE?)>// <!ATTLIST PROPERTY.REFERENCE// %CIMName;// %ReferenceClass;// %ClassOrigin;// %Propagated;>////------------------------------------------------------------------------------void XmlWriter::appendPropertyElement( Buffer& out, const CIMConstProperty& property){ property._checkRep(); property._rep->toXml(out);}void XmlWriter::printPropertyElement( const CIMConstProperty& property, PEGASUS_STD(ostream)& os){ Buffer tmp; appendPropertyElement(tmp, property); tmp.append('\0'); os << tmp.getData() << PEGASUS_STD(endl);}//------------------------------------------------------------------------------//// appendMethodElement()//// <!ELEMENT METHOD (QUALIFIER*,// (PARAMETER|PARAMETER.REFERENCE|PARAMETER.ARRAY|PARAMETER.REFARRAY)*)>// <!ATTLIST METHOD// %CIMName;// %CIMType; #IMPLIED// %ClassOrigin;// %Propagated;>////------------------------------------------------------------------------------void XmlWriter::appendMethodElement( Buffer& out, const CIMConstMethod& method){ method._checkRep(); method._rep->toXml(out);}void XmlWriter::printMethodElement( const CIMConstMethod& method, PEGASUS_STD(ostream)& os){ Buffer tmp; appendMethodElement(tmp, method); tmp.append('\0'); os << tmp.getData() << PEGASUS_STD(endl);}//------------------------------------------------------------------------------//// appendParameterElement()//// <!ELEMENT PARAMETER (QUALIFIER*)>// <!ATTLIST PARAMETER// %CIMName;// %CIMType; #REQUIRED>//// <!ELEMENT PARAMETER.REFERENCE (QUALIFIER*)>// <!ATTLIST PARAMETER.REFERENCE// %CIMName;// %ReferenceClass;>//// <!ELEMENT PARAMETER.ARRAY (QUALIFIER*)>// <!ATTLIST PARAMETER.ARRAY// %CIMName;// %CIMType; #REQUIRED// %ArraySize;>//// <!ELEMENT PARAMETER.REFARRAY (QUALIFIER*)>// <!ATTLIST PARAMETER.REFARRAY// %CIMName;// %ReferenceClass;// %ArraySize;>////------------------------------------------------------------------------------void XmlWriter::appendParameterElement( Buffer& out, const CIMConstParameter& parameter){ parameter._checkRep(); parameter._rep->toXml(out);}void XmlWriter::printParameterElement( const CIMConstParameter& parameter, PEGASUS_STD(ostream)& os){ Buffer tmp; appendParameterElement(tmp, parameter); tmp.append('\0'); os << tmp.getData() << PEGASUS_STD(endl);}//------------------------------------------------------------------------------//// appendParamValueElement()//// <!ELEMENT PARAMVALUE (VALUE|VALUE.REFERENCE|VALUE.ARRAY|VALUE.REFARRAY)?>// <!ATTLIST PARAMVALUE// %CIMName;>////------------------------------------------------------------------------------void XmlWriter::appendParamValueElement( Buffer& out, const CIMParamValue& paramValue){ paramValue._checkRep(); paramValue._rep->toXml(out);}void XmlWriter::printParamValueElement( const CIMParamValue& paramValue, PEGASUS_STD(ostream)& os){ Buffer tmp; appendParamValueElement(tmp, paramValue); tmp.append('\0'); os << tmp.getData() << PEGASUS_STD(endl);}//------------------------------------------------------------------------------//// appendQualifierElement()//// <!ELEMENT QUALIFIER (VALUE|VALUE.ARRAY)>// <!ATTLIST QUALIFIER// %CIMName;// %CIMType; #REQUIRED// %Propagated;// %QualifierFlavor;>////------------------------------------------------------------------------------void XmlWriter::appendQualifierElement( Buffer& out, const CIMConstQualifier& qualifier){ qualifier._checkRep(); qualifier._rep->toXml(out);}void XmlWriter::printQualifierElement( const CIMConstQualifier& qualifier, PEGASUS_STD(ostream)& os){ Buffer tmp; appendQualifierElement(tmp, qualifier); tmp.append('\0'); os << tmp.getData() << PEGASUS_STD(endl);}//------------------------------------------------------------------------------//// appendQualifierDeclElement()//// <!ELEMENT QUALIFIER.DECLARATION (SCOPE?,(VALUE|VALUE.ARRAY)?)>// <!ATTLIST QUALIFIER.DECLARATION// %CIMName;// %CIMType; #REQUIRED// ISARRAY (true|false) #IMPLIED// %ArraySize;// %QualifierFlavor;>////------------------------------------------------------------------------------void XmlWriter::appendQualifierDeclElement( Buffer& out, const CIMConstQualifierDecl& qualifierDecl){ qualifierDecl._checkRep(); qualifierDecl._rep->toXml(out);}void XmlWriter::printQualifierDeclElement( const CIMConstQualifierDecl& qualifierDecl, PEGASUS_STD(ostream)& os){ Buffer tmp; appendQualifierDeclElement(tmp, qualifierDecl); tmp.append('\0'); os << tmp.getData() << PEGASUS_STD(endl);}//------------------------------------------------------------------------------//// appendQualifierFlavorEntity()//// <!ENTITY % QualifierFlavor "OVERRIDABLE (true|false) 'true'// TOSUBCLASS (true|false) 'true'// TOINSTANCE (true|false) 'false'// TRANSLATABLE (true|false) 'false'">////------------------------------------------------------------------------------void XmlWriter::appendQualifierFlavorEntity( Buffer& out, const CIMFlavor & flavor){ if (!(flavor.hasFlavor (CIMFlavor::OVERRIDABLE))) out << STRLIT(" OVERRIDABLE=\"false\""); if (!(flavor.hasFlavor (CIMFlavor::TOSUBCLASS))) out << STRLIT(" TOSUBCLASS=\"false\""); if (flavor.hasFlavor (CIMFlavor::TOINSTANCE)) out << STRLIT(" TOINSTANCE=\"true\""); if (flavor.hasFlavor (CIMFlavor::TRANSLATABLE)) out << STRLIT(" TRANSLATABLE=\"true\"");}//------------------------------------------------------------------------------//// appendScopeElement()//// <!ELEMENT SCOPE EMPTY>// <!ATTLIST SCOPE// CLASS (true|false) 'false'// ASSOCIATION (true|false) 'false'// REFERENCE (true|false) 'false'// PROPERTY (true|false) 'false'// METHOD (true|false) 'false'// PARAMETER (true|false) 'false'// INDICATION (true|false) 'false'>////------------------------------------------------------------------------------void XmlWriter::appendScopeElement( Buffer& out, const CIMScope & scope){ if (!(scope.equal (CIMScope ()))) { out << STRLIT("<SCOPE"); if (scope.hasScope (CIMScope::CLASS)) out << STRLIT(" CLASS=\"true\""); if (scope.hasScope (CIMScope::ASSOCIATION)) out << STRLIT(" ASSOCIATION=\"true\""); if (scope.hasScope (CIMScope::REFERENCE)) out << STRLIT(" REFERENCE=\"true\""); if (scope.hasScope (CIMScope::PROPERTY)) out << STRLIT(" PROPERTY=\"true\""); if (scope.hasScope (CIMScope::METHOD)) out << STRLIT(" METHOD=\"true\""); if (scope.hasScope (CIMScope::PARAMETER)) out << STRLIT(" PARAMETER=\"true\""); if (scope.hasScope (CIMScope::INDICATION))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -