(file) Return to Message.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

Diff for /pegasus/src/Pegasus/Common/Message.h between version 1.93 and 1.98

version 1.93, 2008/01/09 20:29:29 version 1.98, 2008/12/01 17:49:52
Line 1 
Line 1 
 //%2006////////////////////////////////////////////////////////////////////////  //%LICENSE////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development  // Licensed to The Open Group (TOG) under one or more contributor license
 // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.  // agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
 // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;  // this work for additional information regarding copyright ownership.
 // IBM Corp.; EMC Corporation, The Open Group.  // Each contributor licenses this file to you under the OpenPegasus Open
 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;  // Source License; you may not use this file except in compliance with the
 // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.  // License.
 // 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  // Permission is hereby granted, free of charge, to any person obtaining a
 // of this software and associated documentation files (the "Software"), to  // copy of this software and associated documentation files (the "Software"),
 // deal in the Software without restriction, including without limitation the  // to deal in the Software without restriction, including without limitation
 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or  // the rights to use, copy, modify, merge, publish, distribute, sublicense,
 // sell copies of the Software, and to permit persons to whom the Software is  // and/or sell copies of the Software, and to permit persons to whom the
 // furnished to do so, subject to the following conditions:  // Software is furnished to do so, subject to the following conditions:
 // //
 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN  // The above copyright notice and this permission notice shall be included
 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED  // in all copies or substantial portions of the Software.
 // "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.  
 // //
 //==============================================================================  // 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.
   //
   //////////////////////////////////////////////////////////////////////////
 // //
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
Line 40 
Line 38 
 #include <Pegasus/Common/InternalException.h> #include <Pegasus/Common/InternalException.h>
 #include <Pegasus/Common/Linkage.h> #include <Pegasus/Common/Linkage.h>
 #include <Pegasus/Common/CIMOperationType.h> #include <Pegasus/Common/CIMOperationType.h>
 #include <Pegasus/Common/Threads.h>  
 #include <Pegasus/Common/Linkable.h> #include <Pegasus/Common/Linkable.h>
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
Line 156 
Line 153 
  
     CLIENT_EXCEPTION_MESSAGE,     CLIENT_EXCEPTION_MESSAGE,
  
     ASYNC_REGISTER_CIM_SERVICE,      ASYNC_IOCLOSE,
     ASYNC_DEREGISTER_CIM_SERVICE,      ASYNC_CIMSERVICE_START,
     ASYNC_UPDATE_CIM_SERVICE,  
     ASYNC_IOCTL,  
     ASYNC_CIMSERVICE_START,  // 80  
     ASYNC_CIMSERVICE_STOP,     ASYNC_CIMSERVICE_STOP,
     ASYNC_CIMSERVICE_PAUSE,  
     ASYNC_CIMSERVICE_RESUME,  
  
     ASYNC_ASYNC_OP_START,     ASYNC_ASYNC_OP_START,
     ASYNC_ASYNC_OP_RESULT,      ASYNC_ASYNC_OP_RESULT, // 80
     ASYNC_ASYNC_LEGACY_OP_START,     ASYNC_ASYNC_LEGACY_OP_START,
     ASYNC_ASYNC_LEGACY_OP_RESULT,     ASYNC_ASYNC_LEGACY_OP_RESULT,
  
     ASYNC_FIND_SERVICE_Q,  
     ASYNC_FIND_SERVICE_Q_RESULT,  
     ASYNC_ENUMERATE_SERVICE,  // 90  
     ASYNC_ENUMERATE_SERVICE_RESULT,  
   
     ASYNC_REGISTERED_MODULE,  
     ASYNC_DEREGISTERED_MODULE,  
     ASYNC_FIND_MODULE_IN_SERVICE,  
     ASYNC_FIND_MODULE_IN_SERVICE_RESPONSE,  
   
     ASYNC_ASYNC_MODULE_OP_START,     ASYNC_ASYNC_MODULE_OP_START,
     ASYNC_ASYNC_MODULE_OP_RESULT,     ASYNC_ASYNC_MODULE_OP_RESULT,
  
     CIM_NOTIFY_PROVIDER_ENABLE_REQUEST_MESSAGE,     CIM_NOTIFY_PROVIDER_ENABLE_REQUEST_MESSAGE,
     CIM_NOTIFY_PROVIDER_ENABLE_RESPONSE_MESSAGE,     CIM_NOTIFY_PROVIDER_ENABLE_RESPONSE_MESSAGE,
  
     CIM_NOTIFY_PROVIDER_FAIL_REQUEST_MESSAGE,  // 100      CIM_NOTIFY_PROVIDER_FAIL_REQUEST_MESSAGE,
     CIM_NOTIFY_PROVIDER_FAIL_RESPONSE_MESSAGE,     CIM_NOTIFY_PROVIDER_FAIL_RESPONSE_MESSAGE,
  
     CIM_INITIALIZE_PROVIDER_AGENT_REQUEST_MESSAGE,     CIM_INITIALIZE_PROVIDER_AGENT_REQUEST_MESSAGE,
     CIM_INITIALIZE_PROVIDER_AGENT_RESPONSE_MESSAGE,      CIM_INITIALIZE_PROVIDER_AGENT_RESPONSE_MESSAGE, // 90
  
     CIM_NOTIFY_CONFIG_CHANGE_REQUEST_MESSAGE,     CIM_NOTIFY_CONFIG_CHANGE_REQUEST_MESSAGE,
     CIM_NOTIFY_CONFIG_CHANGE_RESPONSE_MESSAGE,     CIM_NOTIFY_CONFIG_CHANGE_RESPONSE_MESSAGE,
Line 219 
Line 201 
         Uint32 destination = 0,         Uint32 destination = 0,
         Uint32 mask = 0)         Uint32 mask = 0)
         :         :
           dest(destination),
         _type(type),         _type(type),
         _mask(mask),         _mask(mask),
         _httpMethod (HTTP_METHOD__POST),         _httpMethod (HTTP_METHOD__POST),
         _close_connect(false),          _httpCloseConnect(false),
         _last_thread_id(Threads::self()),  
         _async(0),  
         dest(destination),  
         _isComplete(true),         _isComplete(true),
         _index(0)          _index(0),
           _async(0)
     {     {
     }     }
  
Line 236 
Line 217 
     // NOTE: The compiler default implementation of the copy constructor     // NOTE: The compiler default implementation of the copy constructor
     // is used for this class.     // is used for this class.
  
     Boolean getCloseConnect() const { return _close_connect; }      Boolean getCloseConnect() const { return _httpCloseConnect; }
     void setCloseConnect(Boolean close_connect)      void setCloseConnect(Boolean httpCloseConnect)
     {     {
         _close_connect = close_connect;          _httpCloseConnect = httpCloseConnect;
     }     }
  
     MessageType getType() const { return _type; }     MessageType getType() const { return _type; }
  
     void setType(MessageType type) { _type = type; }  
   
     Uint32 getMask() const { return _mask; }     Uint32 getMask() const { return _mask; }
  
     void setMask(Uint32 mask) { _mask = mask; }     void setMask(Uint32 mask) { _mask = mask; }
Line 274 
Line 253 
         _async = msg;         _async = msg;
     }     }
  
     // << Tue Jul  1 11:02:49 2003 mdd >> pep_88 and helper for i18n and l10n  
     Boolean thread_changed()  
     {  
         if (!Threads::equal(_last_thread_id, Threads::self()))  
         {  
             _last_thread_id = Threads::self();  
             return true;  
         }  
   
         return false;  
     }  
   
     // set the message index indicating what piece (or sequence) this is     // set the message index indicating what piece (or sequence) this is
     // message indexes start at zero     // message indexes start at zero
     void setIndex(Uint32 index) { _index = index; }     void setIndex(Uint32 index) { _index = index; }
  
     // increment the message index  
     void incrementIndex() { _index++; }  
   
     // set the complete flag indicating if this message piece is the  
     // last or not  
     void setComplete(Boolean isComplete)  
     {  
         _isComplete = isComplete ? true:false;  
     }  
   
     // get the message index (or sequence number)     // get the message index (or sequence number)
     Uint32 getIndex() const { return _index; }     Uint32 getIndex() const { return _index; }
  
     // is this the first piece of the message ?     // is this the first piece of the message ?
     Boolean isFirst() const { return _index == 0 ? true : false; }      Boolean isFirst() const { return _index == 0; }
   
       // set the complete flag indicating whether this message piece is the last
       void setComplete(Boolean isComplete)
       {
           _isComplete = isComplete;
       }
  
     // is this message complete? (i.e the last in a one or more sequence)     // is this message complete? (i.e the last in a one or more sequence)
     Boolean isComplete() const { return _isComplete; }     Boolean isComplete() const { return _isComplete; }
  
 private:  
     MessageType _type;  
     Uint32 _mask;  
     HttpMethod _httpMethod;  
   
     Boolean _close_connect;  
   
     // << Tue Jul  1 11:02:35 2003 mdd >> pep_88 and helper for i18n and l10n  
     ThreadType _last_thread_id;  
   
     Message* _async;  
   
 public:  
     Uint32 dest;     Uint32 dest;
  
 private: private:
   
     Message& operator=(const Message& msg);     Message& operator=(const Message& msg);
  
       MessageType _type;
       Uint32 _mask;
   
       HttpMethod _httpMethod;
       Boolean _httpCloseConnect;
   
     Boolean _isComplete;     Boolean _isComplete;
     Uint32 _index;     Uint32 _index;
   
       Message* _async;
 }; };
  
  
Line 401 
Line 360 
     /** Make a copy of this stack and then pop the top element. */     /** Make a copy of this stack and then pop the top element. */
     QueueIdStack copyAndPop() const;     QueueIdStack copyAndPop() const;
  
       Uint32 operator[](Uint32 i) const { return _items[i]; }
   
 private: private:
  
     // Copy the given stack but then pop the top element:     // Copy the given stack but then pop the top element:


Legend:
Removed from v.1.93  
changed lines
  Added in v.1.98

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2