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

📄 cimmessage.h

📁 Pegasus is an open-source implementationof the DMTF CIM and WBEM standards. It is designed to be por
💻 H
📖 第 1 页 / 共 4 页
字号:
//%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_CIMMessage_h#define Pegasus_CIMMessage_h#include <Pegasus/Common/Config.h>#include <Pegasus/Common/Message.h>#include <Pegasus/Common/CIMParamValue.h>#include <Pegasus/Common/CIMClass.h>#include <Pegasus/Common/CIMInstance.h>#include <Pegasus/Common/CIMQualifierDecl.h>#include <Pegasus/Common/CIMObject.h>#include <Pegasus/Common/CIMObjectPath.h>#include <Pegasus/Common/CIMPropertyList.h>#include <Pegasus/Common/XmlWriter.h>#include <Pegasus/Common/Linkage.h>#include <Pegasus/Common/OperationContext.h>#include <Pegasus/Common/AcceptLanguageList.h>#include <Pegasus/Common/ContentLanguageList.h>#include <Pegasus/Common/Pair.h>#include <Pegasus/Common/ArrayInternal.h>/*   ProviderType should become part of Pegasus/Common     PEP# 99   #include <Pegasus/ProviderManager2/ProviderType.h>   #define TYPE_INSTANCE    ProviderType::INSTANCE   #define TYPE_CLASS       ProviderType::CLASS   #define TYPE_METHOD      ProviderType::METHOD   #define TYPE_ASSOCIATION ProviderType::ASSOCIATION   #define TYPE_QUERY       ProviderType::QUERY*/// using these equations instead      PEP# 99   #define TYPE_CLASS       1   #define TYPE_INSTANCE    2   #define TYPE_ASSOCIATION 3   #define TYPE_METHOD      5   #define TYPE_QUERY       7PEGASUS_NAMESPACE_BEGINclass PEGASUS_COMMON_LINKAGE CIMMessage : public Message{public:    CIMMessage(Uint32 type, const String& messageId_);#ifdef PEGASUS_DEBUG    virtual void print(PEGASUS_STD(ostream)& os, Boolean printHeader) const    {        if (printHeader)        {            os << "CIMMessage\n";            os << "{";        }        Message::print(os, false);        os << "    messageId=" << messageId << PEGASUS_STD(endl);        if (printHeader)        {            os << "}";        }    }#endif    String messageId;        OperationContext operationContext;};class CIMResponseMessage;class PEGASUS_COMMON_LINKAGE CIMRequestMessage : public CIMMessage{public:    CIMRequestMessage(        Uint32 type_, const String& messageId_, const QueueIdStack& queueIds_);    virtual CIMResponseMessage* buildResponse() const = 0;#ifdef PEGASUS_DEBUG    virtual void print(PEGASUS_STD(ostream)& os, Boolean printHeader) const    {        if (printHeader)        {            os << "CIMRequestMessage\n";            os << "{";        }        CIMMessage::print(os, false);        os << "    queueIds=" << "<not shown for now>" << PEGASUS_STD(endl);        if (printHeader)        {            os << "}";        }    }#endif    QueueIdStack queueIds;};class PEGASUS_COMMON_LINKAGE CIMResponseMessage : public CIMMessage{public:    CIMResponseMessage(        Uint32 type_,        const String& messageId_,        const CIMException& cimException_,        const QueueIdStack& queueIds_);    void syncAttributes(const CIMRequestMessage* request);    QueueIdStack queueIds;    CIMException cimException;};//// CIMRequestMessages//class PEGASUS_COMMON_LINKAGE CIMOperationRequestMessage    : public CIMRequestMessage{public:    CIMOperationRequestMessage(        Uint32 type_,        const String& messageId_,        const QueueIdStack& queueIds_,        const String& authType_,        const String& userName_,        const CIMNamespaceName& nameSpace_,        const CIMName& className_,        Uint32 providerType_ = TYPE_INSTANCE);    String authType;    String userName;    String ipAddress;    CIMNamespaceName nameSpace;    CIMName className;    Uint32 providerType;};class PEGASUS_COMMON_LINKAGE CIMIndicationRequestMessage    : public CIMRequestMessage{public:    CIMIndicationRequestMessage(        Uint32 type_,        const String & messageId_,        const QueueIdStack& queueIds_,        const String& authType_,        const String& userName_)        :        CIMRequestMessage(type_, messageId_, queueIds_),        authType(authType_),        userName(userName_)    {    }    String authType;    String userName;};class PEGASUS_COMMON_LINKAGE CIMGetClassRequestMessage    : public CIMOperationRequestMessage{public:    CIMGetClassRequestMessage(        const String& messageId_,        const CIMNamespaceName& nameSpace_,        const CIMName& className_,        Boolean localOnly_,        Boolean includeQualifiers_,        Boolean includeClassOrigin_,        const CIMPropertyList& propertyList_,        const QueueIdStack& queueIds_,        const String& authType_ = String::EMPTY,        const String& userName_ = String::EMPTY)    : CIMOperationRequestMessage(CIM_GET_CLASS_REQUEST_MESSAGE,         messageId_, queueIds_,         authType_, userName_,         nameSpace_,className_,         TYPE_CLASS),        localOnly(localOnly_),        includeQualifiers(includeQualifiers_),        includeClassOrigin(includeClassOrigin_),        propertyList(propertyList_)    {    }    virtual CIMResponseMessage* buildResponse() const;    Boolean localOnly;    Boolean includeQualifiers;    Boolean includeClassOrigin;    CIMPropertyList propertyList;};class PEGASUS_COMMON_LINKAGE CIMGetInstanceRequestMessage    : public CIMOperationRequestMessage{public:    CIMGetInstanceRequestMessage(        const String& messageId_,        const CIMNamespaceName& nameSpace_,        const CIMObjectPath& instanceName_,        Boolean localOnly_,        Boolean includeQualifiers_,        Boolean includeClassOrigin_,        const CIMPropertyList& propertyList_,        const QueueIdStack& queueIds_,        const String& authType_ = String::EMPTY,        const String& userName_ = String::EMPTY)    : CIMOperationRequestMessage(        CIM_GET_INSTANCE_REQUEST_MESSAGE, messageId_, queueIds_,         authType_, userName_,         nameSpace_,instanceName_.getClassName()),        instanceName(instanceName_),        localOnly(localOnly_),        includeQualifiers(includeQualifiers_),        includeClassOrigin(includeClassOrigin_),        propertyList(propertyList_)    {    }    virtual CIMResponseMessage* buildResponse() const;    CIMObjectPath instanceName;    Boolean localOnly;    Boolean includeQualifiers;    Boolean includeClassOrigin;    CIMPropertyList propertyList;};class PEGASUS_COMMON_LINKAGE CIMExportIndicationRequestMessage    : public CIMRequestMessage{public:    CIMExportIndicationRequestMessage(        const String& messageId_,        const String& destinationPath_,        const CIMInstance& indicationInstance_,        const QueueIdStack& queueIds_,        const String& authType_ = String::EMPTY,        const String& userName_ = String::EMPTY)    : CIMRequestMessage(        CIM_EXPORT_INDICATION_REQUEST_MESSAGE, messageId_, queueIds_),        destinationPath(destinationPath_),        indicationInstance(indicationInstance_),        authType(authType_),        userName(userName_)    {    }    virtual CIMResponseMessage* buildResponse() const;    String destinationPath;    CIMInstance indicationInstance;    String authType;    String userName;    String ipAddress;};class PEGASUS_COMMON_LINKAGE CIMDeleteClassRequestMessage    : public CIMOperationRequestMessage{public:    CIMDeleteClassRequestMessage(        const String& messageId_,        const CIMNamespaceName& nameSpace_,        const CIMName& className_,        const QueueIdStack& queueIds_,        const String& authType_ = String::EMPTY,        const String& userName_ = String::EMPTY)    : CIMOperationRequestMessage(        CIM_DELETE_CLASS_REQUEST_MESSAGE, messageId_, queueIds_,         authType_, userName_,         nameSpace_,className_,         TYPE_CLASS)    {    }    virtual CIMResponseMessage* buildResponse() const;};class PEGASUS_COMMON_LINKAGE CIMDeleteInstanceRequestMessage    : public CIMOperationRequestMessage{public:    CIMDeleteInstanceRequestMessage(        const String& messageId_,        const CIMNamespaceName& nameSpace_,        const CIMObjectPath& instanceName_,        const QueueIdStack& queueIds_,        const String& authType_ = String::EMPTY,        const String& userName_ = String::EMPTY)    : CIMOperationRequestMessage(        CIM_DELETE_INSTANCE_REQUEST_MESSAGE, messageId_, queueIds_,         authType_, userName_,         nameSpace_,instanceName_.getClassName()),        instanceName(instanceName_)    {    }    virtual CIMResponseMessage* buildResponse() const;    CIMObjectPath instanceName;};class PEGASUS_COMMON_LINKAGE CIMCreateClassRequestMessage    : public CIMOperationRequestMessage{public:    CIMCreateClassRequestMessage(        const String& messageId_,        const CIMNamespaceName& nameSpace_,        const CIMClass& newClass_,        const QueueIdStack& queueIds_,        const String& authType_ = String::EMPTY,        const String& userName_ = String::EMPTY)    : CIMOperationRequestMessage(        CIM_CREATE_CLASS_REQUEST_MESSAGE, messageId_, queueIds_,         authType_, userName_,         nameSpace_,newClass_.getClassName(),         TYPE_CLASS),        newClass(newClass_)    {    }    virtual CIMResponseMessage* buildResponse() const;    CIMClass newClass;};class PEGASUS_COMMON_LINKAGE CIMCreateInstanceRequestMessage    : public CIMOperationRequestMessage{public:    CIMCreateInstanceRequestMessage(        const String& messageId_,        const CIMNamespaceName& nameSpace_,        const CIMInstance& newInstance_,        const QueueIdStack& queueIds_,        const String& authType_ = String::EMPTY,        const String& userName_ = String::EMPTY)    : CIMOperationRequestMessage(        CIM_CREATE_INSTANCE_REQUEST_MESSAGE, messageId_, queueIds_,         authType_, userName_,         nameSpace_,newInstance_.getClassName()),        newInstance(newInstance_)    {    }    virtual CIMResponseMessage* buildResponse() const;    CIMInstance newInstance;};class PEGASUS_COMMON_LINKAGE CIMModifyClassRequestMessage    : public CIMOperationRequestMessage{public:    CIMModifyClassRequestMessage(        const String& messageId_,        const CIMNamespaceName& nameSpace_,        const CIMClass& modifiedClass_,        const QueueIdStack& queueIds_,        const String& authType_ = String::EMPTY,        const String& userName_ = String::EMPTY)    : CIMOperationRequestMessage(        CIM_MODIFY_CLASS_REQUEST_MESSAGE, messageId_, queueIds_,         authType_, userName_,         nameSpace_,modifiedClass_.getClassName(),         TYPE_CLASS),        modifiedClass(modifiedClass_)    {    }    virtual CIMResponseMessage* buildResponse() const;    CIMClass modifiedClass;};class PEGASUS_COMMON_LINKAGE CIMModifyInstanceRequestMessage    : public CIMOperationRequestMessage{public:    CIMModifyInstanceRequestMessage(        const String& messageId_,        const CIMNamespaceName& nameSpace_,        const CIMInstance& modifiedInstance_,        Boolean includeQualifiers_,        const CIMPropertyList& propertyList_,        const QueueIdStack& queueIds_,        const String& authType_ = String::EMPTY,        const String& userName_ = String::EMPTY)    : CIMOperationRequestMessage(        CIM_MODIFY_INSTANCE_REQUEST_MESSAGE, messageId_, queueIds_,         authType_, userName_,         nameSpace_,modifiedInstance_.getClassName()),        modifiedInstance(modifiedInstance_),        includeQualifiers(includeQualifiers_),        propertyList(propertyList_)    {    }    virtual CIMResponseMessage* buildResponse() const;    CIMInstance modifiedInstance;    Boolean includeQualifiers;    CIMPropertyList propertyList;};class PEGASUS_COMMON_LINKAGE CIMEnumerateClassesRequestMessage    : public CIMOperationRequestMessage{public:    CIMEnumerateClassesRequestMessage(        const String& messageId_,        const CIMNamespaceName& nameSpace_,        const CIMName& className_,        Boolean deepInheritance_,        Boolean localOnly_,        Boolean includeQualifiers_,        Boolean includeClassOrigin_,        const QueueIdStack& queueIds_,        const String& authType_ = String::EMPTY,        const String& userName_ = String::EMPTY)    : CIMOperationRequestMessage(        CIM_ENUMERATE_CLASSES_REQUEST_MESSAGE, messageId_, queueIds_,         authType_, userName_,         nameSpace_,className_,         TYPE_CLASS),        deepInheritance(deepInheritance_),        localOnly(localOnly_),        includeQualifiers(includeQualifiers_),        includeClassOrigin(includeClassOrigin_)    {    }    virtual CIMResponseMessage* buildResponse() const;    Boolean deepInheritance;    Boolean localOnly;    Boolean includeQualifiers;    Boolean includeClassOrigin;};class PEGASUS_COMMON_LINKAGE CIMEnumerateClassNamesRequestMessage    : public CIMOperationRequestMessage{public:    CIMEnumerateClassNamesRequestMessage(        const String& messageId_,        const CIMNamespaceName& nameSpace_,        const CIMName& className_,        Boolean deepInheritance_,        const QueueIdStack& queueIds_,        const String& authType_ = String::EMPTY,        const String& userName_ = String::EMPTY)    : CIMOperationRequestMessage(        CIM_ENUMERATE_CLASS_NAMES_REQUEST_MESSAGE, messageId_, queueIds_,         authType_, userName_,         nameSpace_,className_,         TYPE_CLASS),        deepInheritance(deepInheritance_)    {    }    virtual CIMResponseMessage* buildResponse() const;    Boolean deepInheritance;};class PEGASUS_COMMON_LINKAGE CIMEnumerateInstancesRequestMessage    : public CIMOperationRequestMessage{public:    CIMEnumerateInstancesRequestMessage(        const String& messageId_,        const CIMNamespaceName& nameSpace_,        const CIMName& className_,        Boolean deepInheritance_,        Boolean localOnly_,        Boolean includeQualifiers_,        Boolean includeClassOrigin_,

⌨️ 快捷键说明

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