📄 xmlwriter.h
字号:
//%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.////==============================================================================////%/////////////////////////////////////////////////////////////////////////////#ifndef Pegasus_XmlWriter_h#define Pegasus_XmlWriter_h#include <iostream>#include <Pegasus/Common/Config.h>#include <Pegasus/Common/InternalException.h>#include <Pegasus/Common/ArrayInternal.h>#include <Pegasus/Common/String.h>#include <Pegasus/Common/Indentor.h>#include <Pegasus/Common/CIMObject.h>#include <Pegasus/Common/CIMClass.h>#include <Pegasus/Common/CIMInstance.h>#include <Pegasus/Common/CIMProperty.h>#include <Pegasus/Common/CIMMethod.h>#include <Pegasus/Common/CIMParameter.h>#include <Pegasus/Common/CIMQualifier.h>#include <Pegasus/Common/CIMQualifierDecl.h>#include <Pegasus/Common/CIMValue.h>#include <Pegasus/Common/CIMObjectPath.h>#include <Pegasus/Common/CIMPropertyList.h>#include <Pegasus/Common/CIMParamValue.h>#include <Pegasus/Common/Message.h>#include <Pegasus/Common/Linkage.h>#include <Pegasus/Common/ContentLanguageList.h>#include <Pegasus/Common/AcceptLanguageList.h>#include <Pegasus/Common/Buffer.h>#include <Pegasus/Common/StrLit.h>PEGASUS_NAMESPACE_BEGIN// l10n - added accept language and content language support belowclass PEGASUS_COMMON_LINKAGE XmlWriter{public: static void append(Buffer& out, const Char16& x); static void append(Buffer& out, char x) { out.append(x); } static void append(Buffer& out, Boolean x); static void append(Buffer& out, Uint32 x); static void append(Buffer& out, Sint32 x); static void append(Buffer& out, Uint64 x); static void append(Buffer& out, Sint64 x); static void append(Buffer& out, Real32 x); static void append(Buffer& out, Real64 x); static void append(Buffer& out, const char* str); static void append(Buffer& out, const String& str); static void append(Buffer& out, const Indentor& x); static void appendSpecial(Buffer& out, const Char16& x); static void appendSpecial(Buffer& out, char x); static void appendSpecial(Buffer& out, const char* str); static void appendSpecial(Buffer& out, const String& str); static String encodeURICharacters(const Buffer& uriString); static String encodeURICharacters(const String& uriString); static void appendLocalNameSpacePathElement( Buffer& out, const CIMNamespaceName& nameSpace); static void appendNameSpacePathElement( Buffer& out, const String& host, const CIMNamespaceName& nameSpace); static void appendClassNameElement( Buffer& out, const CIMName& className); static void appendInstanceNameElement( Buffer& out, const CIMObjectPath& instanceName); static void appendClassPathElement( Buffer& out, const CIMObjectPath& classPath); static void appendInstancePathElement( Buffer& out, const CIMObjectPath& instancePath); static void appendLocalClassPathElement( Buffer& out, const CIMObjectPath& classPath); static void appendLocalInstancePathElement( Buffer& out, const CIMObjectPath& instancePath); static void appendLocalObjectPathElement( Buffer& out, const CIMObjectPath& objectPath); static void appendValueElement( Buffer& out, const CIMValue& value); static void printValueElement( const CIMValue& value, PEGASUS_STD(ostream)& os=PEGASUS_STD(cout)); static void appendValueObjectWithPathElement( Buffer& out, const CIMObject& objectWithPath); static void appendValueReferenceElement( Buffer& out, const CIMObjectPath& reference, Boolean putValueWrapper); static void printValueReferenceElement( const CIMObjectPath& reference, PEGASUS_STD(ostream)& os=PEGASUS_STD(cout)); static void appendValueNamedInstanceElement( Buffer& out, const CIMInstance& namedInstance); static void appendClassElement( Buffer& out, const CIMConstClass& cimclass); static void printClassElement( const CIMConstClass& cimclass, PEGASUS_STD(ostream)& os=PEGASUS_STD(cout)); static void appendInstanceElement( Buffer& out, const CIMConstInstance& instance); static void printInstanceElement( const CIMConstInstance& instance, PEGASUS_STD(ostream)& os=PEGASUS_STD(cout)); static void appendObjectElement( Buffer& out, const CIMConstObject& object); static void appendPropertyElement( Buffer& out, const CIMConstProperty& property); static void printPropertyElement( const CIMConstProperty& property, PEGASUS_STD(ostream)& os=PEGASUS_STD(cout)); static void appendMethodElement( Buffer& out, const CIMConstMethod& method); static void printMethodElement( const CIMConstMethod& method, PEGASUS_STD(ostream)& os=PEGASUS_STD(cout)); static void appendParameterElement( Buffer& out, const CIMConstParameter& parameter); static void printParameterElement( const CIMConstParameter& parameter, PEGASUS_STD(ostream)& os=PEGASUS_STD(cout)); static void appendParamValueElement( Buffer& out, const CIMParamValue& paramValue); static void printParamValueElement( const CIMParamValue& paramValue, PEGASUS_STD(ostream)& os=PEGASUS_STD(cout)); static void appendQualifierElement( Buffer& out, const CIMConstQualifier& qualifier); static void printQualifierElement( const CIMConstQualifier& qualifier, PEGASUS_STD(ostream)& os=PEGASUS_STD(cout)); static void appendQualifierDeclElement( Buffer& out, const CIMConstQualifierDecl& qualifierDecl); static void printQualifierDeclElement( const CIMConstQualifierDecl& qualifierDecl, PEGASUS_STD(ostream)& os=PEGASUS_STD(cout)); static void appendQualifierFlavorEntity( Buffer& out, const CIMFlavor & flavor); static void appendScopeElement( Buffer& out, const CIMScope & scope); static void appendMethodCallHeader( Buffer& out, const char* host, const CIMName& cimMethod, const String& cimObject, const String& authenticationHeader, HttpMethod httpMethod, const AcceptLanguageList& acceptLanguages, const ContentLanguageList& contentLanguages, Uint32 contentLength); // added to accommodate sending WBEMServerResponseTime PEP #128 static void appendMethodResponseHeader( Buffer& out, HttpMethod httpMethod, const ContentLanguageList& contentLanguages, Uint32 contentLength, Uint64 serverResponseTime = 0); static void appendHttpErrorResponseHeader( Buffer& out, const String& status, const String& cimError = String::EMPTY, const String& errorDetail = String::EMPTY); static void appendUnauthorizedResponseHeader( Buffer& out, const String& content);#ifdef PEGASUS_KERBEROS_AUTHENTICATION static void appendOKResponseHeader( Buffer& out, const String& content);#endif static void appendReturnValueElement( Buffer& out, const CIMValue& value); static void appendBooleanIParameter( Buffer& out, const char* name, Boolean flag); static void appendStringIParameter( Buffer& out, const char* name, const String& str); static void appendClassNameIParameter( Buffer& out, const char* name, const CIMName& className); static void appendInstanceNameIParameter(
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -