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

Diff for /pegasus/src/Pegasus/Common/MessageQueue.cpp between version 1.54 and 1.63

version 1.54, 2006/11/10 18:14:58 version 1.63, 2010/07/02 09:26:31
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.  // Permission is hereby granted, free of charge, to any person obtaining a
 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;  // copy of this software and associated documentation files (the "Software"),
 // EMC Corporation; Symantec Corporation; The Open Group.  // to deal in the Software without restriction, including without limitation
 //  // the rights to use, copy, modify, merge, publish, distribute, sublicense,
 // Permission is hereby granted, free of charge, to any person obtaining a copy  // and/or sell copies of the Software, and to permit persons to whom the
 // of this software and associated documentation files (the "Software"), to  // Software is furnished to do so, subject to the following conditions:
 // deal in the Software without restriction, including without limitation the  //
 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or  // The above copyright notice and this permission notice shall be included
 // sell copies of the Software, and to permit persons to whom the Software is  // in all copies or substantial portions of the Software.
 // furnished to do so, subject to the following conditions:  //
 //  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN  // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED  // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT  // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR  // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT  // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN  // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 // 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 47 
Line 45 
 static QueueTable _queueTable(256); static QueueTable _queueTable(256);
 static Mutex q_table_mut ; static Mutex q_table_mut ;
  
 static IDFactory _qidFactory(CIMOM_Q_ID + 1);  static IDFactory _qidFactory;
  
 Uint32 MessageQueue::getNextQueueId() Uint32 MessageQueue::getNextQueueId()
 { {
Line 56 
Line 54 
  
 void MessageQueue::putQueueId(Uint32 queueId) void MessageQueue::putQueueId(Uint32 queueId)
 { {
     if (queueId != CIMOM_Q_ID)  
         _qidFactory.putID(queueId);         _qidFactory.putID(queueId);
 } }
  
 MessageQueue::MessageQueue(  MessageQueue::MessageQueue(const char* name)
     const char* name,     : _queueId(getNextQueueId())
     Boolean async,  
     Uint32 queueId)  
    : _queueId(queueId), _capabilities(0), _async(async)  
 { {
     //     //
     // Copy the name:     // Copy the name:
Line 78 
Line 72 
     _name = new char[strlen(name) + 1];     _name = new char[strlen(name) + 1];
     strcpy(_name, name);     strcpy(_name, name);
  
     Tracer::trace(TRC_MESSAGEQUEUESERVICE, Tracer::LEVEL3,      PEG_TRACE((TRC_MESSAGEQUEUESERVICE, Tracer::LEVEL3,
         "MessageQueue::MessageQueue  name = %s, queueId = %u", name, queueId);          "MessageQueue::MessageQueue  name = %s, queueId = %u", name, _queueId));
  
     //     //
     // Insert into queue table:     // Insert into queue table:
Line 95 
Line 89 
 { {
     // ATTN-A: thread safety!     // ATTN-A: thread safety!
     PEG_METHOD_ENTER(TRC_MESSAGEQUEUESERVICE,"MessageQueue::~MessageQueue()");     PEG_METHOD_ENTER(TRC_MESSAGEQUEUESERVICE,"MessageQueue::~MessageQueue()");
     Tracer::trace(TRC_MESSAGEQUEUESERVICE, Tracer::LEVEL3,      PEG_TRACE((TRC_MESSAGEQUEUESERVICE, Tracer::LEVEL3,
         "MessageQueue::~MessageQueue queueId = %i, name = %s", _queueId, _name);          "MessageQueue::~MessageQueue queueId = %i, name = %s",
           _queueId,
           _name));
  
     {     {
         AutoMutex autoMut(q_table_mut);         AutoMutex autoMut(q_table_mut);
Line 120 
Line 116 
  
     PEGASUS_ASSERT(message != 0);     PEGASUS_ASSERT(message != 0);
  
     PEG_TRACE_STRING(TRC_MESSAGEQUEUESERVICE, Tracer::LEVEL3,      PEG_TRACE((TRC_MESSAGEQUEUESERVICE, Tracer::LEVEL3,
         String("Queue name: ") + getQueueName());          "Queue name: [%s], Message: [%s]",
     Tracer::trace(TRC_MESSAGEQUEUESERVICE, Tracer::LEVEL3,          getQueueName(),
         "Message: [%s]",          MessageTypeToString(message->getType())));
         MessageTypeToString(message->getType()));  
  
     _messageList.insert_back(message);     _messageList.insert_back(message);
  
Line 142 
Line 137 
     return message;     return message;
 } }
  
   Boolean MessageQueue::isActive()
   {
       return true;
   }
   
 const char* MessageQueue::getQueueName() const const char* MessageQueue::getQueueName() const
 { {
     return _name;     return _name;
Line 160 
Line 160 
  
     // Not found!     // Not found!
  
     Tracer::trace(TRC_MESSAGEQUEUESERVICE, Tracer::LEVEL3,      PEG_TRACE((TRC_MESSAGEQUEUESERVICE, Tracer::LEVEL1,
         "MessageQueue::lookup failure queueId = %u", queueId);          "MessageQueue::lookup failure queueId = %u", queueId));
  
     return 0;     return 0;
 } }
Line 183 
Line 183 
         }         }
     }     }
  
     Tracer::trace(TRC_MESSAGEQUEUESERVICE, Tracer::LEVEL3,      PEG_TRACE((TRC_MESSAGEQUEUESERVICE, Tracer::LEVEL1,
         "MessageQueue::lookup failure - name = %s", name);          "MessageQueue::lookup failure - name = %s", name));
  
     return 0;     return 0;
 } }


Legend:
Removed from v.1.54  
changed lines
  Added in v.1.63

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2