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

📄 cimommessage.h

📁 Pegasus is an open-source implementationof the DMTF CIM and WBEM standards. It is designed to be por
💻 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_CimomMessage_h#define Pegasus_CimomMessage_h#include <Pegasus/Common/Config.h>#include <Pegasus/Common/InternalException.h>#include <Pegasus/Common/MessageQueue.h>#include <Pegasus/Common/AsyncOpNode.h>#include <Pegasus/Common/Array.h>#include <Pegasus/Common/Linkage.h>PEGASUS_NAMESPACE_BEGIN//// This identifier is the queue id for CIMOM queue. It is initialized in// CimomMessage.cpp by calling MessageQueue::getNextQueueId(). Note that// this value is passed in the constructor for the CIMOM queue.//extern const Uint32 CIMOM_Q_ID;class PEGASUS_COMMON_LINKAGE async_results{public:    static const Uint32 OK;    static const Uint32 PARAMETER_ERROR;    static const Uint32 MODULE_ALREADY_REGISTERED;    static const Uint32 MODULE_NOT_FOUND;    static const Uint32 INTERNAL_ERROR;    static const Uint32 ASYNC_STARTED;    static const Uint32 ASYNC_PROCESSING;    static const Uint32 ASYNC_COMPLETE;    static const Uint32 ASYNC_CANCELLED;    static const Uint32 ASYNC_PAUSED;    static const Uint32 ASYNC_RESUMED;    static const Uint32 CIM_SERVICE_STARTED;    static const Uint32 CIM_SERVICE_STOPPED;    static const Uint32 CIM_SERVICE_PAUSED;    static const Uint32 CIM_SERVICE_RESUMED;    static const Uint32 CIM_NAK;    static const Uint32 ASYNC_PHASE_COMPLETE;    static const Uint32 ASYNC_CHILD_COMPLETE;    static const Uint32 ASYNC_PHASE_STARTED;    static const Uint32 ASYNC_CHILD_STARTED;    static const Uint32 CIM_PAUSED;    static const Uint32 CIM_STOPPED;};class PEGASUS_COMMON_LINKAGE async_messages{public:    static const Uint32 HEARTBEAT;    static const Uint32 REPLY;    static const Uint32 REGISTER_CIM_SERVICE;    static const Uint32 DEREGISTER_CIM_SERVICE;    static const Uint32 UPDATE_CIM_SERVICE;    static const Uint32 IOCTL;    static const Uint32 CIMSERVICE_START;    static const Uint32 CIMSERVICE_STOP;    static const Uint32 CIMSERVICE_PAUSE;    static const Uint32 CIMSERVICE_RESUME;    static const Uint32 PROVIDERS_STOP;    static const Uint32 ASYNC_OP_START;    static const Uint32 ASYNC_OP_RESULT;    static const Uint32 ASYNC_LEGACY_OP_START;    static const Uint32 ASYNC_LEGACY_OP_RESULT;    static const Uint32 FIND_SERVICE_Q;    static const Uint32 FIND_SERVICE_Q_RESULT;    static const Uint32 ENUMERATE_SERVICE;    static const Uint32 ENUMERATE_SERVICE_RESULT;    static const Uint32 REGISTERED_MODULE;    static const Uint32 DEREGISTERED_MODULE;    static const Uint32 FIND_MODULE_IN_SERVICE;    static const Uint32 FIND_MODULE_IN_SERVICE_RESPONSE;    static const Uint32 ASYNC_MODULE_OP_START;    static const Uint32 ASYNC_MODULE_OP_RESULT;};class PEGASUS_COMMON_LINKAGE AsyncMessage : public Message{public:    AsyncMessage(        Uint32 type,        Uint32 destination,        Uint32 mask,        AsyncOpNode* operation);    virtual ~AsyncMessage();    AsyncOpNode* op;};class PEGASUS_COMMON_LINKAGE AsyncRequest : public AsyncMessage{public:    AsyncRequest(        Uint32 type,        Uint32 mask,        AsyncOpNode* operation,        Uint32 destination,        Uint32 response,        Boolean blocking);    virtual ~AsyncRequest();    Uint32 resp;    Boolean block;};class PEGASUS_COMMON_LINKAGE AsyncReply : public AsyncMessage{public:    AsyncReply(        Uint32 type,        Uint32 mask,        AsyncOpNode* operation,        Uint32 resultCode,        Uint32 destination,        Boolean blocking);    virtual ~AsyncReply() { }    Uint32 result;    Boolean block;};class PEGASUS_COMMON_LINKAGE RegisterCimService : public AsyncRequest{public:    RegisterCimService(        AsyncOpNode* operation,        Boolean blocking,        const String& serviceName,        Uint32 serviceCapabilities,        Uint32 serviceMask,        Uint32 serviceQueue);    virtual ~RegisterCimService()    {    }    String name;    Uint32 capabilities;    Uint32 mask;    Uint32 queue;};class PEGASUS_COMMON_LINKAGE DeRegisterCimService : public AsyncRequest{public:    DeRegisterCimService(        AsyncOpNode* operation,        Boolean blocking,        Uint32 serviceQueue);    virtual ~DeRegisterCimService()    {    }    Uint32 queue;};class PEGASUS_COMMON_LINKAGE UpdateCimService : public AsyncRequest{public:    UpdateCimService(        AsyncOpNode* operation,        Boolean blocking,        Uint32 serviceQueue,        Uint32 serviceCapabilities,        Uint32 serviceMask);    virtual ~UpdateCimService()    {    }    Uint32 queue;    Uint32 capabilities;    Uint32 mask;};class PEGASUS_COMMON_LINKAGE RegisteredModule : public AsyncRequest{public:    RegisteredModule(        AsyncOpNode* operation,        Boolean blocking,        Uint32 serviceQueue,        const String& newModule);    virtual ~RegisteredModule()    {    }    String _module;};class PEGASUS_COMMON_LINKAGE DeRegisteredModule : public AsyncRequest{public:    DeRegisteredModule(        AsyncOpNode* operation,        Boolean blocking,        Uint32 serviceQueue,        const String& removedModule);    virtual ~DeRegisteredModule()    {    }    String _module;};class PEGASUS_COMMON_LINKAGE FindModuleInService : public AsyncRequest{public:    FindModuleInService(        AsyncOpNode* operation,        Boolean blocking,        Uint32 responseQueue,        const String& module);    virtual ~FindModuleInService()    {    }    String _module;};class PEGASUS_COMMON_LINKAGE FindModuleInServiceResponse : public AsyncReply{public:    FindModuleInServiceResponse(        AsyncOpNode* operation,        Uint32 resultCode,        Uint32 destination,        Boolean blocking,        Uint32 moduleServiceQueue);    virtual ~FindModuleInServiceResponse()    {    }    Uint32 _module_service_queue;};class PEGASUS_COMMON_LINKAGE AsyncIoctl : public AsyncRequest{public:    AsyncIoctl(        AsyncOpNode* operation,        Uint32 destination,        Uint32 response,        Boolean blocking,        Uint32 code,        Uint32 intParam,        void* pParam);    virtual ~AsyncIoctl()    {    }    enum    {        IO_CLOSE,        IO_OPEN,        IO_SOURCE_QUENCH,        IO_SERVICE_DEFINED,        IO_IDLE_CONTROL    };    Uint32 ctl;    Uint32 intp;    void* voidp;};class PEGASUS_COMMON_LINKAGE CimServiceStart : public AsyncRequest{public:    CimServiceStart(        AsyncOpNode* operation,        Uint32 destination,        Uint32 response,        Boolean blocking);    virtual ~CimServiceStart()    {    }};class PEGASUS_COMMON_LINKAGE CimServiceStop : public AsyncRequest{public:    CimServiceStop(        AsyncOpNode* operation,        Uint32 destination,        Uint32 response,        Boolean blocking);    virtual ~CimServiceStop()    {    }};class PEGASUS_COMMON_LINKAGE CimServicePause : public AsyncRequest{public:    CimServicePause(        AsyncOpNode* operation,        Uint32 destination,        Uint32 response,        Boolean blocking);    virtual ~CimServicePause()    {    }};class PEGASUS_COMMON_LINKAGE CimServiceResume : public AsyncRequest{public:    CimServiceResume(        AsyncOpNode* operation,        Uint32 destination,        Uint32 response,        Boolean blocking);    virtual ~CimServiceResume()    {    }};class PEGASUS_COMMON_LINKAGE CimProvidersStop : public AsyncRequest{public:    CimProvidersStop(        AsyncOpNode* operation,        Uint32 destination,        Uint32 response,        Boolean blocking);    virtual ~CimProvidersStop()    {    }};class PEGASUS_COMMON_LINKAGE AsyncOperationStart : public AsyncRequest{public:    AsyncOperationStart(        AsyncOpNode* operation,        Uint32 destination,        Uint32 response,        Boolean blocking,        Message* action);    virtual ~AsyncOperationStart()    {        delete _act;    }    Message* get_action();private:    friend class MessageQueueService;    friend class cimom;    Message* _act;};class PEGASUS_COMMON_LINKAGE AsyncOperationResult : public AsyncReply{public:    AsyncOperationResult(        AsyncOpNode* operation,        Uint32 resultCode,        Uint32 destination,        Boolean blocking);    virtual ~AsyncOperationResult()    {    }};class PEGASUS_COMMON_LINKAGE AsyncModuleOperationStart : public AsyncRequest{public:    AsyncModuleOperationStart(        AsyncOpNode* operation,        Uint32 destination,        Uint32 response,        Boolean blocking,        const String& targetModule,        Message* action);    virtual ~AsyncModuleOperationStart()    {        delete _act;    }    Message* get_action();private:    friend class MessageQueueService;    friend class cimom;    friend class ModuleController;    String _target_module;    Message* _act;};class PEGASUS_COMMON_LINKAGE AsyncModuleOperationResult : public AsyncReply{public:    AsyncModuleOperationResult(        AsyncOpNode* operation,        Uint32 resultCode,        Uint32 destination,        Boolean blocking,        const String& targetModule,        Message* action);    virtual ~AsyncModuleOperationResult()    {        delete _res;    }    Message* get_result(); private:    friend class MessageQueueService;    friend class cimom;    friend class ModuleController;    String _targetModule;    Message* _res;};class PEGASUS_COMMON_LINKAGE AsyncLegacyOperationStart : public AsyncRequest{public:    AsyncLegacyOperationStart(        AsyncOpNode* operation,        Uint32 destination,        Message* action,        Uint32 actionDestination);    virtual ~AsyncLegacyOperationStart()    {        delete _act;    }    Message* get_action();private:    friend class MessageQueueService;    friend class cimom;    Message* _act;    Uint32 _legacy_destination;};class PEGASUS_COMMON_LINKAGE AsyncLegacyOperationResult : public AsyncReply{public:    AsyncLegacyOperationResult(        AsyncOpNode* operation,        Message* result);    virtual ~AsyncLegacyOperationResult()    {        delete _res;    }    Message* get_result();private:    friend class MessageQueueService;    friend class cimom;    Message* _res;};class PEGASUS_COMMON_LINKAGE FindServiceQueue : public AsyncRequest{public:    FindServiceQueue(        AsyncOpNode* operation,        Uint32 response,        Boolean blocking,        const String& serviceName,        Uint32 serviceCapabilities,        Uint32 serviceMask);    virtual ~FindServiceQueue()    {    }    String name;    Uint32 capabilities;    Uint32 mask;};class PEGASUS_COMMON_LINKAGE FindServiceQueueResult : public AsyncReply{public:    FindServiceQueueResult(        AsyncOpNode* operation,        Uint32 resultCode,        Uint32 destination,        Boolean blocking,        Array<Uint32> queueIds);    virtual ~FindServiceQueueResult()    {    }    Array<Uint32> qids;};class PEGASUS_COMMON_LINKAGE EnumerateService : public AsyncRequest{public:    EnumerateService(        AsyncOpNode* operation,        Uint32 response,        Boolean blocking,        Uint32 queueId);    virtual ~EnumerateService()    {    }    Uint32 qid;};class PEGASUS_COMMON_LINKAGE EnumerateServiceResponse : public AsyncReply{public:    EnumerateServiceResponse(        AsyncOpNode* operation,        Uint32 resultCode,        Uint32 response,        Boolean blocking,        const String& serviceName,        Uint32 serviceCapabilities,        Uint32 serviceMask,        Uint32 serviceQid);    virtual ~EnumerateServiceResponse()    {    }    String name;    Uint32 capabilities;    Uint32 mask;    Uint32 qid;};PEGASUS_NAMESPACE_END#endif // Pegasus_CimomMessage_h

⌨️ 快捷键说明

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