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

Diff for /pegasus/src/Pegasus/Common/CIMObjectPath.cpp between version 1.71 and 1.74

version 1.71, 2008/10/01 04:46:16 version 1.74, 2008/12/02 09:00:43
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 42 
Line 40 
 #include "ArrayInternal.h" #include "ArrayInternal.h"
 #include "HostLocator.h" #include "HostLocator.h"
 #include "System.h" #include "System.h"
   #include "CIMKeyBindingRep.h"
   #include "CIMObjectPathRep.h"
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
Line 138 
Line 138 
 // //
 //////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
  
 class CIMKeyBindingRep  
 {  
 public:  
     CIMKeyBindingRep()  
     {  
     }  
   
     CIMKeyBindingRep(const CIMKeyBindingRep& x)  
         : _name(x._name), _value(x._value), _type(x._type)  
     {  
     }  
   
     CIMKeyBindingRep(  
         const CIMName& name,  
         const String& value,  
         CIMKeyBinding::Type type)  
         : _name(name), _value(value), _type(type)  
     {  
     }  
   
     ~CIMKeyBindingRep()  
     {  
     }  
   
     CIMKeyBindingRep& operator=(const CIMKeyBindingRep& x)  
     {  
         if (&x != this)  
         {  
             _name = x._name;  
             _value = x._value;  
             _type = x._type;  
         }  
         return *this;  
     }  
   
     CIMName _name;  
     String _value;  
     CIMKeyBinding::Type _type;  
 };  
   
   
 CIMKeyBinding::CIMKeyBinding() CIMKeyBinding::CIMKeyBinding()
 { {
     _rep = new CIMKeyBindingRep();     _rep = new CIMKeyBindingRep();
Line 404 
Line 363 
 // //
 //////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
  
 class CIMObjectPathRep  
 {  
 public:  
     CIMObjectPathRep(): _refCounter(1)  
     {  
     }  
   
     CIMObjectPathRep(const CIMObjectPathRep& x)  
         : _refCounter(1), _host(x._host), _nameSpace(x._nameSpace),  
         _className(x._className), _keyBindings(x._keyBindings)  
     {  
     }  
   
     CIMObjectPathRep(  
         const String& host,  
         const CIMNamespaceName& nameSpace,  
         const CIMName& className,  
         const Array<CIMKeyBinding>& keyBindings)  
         : _refCounter(1), _host(host), _nameSpace(nameSpace),  
         _className(className), _keyBindings(keyBindings)  
     {  
     }  
   
     ~CIMObjectPathRep()  
     {  
     }  
   
     CIMObjectPathRep& operator=(const CIMObjectPathRep& x)  
     {  
         if (&x != this)  
         {  
             _host = x._host;  
             _nameSpace = x._nameSpace;  
             _className = x._className;  
             _keyBindings = x._keyBindings;  
         }  
         return *this;  
     }  
   
     static Boolean isValidHostname(const String& hostname)  
     {  
         HostLocator addr(hostname);  
   
         return addr.isValid();  
     }  
   
     // reference counter as member to avoid  
     // virtual function resolution overhead  
     AtomicInt _refCounter;  
     //  
     // Contains port as well (e.g., myhost:1234).  
     //  
     String _host;  
   
     CIMNamespaceName _nameSpace;  
     CIMName _className;  
     Array<CIMKeyBinding> _keyBindings;  
 };  
   
 template<class REP> template<class REP>
 inline void Ref(REP* rep) inline void Ref(REP* rep)
 { {


Legend:
Removed from v.1.71  
changed lines
  Added in v.1.74

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2